Archive for the ‘Miscellaneous’ Category

Why I don’t plan on becoming a “real” software engineer

Posted on February 5th, 2011 in Miscellaneous | 2 Comments »

In Canada, to be considered a software engineer, one has to do a bit more than simply getting a baccalaureate (a.k.a. an undergraduate degree). First of all, a graduate has to acquire engineering experience; another engineer has to be able to attest of your experience so you don’t work with other engineers, good luck. Then you have to study a bunch of laws about ethics. From what I heard, the test goes beyond common sense and requires the aspiring engineers to learn a lot by heart. Finally, plenty of fees have to be paid, including a yearly recurring fee of a over two hundred dollars.

Alright you say, this isn’t much different than most professional organizations, and you get to be a “real” engineer, that has to mean something, right?

What is an engineer

In Canada, most of the engineering jobs require the professionals to be part of the organization that is the Ordre des  ingénieurs du Québec, otherwise they can’t actually work. Being part of the organization means that the engineer has done the above tasks, is experienced and most likely competent. For example, only an engineer can approve plans for building various structures, this is called an “acte réservé” or an exclusive act. For sure, if one wants to do work that requires oneself to perform one of these reserved acts, doing what it takes to become an official engineer is a no brainer.

Being an engineer also has a couple of benefits, it can give you access to better deals at banks or a better cellphone plan, better insurance rates because being an engineer means that you probably have a relatively good income (good for paying debts) and that you probably have a good (or decent) head on your shoulder which means you take less risk than the general population, hence the lower insurance rates. There are quite a bit of other advantages to being part of the organization, but I won’t list them all here.

What about a software engineer

So why won’t I become a “real” engineer? Because there are simply no benefits for me. Most importantly, software engineers have no “reserved acts” (yet) which means I can work anywhere I want anyway. Secondly, I can already have access to all the benefits because I’m still part of the organization, simply not as a full-fledged engineer and most (all?) of the companies acknowledge my status as equivalent to being an engineer (better insurance rates, deals at hotels, etc.).

Another new issue that came up is that engineers will now be required to do a minimum of continuous education every year. I’m not saying that’s a bad idea, quite the contrary, but in my case, I already stay up-to-date on my own and since I’m not doing it through one of the official channels, that wouldn’t even count as continuous education.

Also, as I said earlier, it costs over two hundred dollars per year to be known as an engineer.

So, as long as there is no benefit to becoming a “real” engineer, I’ll remain a baccalaureate in software engineering.

I’m a web developer

Posted on March 22nd, 2010 in Miscellaneous | No Comments »

In my last post, I talked about how I was not a programmer. Since that post, I thought about what I really was and looked around to see what would best describe what I do at work. Luckily for me, someone tried to figure out the difference between a computer scientist, a programmer and a developer. I thought his definitions for the programmer and the developer were pretty accurate. Also, the developer definition was much more fitting for me.

They write code. Making it well-factored and clean is important, but other factors often take priority. Math skills are very much optional, but it does help to be aware of common problems and solutions related to the domain they are in. Communication and people skills are paramount. Process and team dynamics are bread and butter skills. They are consummate generalists without any truly deep specializations. They are expert at finding ways around problems and plugging components together to fulfill a set of requirements. In their personal time they are either trying to build the next Facebook, or engage in activities that have nothing to do with programming, developing, or computer science.

That’s pretty much dead on. I’m always thinking about useful new apps, tools, projects that would first and foremost benefit me, but that could probably be useful to a large group of people. I love working in a team where I can help others with my knowledge (and learn from them too).

Since I build web application, I can say that I am a web developer (with a specialization in front-end web development).

What about software engineers?

The post explaining the difference between different programing professions was lacking the software engineer definition, so I’ll take a stab at it.

A software engineer is part developer and part manager. He is taught the ways of programming without ever digging in deep enough to be considered an expert. The software engineer is also taught multiple software development processes which he can then adapt to the situation. He also knows the basics to managing projects which makes him a great candidate for future management positions after he has had first hand experience with software development. A software engineer is a manager in the making.

I am not a programmer

Posted on January 27th, 2010 in Miscellaneous | No Comments »

My job is to program web applications. To accomplish this, I have to do a lot of things: code the back-end, write the markup, tweak the SQL queries, arrange the styling, etc. Programming is a huge part of my work, but the thing is that I don’t feel like a programmer. I’m also pretty good at doing all of the above, I’d rate myself a 8 or 9 on 10 (where 10 is a guru) at all the skills I just listed.

The actual act of programming is not the reason why I program, I do it for the results. That probably explains why I prefer to use high level languages that abstract most of the boring parts of programming and let me get from the idea to the implementation as fast as possible.

I don’t exactly know what I really am if I’m not a programmer. I really like creating web applications, thinking of new features or new projects that I could do, but I never look forward to actually coding it. I like playing with the markup, the styling and the client-side behavior (the whole front-end), but I hate programming what’s under the hood.

Any other programmers out there feeling that they are programming out of necessity instead of passion?