I’ve had an interesting career so far. I moved out west from Ontario to “find myself” as they say. I’d never even been to Vancouver, but moving here seemed like a good idea. That was 12 years ago. Once I arrived, I started out in Quality Assurance and ended up finding myself, and my passion, as a software developer. It was a good feeling to find something that I both enjoyed and paid the bills. I moved up from QA to design and production, but with no college or university under my belt, I would often be lost in tech meetings. So I went to post-secondary school and took programming courses at BCIT. I bounced around, did some more design, production, web stuff, freelancing, as well as a few start-ups. After a few years of this, I decided to fully pursue programming as my career path. I was very picky about where I applied.
With so much volatility in the industry, I decided 2 things:
1) I would not do another start up. They are a great experience, and you get to wear many hats… so many hats. But they are high risk, high workload and responsibility with little or no pay. More often than not, they are also short-lived. So, although invaluable to my growth, there comes a point where you need to pay those bills that have been piling up in the corner.
2) I would choose a company where I would be challenged and could grow. I needed experience on my resume. I never had just a programming position. I’ve been out of school about four years but did not really grow my skills as a programmer much since. Like any language, if you don’t use it, you lose it. And given my aforementioned start-up experience, while I had done some programming, it was never my only responsibility. I realized I would never get better at being a programmer unless I spent more time doing it.
Enter my application with ActiveState. A friend and fellow BCIT alum had spoken highly of working there and mentioned they were hiring. Established in 1997, with a proven track record of success and creating tools for developers. Programming for programmers. You don’t get more embedded than that. I was very excited when I received my offer and was very happy to be back in an office environment. It had been so long I forgot how good office chairs are nowadays.
I came in my first day, all wide-eyed and excited. My first day, I felt so welcome. Everyone was so kind and you could see how much people enjoyed working here. No fake smiles. No rain clouds following anyone around. I spent most of the day setting up my workstation and my computer, filling out employee forms, making sure I had the right tools, permissions, accounts, all the standard stuff. A lot of information to absorb, but no surprise there. I went home with a skip in my step.
Day two was Apache. Setting up development environments, repository connections, and the like. Learned that virtualbox does not talk to Windows as well as I needed it to. (Fun fact, auto mounting shared folders to a VM makes them protected and you can’t write to them. You also can’t change their permissions manually because of Windows.) Brushing up on my bash commands: Sudo do what I say.
Enter day three. Big meeting to discuss what is next on the plate for my team. I probably had no business in that meeting, but it was important I was there. Afterwards, I was given my real first task (with tracking and all!). It was an extremely basic script. I also didn’t really have to write it myself. Similar scripts had been created in the past. But a good starting point to get into the workflow and to test to see if I had all the tools I needed. Well turns out, I didn’t have Python setup as I needed. So when I went to run my script… errors. MySQL not found? It’s there, but it’s just not talking to Python. After spending some time “Google-lizing”, trying to get them to talk to each other, I found a post on StackOverflow about using something they call “ActivePython” to get around this problem quickly and easily. ActivePython? Sounds neat right? Well seeing as I was working at ActiveState, it’s only appropriate my first issue be resolved by our own product. I installed ActivePython and ran a single pypm command:
Literally 5 seconds later, everything worked. No fiddling with my registry to make MySQL see my Python install. No fuss, no muss. It just worked. My first task completed with ActiveState software. This may sound bias, but it’s what happened. I laughed and went home. A successful day.
Day four: More server configurations! Hello again, Apache. Setting up my local server to run everything and create myself a development environment. When I type it out like that it seems so simple. Allow from all? Sure why not. Open all permissions? Yup! It’s a dev environment, right? What could go wrong? Famous last words…
I close my week off with my second bug fixed, checked in and committed. This was followed by a nice lunch with the team. As of writing this blog, I’m off to meet with Bart to recap my week. I’ve been very welcomed here and I’m very much looking forward to future weeks. I’m happy to be onboard.
ActiveState is hiring! Check out the career opportunities available.