From the age of 11 one thing that was absolutely certain to me was that I was going to be a programmer. That was the age when I got my Commodore 64 and started to program in BASIC. I loved programming so much, that after a while I was programming more than I was playing games. There is something so sweet and pure about programming that nothing else in real life really can match it. Even with the bugs, time constraints and frustrations a modern programmer deals with, programming is still a sweet deal!
I went to engineering college to get my CS degree, and then a couple of years at the local Bergen University to add some deeper understanding to my curriculum. When I got sick of being a student I got a job.
Over the course of my career, I have spent most of it as a programmer. First 2 years being the only technical guy at a web-design company doing everything from running servers to making their publishing system (in Perl) and doing customer support.
Then I started a company with some friends to make an MMO. We spent 9 years making an MMO called Darkfall, learning the hard way what it actually takes to start from scratch and release an MMO. It was bloody hard work, but I learned a lot.
4 years ago I started as a consultant at a pretty big local consulting company, and then last year I was offered the opportunity to build up a new IT consulting company (Sonat Consulting AS) from scratch with some great friends and colleagues.
So now what? I will be turning 40 next year. I have been thinking about what I have accomplished so far and where I should be going from here.
Most programmers peak in their thirties. This is when you still have the drive to keep learning, and are old enough to start getting the experience to give you the intuition for solutions and workarounds that will keep you afloat the rest of your career if you cultivate it.
Some programmers keep that drive into their 40s, either because they still have the passion for programming or they still have disposable free time.
But at some point almost all programmers peak, lose their drive, and start looking at other options. What are the career advancement options for programmers? The traditional school of thought is that programmers can advance to project managers or architects. I believe there is a third option that could supercharge your career.
The third option is adding business process improvement (BPI) skills to your toolbox.
As a programmer you implement new systems and upgrade existing solutions. Part of this involves collaborating with domain experts, product owners and hopefully future users. As you gain experience you find it easier to see your changes in a larger context, and that makes you better at finding good solutions. You learn that having a clue how your part fits into the whole helps a lot.
What I am suggesting is taking the broad picture and zooming out even more. You need to realize that the system you are working on is part of, or is supporting, a business process. Using BPI methodologies like Lean or Six Sigma, you will be able to analyze a business process and see if there is a way to improve it, and then build a system that integrates better with it.
A lot of organizations will hire a BPI expert to optimize and improve manufacturing and/or throughput for the company, and then they get the IT-guys/gals to make or improve systems to support the new processes, but rarely are these two combined.
Adding business process skills to a programmers toolbox isn’t a new or radical idea, but most often when it happens it isn’t a career choice. It just happens, and your employer and customers are all the happier for it. What I want to do is to recognize it as a viable career choice, and one that companies and organizations should be on the lookout for.
IT consultants with this extra set of tools in their toolbox would be very valuable to any company, and could demand a higher salary. Just by having the dynamic of being able to look at a system from different perspectives will make you a better developer wether you get to apply your BPI-skillset directly or not.
Armed with methodologies like Lean, Kanban, Six Sigma, and others, plus an overview of the processes you are working with, and a humble but persistent effort towards improving both processes and systems, you will gain trust and respect. If you are doing it right you will be included in planning meetings where your opinion is highly regarded, and you will be able to effect greater positive changes to the organisation than as a pure developer.
Also, this is a skillset a company would be less likely to outsource, as these would be the kind of people you would want overseeing an outsourced project.
You might be thinking: “Why the heck should I learn business process skills, I just want to code stuff!”. That is fine. I’ll go top up on my BPI knowledge while you peak, become obsolete, and get outsourced 😉
4 thoughts on “Maturing as a programmer – How to supercharge your career”
I have to agree with your point of view.
The combination of business process improvement skills and programming is very valuable for information intense companies.
Most of the information intensive companies are heading straight through processing and are focusing on deviation management. The business rules are implemented in some IT systems and often not well known for the business side. They are just implemented somewhere in the existing IT systems.
When it comes to detailed understanding of business processes and business logic you ask the IT people who coded it.
So why not let the IT people also participate in the work to improve the process? There is often a lot more strategic value in this work than just doing the code. And it is much more effective that the people who really understand how the processes works also take care of the improvements.
It is all about being interested in business, process skills and your self confidence.
So go a head and learn something about Lean, Kanban and Six Sigma.
Thanks a ton! That was beneficial 🙂
Hi sir Ricki Sickenger, please bring back Darfall Online to Norway and restart the development from the closure (2013).
This new Unholy Wars is a completely crap, broken game and far from the original vision of Razorwax back in 2001 when the development start.
I don’t want the game, the old ideas and the hard work you guys do for almost a decade wasted by the shitty incompetence of Aventurine.
Bring back DF1 and all your old friends (Razorwax) and continue yourself the development of the game, also thanks to Kickstarter us old players can support your game.
Don’t let everything fall, your game, your ideas, Darkfall, was a gem, it deserve a better future.
Thanks for reading, an old 2008 DFO player.
I aim to buck the trend, programmed BASIC on my C16 as a child/high school then skipped oh, say, 26 years or so of tech advancements(now 40) and wish to #gamedev for the rest of my days, peaking @ oh idk, say 57. With so many languages/engines, many of which suitable and/or designed for game development, any suggestions on where to start/what to learn/do first?
I’ve read a lot of stuff over the years, most of which says ‘just start to make games’ or ‘learn C/JAVA’ etc but really, it seems at this point ‘just do it’ comes to mind yet it seems so overwhelming as if I’ll never be able to ‘catch up’ or ‘get where I need to be’, or ‘its too late’ though this is truly where my passion lies and I’ve suppressed that, in favor of what my HS guidance counselor would call ‘getting real’ all these years.
Suggestions for fast tracking myself aside from locking myself in a room with a stack of intimidating books? Thanks.