Last week, I asked the CEO of a startup company in Toronto, “How do you define a software engineer?”.
She replied, “Someone who makes sh*t work”;
This used to be all you needed. If your online web app starts to crash, hire a software engineer to fix the problem.
If your app needs a new feature, hire a software engineer to build it (AKA weave together lines of code to make sh*t work).
We need to stop referring to an engineer as an ‘engineer’. CEOs of startups need to stop saying ‘we need more engineers’.
The modern day ‘engineer’ cannot simply be an engineer. They need to be a renaissance person; a person who is well versed in multiple aspects of life.
Your job as a software engineer cannot be to simply ‘write code’. That’s like saying a Canadian lawyer’s job is to speak English.
English and code are means of doing the real job: Produce value that society wants.
So, to start pumping out code to produce a new feature simply because it’s on the ‘new features list’ is mindless. You can’t treat code as a means itself.
The modern day engineer (MDE) needs to understand the modern day world. The MDE cannot simply sit in a room alone and write code.
The MDE needs to understand the social and business consequences of creating and releasing a product.
The MDE cannot leave it up to the CEOs and marketers and business buffs to come up with the ‘why’ for a new product.
Everyone should be involved in the ‘why’, as long they are in the ‘now’.
New frameworks that emphasis less code and more productivity are being released every day, almost.
We are slowly moving towards a future where writing code will be so easy that it would be unimpressive to be someone who only writes code.
Consequently, code becomes a language that can be spoken by all. So, to write good code, you need to be more than an ‘engineer’. You need to be a renaissance person and a person who understands the wishes, wants, emotions and needs of the modern day world.
Today (October 22nd, 2015), I was at a TD Canada Trust networking event designed for ‘tech professionals’ in Waterloo ON, Canada. The purpose of this event was to demo new ‘tech’ (the word has so many meanings nowadays) products to young students and professionals. The banking industry is in the process of a full makeover, if you didn’t know. One of the TD guys, let’s call him Julio, was telling me a little summary of what TD was (and is) trying to do with its recruitment process.
Let me give you the gist of what he said:
“We have business professionals (business analysts, etc) whose job is to understand the 5 W’s of the product. Also, we have engineers/developers/programmers who just write code. What we are now looking for is someone who can engage with others as well as do the technical stuff.”
His words were wise, but I was not sure if he fully understood the implications of what he was talking about. This is the direction we have been heading for quite some time now, but it’s about time we kick things up a notch.
Expect more of this to come.
Expect hybrid roles.
Expect it become easier and easier to write code.
Expect to be valued for your social awareness paired with your ability to make sh*t work.
Perhaps software tech is at the beginning of a new Renaissance era.