Out of curiousity, I joined a FaceBook group for software developers in South Africa. I find many of the posts disquieting.
I wanna be a programmer
Most of the posts are by beginners who want jobs. They are along the lines of "what course must I do to get a job". Other posts often ask for technical help to do something. They usually show a serious lack of basic knowledge. In general, the replies are of dubious quality.
We can’t run before we can walk. Developing any skill takes time and effort. You don’t expect to go from couch potato to marathon runner without lots of training (and pain and despair). The same is true for programming.
I often get queries from (usually young) people who want to get a programming job. The same things come up every time. What will get me a job? How quickly can I learn it? My friend told me to learn C++. (No, please don’t start there. Your friend is wrong. That’s like investing your money based on what some drunk guy at a party told you.)
I always ask why the person wants to go into programming. The most common answer: it pays well.
(If you’re a developer, I heard your cynical laugh.)
They also all seem to think that programming is a cool job.
(Ok, stop laughing now.)
I wanna be happy
If you don’t have a job, you want a job. If you do have a job, you want job satisfaction.
Job satisfaction matters to you. You might not believe it matters to your boss. But it does and it should. Any manager knows that high developer turnover is bad for continued success.
A few years ago, I mentioned the concept of S.P.A.C.E. It’s a framework for measuring developer productivity and satisfaction. The acronym stands for Satisfaction, Performance, Activity, Communication and Efficiency .
According to SPACE, developer satisfaction is integral to productivity. But what makes developers happy?
For some, job satisfaction is the glamourised version of Silicon valley start ups. Ping pong tables and bright coloured beanie bags. I think that’s what aspirant programmers have in mind.
Of course, money matters. But other factors matter too. Some developers want the chance to work on new projects with new technology. For many, the ability to work from home is important.
But there is no one-size-fits-all. (I saw some socks the other day with the label: “One size fits most”. That’s a lot more accurate.)
I wanna be bored
Most of us don’t want to be bored. So I was surprised to find someone on Hackernews who wants a “boring tech job”:
“I’ve worked at startups as an engineer for several years now and I’m sick of it. The stress … isn’t worth it anymore … I want a boring job with boring tech at a larger boring company with stability and predictability.”
The answers recommended banks, insurance companies, or any large company that is not a tech company. One reply suggested that Java projects, while well run, are the most unexciting. (Of course, a large boring company doesn’t mean stability. "Restructuring" is the bane of job stability.)
Life changes, and what we need most changes too. If you have people who report to you, don’t assume you know what makes them happy.
What would make a difference to your job satisfaction? Please share your comments.