Wii Friend Number Facebook App - Get it today!

In about another month, it will have been one year since I’ve worked as a web developer for Critical Mass. Although the ride has definitely been fun, I have chose to put on the brakes and go back to school in the Fall.

Critical Mass Reception

Along with recent events, I thought it would be fun to reminisce what it was like to make the jump from an amateur freelance developer and work for a leading company in the industry.

The Interview

Last summer, I was forced to take a break from school due to some poor grades. It was a bit of a depressing time for me, but I thought I would try finding a job for the summer. I browsed through some job listings online and saw an opening for a web developer at Critical Mass. I heard of this company before through Bram and decided to go for it. I felt I stood a chance and was later called up and had a mini-interview…which actually didn’t go so well. I was asked questions such as, “Do you know javascript?” and I responded with a shameful “No.”

Despite the mini-interview over the phone, I was granted a formal interview from Jonathan and Geoff. It was an interesting interview where I was put on the spotlight with some very technical questions but apparently I managed to push through and was granted the job. It was a very satisfying feeling being granted a job with this company that had such high profile clients, but that was only the beginning.

Learning the Ropes

The first few days, I went through an orientation process and went on a tour through the Calgary office. It was beyond my expectations; I can’t believe I got to work in an office which had it’s own massage parlor, hair salon, games room (technically there are two), and bistro!

Once the orientation was over, it took a while to get started on working on stuff for a client, but once it did, it got intense.

Although I often got lost in the beginning (both around the office and in my work), the great thing about working at Critical Mass was that everyone around you was knowledgeable and willing to lend a helping hand. It became really important to ask around for help because I was thrown into a process which was very foreign to me. I was fortunate to sit near Ryan who acted as a very good mentor for the process which I had to follow.

The Days of FTP Upon Completion of Work Is Over

Back in the day when I finished updates to a page, I’d upload the changes to the server and be done with it. Not so in a big company where multiple developers can be working on different updates at any given time. It was here, I was introduced to Code Management and Quality Assurance.

Based on what I’ve heard, most other web developers at the company follow a similar process where there are three levels we must pass before our code changes are actually reflected on live. In ideal situation, it would work like so:

  1. Developer performs requested change, tests it and ensures that it works, commits change to code repository, prepares a bill of materials to submit to a release engineer who will send it to the next level (LEVEL 1 complete)
  2. Release engineer, sends it to a local testing environment where a quality assurance specialist will test the developer’s new code and ensures that the changes work as expected (LEVEL 2 complete)
  3. Once LEVEL 2 passes, the release engineer sends it to another testing environment which is supposed to mimic the live server as best as possible. The quality assurance specialist will test it once again (LEVEL 3 complete)
  4. The final step will be for the release engineer to publish the changes on the live server and have the quality assurance specialist test it one last time to verify the changes are working as expected (PROCESS COMPLETE)

If you’re used to just publishing your changes right away to the live server once you’re finished, you can see how a process like the one outlined above can add complexity. However, it makes a lot of sense when working on a development team and is supposed to catch any mistakes resulting in the best quality possible. This process, although meticulous, is something that will stick with me for as long as I develop and I appreciate that I worked at a large company to learn it.

Performing To Your Potential And Pushing The Envelope

I’ve been known primarily as a front-end developer prior to working at Critical Mass, but I soon learned that it wasn’t enough. On the particular account (refers to a client-based team) that I worked for, the only developers assigned on it ended up being me with another web developer. Fortunately the other web developer, Michael, had a lot of experience with programming so it was only a matter of weeks before I started working to expectations where some back-end stuff needed to be programmed.

Looking back, it’s pretty amazing how much I’ve learned in the span of a year while working there:

  • Javascript
  • ASP / VBScript
  • SQL
  • OO Programming
  • XSL
  • How keep your web applications secure

I was just a tiny bit familiar in javascript and OO programming before working at Critical Mass, but the great thing about working there was that now I had the ability to apply it in real world applications. Especially with OO programming, it’s not necessary…but it’s good practice and you learn that it’s benefits (especially with code management) end up making your life easier.

The workplace is also a thriving development environment. When a lot of brilliant minds are working together, I got to see a lot of innovation up close (both for work and non-work related projects) and along with the Beercamps run every first Friday, Critical Mass has been one of the best learning environments I’ve had the privilege of working in.

The Work Can Be Difficult But…

It’s a fact that in this industry that “emergency” deadlines can suddenly be imposed and then you find yourself working a string of late nights any given week. Usually I’ve found that the project managers I’ve been with were pretty good at preventing that stuff from happening…but it does happen. Fortunately, Critical Mass throws some of the most insane parties I’ve ever experienced. Take a look at the photos below from the last Summer Event – I went to this party during the first week of the job. I didn’t realize that a strong liver was a job requirement :)

I’m A Freelancer, Should I Try Working For A Company?

If you’re a freelancer and haven’t experienced working at a large company, I highly recommend that you give it a try. The biggest thing you can gain is the amount of knowledge you learn from such an environment. As I’ve mentioned, it’s pretty amazing looking back on all I’ve learnt since working there since you’re placed in a slew of different types of projects and situations. It also goes hand in hand that when you work with talented co-workers, you’re going to add some awesome people to your network :)


Possibly Related


4 Comments so far... perhaps you would like to leave one?

  • Bram says:

    Way to go Sammy! Thanks for sharing that insight bud. Drop me a line sometime, let me know what route of studies you’re jumping in to (I’m hoping/assuming you’re sticking to our industry). Have a great summer!

  • Torin says:

    Great post Sam. You forgot to mention your iPhone application work in Safari.

  • Sam Lu says:

    I did forget to mention that didn’t I Torin? It’s unfortunate we didn’t get more opportunities to do those type of outside-work projects, they were really fun and allowed for exploration of new technology.

  • What a great post Sammy!

    You know, I couldn’t agree more with the whole sentiment here, and those lifecycle stages that you’re describing.

    Great post, and great luck to you!

Leave a Comment

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>