“Why am I doing this?” is the question that has been hogging my brain’s CPU cycles.
Of course, I could answer the obvious and point to one incident in particular… you know, words exchanged between tired and frustrated colleagues.
But that’s not quite it. No developer, team or company is perfect, nor can we demand them to be. And these “incidents” are most often forgotten as quickly as they happened.
So, was the work unsatisfactory? I wouldn’t say so. The projects I got to work on were actually pretty interesting, and I ended up learning quite a bit there.
A management problem then? Not really: from what I could see my Manager has been patient and understanding with all of us, while maintaining a global, coherent direction for the department.
It certainly wasn’t a financial matter either: the company treated me well and was paying more than fairly for my efforts.
Nah… I guess I reached that moment where one looks back on what he/she has achieved so far, and wonders what’s the plan for the next thirty years.
It’s that midlife crisis thing…
Midlife crisis or not, as a developer you will most likely reach a point where you’ve been doing it for a while and you ponder your next options. Just earning money is not good enough anymore: you need that extra motivation to keep on going until you retire.
- You could decide that you have written enough code and move up, become a lead/manager. Why not? Teams need leaders, managers, Scrum Masters, etc. It’s not as easy as it sounds and you’ll have to handle more than you think, but it remains an essential part of the business!
- You could seize the opportunity and become a freelance consultant, traveling around and solving problems whenever companies turn on that Bat-Signal to call for help.
- Or go one step further and start your own agency, taking on bigger projects as you go, aiming at becoming that one-stop shop that can bring fully-tailored solutions to companies.
- Why not completely change jobs? I’ve known of one CEO who sold his small IT business and started a food truck business instead. Why not: he looked happy enough!
I’ve also seen people just give up and stay for the money. I don’t blame them: everyone needs to pay their bills!
Putting your passion forward
I’ve decided to spend the next three months finishing my side project and try to build a startup from it.
It’s called Seeld.
It started as a side project I’ve been working on during my weekends with my ex-colleague and best friend Emad.
It’s our own attempt at solving the problem of privacy and security with messaging systems.
We have almost completed our MVP. We actually went a bit further than MVP features, just because we enjoyed it.
Enjoying it!
Emad and I are fascinated and worried by the privacy issues we face everyday as users on the web.
We spend our free time reading articles and blog posts about privacy, security, zero-day vulnerabilities, etc.
We look at the technical angle: what is CORS, what is CSRF, how to protect a web application from attacks, are cookie-based sessions still okay or shall we move to JSON web tokens, what’s new in the encryption domain…
We also look at the social angle: what are the consequences of data leaking, how is the users’ data exploited, what is the law’s perspective on it, how do counter-intelligence organizations react to it, what is the political impact of breaches and privacy violations…
Whether the solution we’re trying to bring with Seeld is naive or not, we enjoy working on solving that problem! And that’s all the motivation I need!
Quality matters
Also worth pointing out: working on our code base has been a real pleasure.
You see, we have applied all those great practices we were dying to put into action: remaining agile in our planning and in our development approach, behavior-drive or test-drive the code, spend time refactoring or rewriting to constantly improve the code’s maintainability and reusability, etc.
By following these principles we have… actually we have been amazingly productive! And that made us happy!
New features have been developed and implemented in no time. Major technical changes have been handled with confidence and without fearing of breaking something in the process. All this was accomplished on our free time, sometimes during our train commutes (and believe me: “free time” is a rare commodity when you are the father of three daughters)!
Is this kind of work possible in an enterprise? I used to believe it was possible, but changing an enterprise’s IT culture is a hard and long process which I have (so far) never been able to witness.
So… what’s my point?
My point is this: some simply consider themselves lucky enough to be paid to write code. It’s true: it IS great to be paid to write code!
On the other hand many developers will, at some point, crave for something more.
That craving will either force them to explore a different role (as a leader, as a manager, as the CEO of their own company) or have them search for situations where their skills have more value and purpose, where they feel they can make a difference.
The developer’s midlife crisis: what’s the purpose of all this code I write?
Seeld gives me purpose.
How about you: what is your source of motivation after all these years? Is it Open Source, or maybe a side project you work on? Don’t be shy and let me know in the comments here below.
Cheers!