Do you need passion ? (as a developer)
Passion among developers is a concept that puts a lot of people under crazy pressure. You hear about it all the time. You see it in every job offer, as an absolute obligation. If you’re not passionate enough, you don’t fucking belong here. Is that clear?
Tyranny of passion
In your field, much more than in others, there is this tyranny of passion. It’s so strong that it freaks newcomers out. In fact, we all concerned about it. Your profession is one of the few where passion is used as a measure to hire or determine someone’s worth. And everyone finds it normal.
If you don’t work every night on a side project, you’re not a real dev. It’s a shameful attitude not coding outside of work. As a result, you don’t tell anyone that dev is not the only thing in your life. It’s your little secret.
And for a lot of people, this tyranny is normal. The main argument is that being a developer is a complicated job. To overcome these difficulties, it would take a real burning crazy passion. And it would take even more passion to be “a good developer”.
The problem with this hellish argument is that it all depends on where you put the cursor. It’s always about nuances.
50 shades of dev
Before we both get angry, we need to agree on the definition of “passion”.
The passionate developer lives code, thinks code, eats code, everywhere, all the time, always and forever. It’s an obsession. It’s intense. His commit grid on GitHub is crazy. Dude, what’s stopping you from coding like this ?
He arrives early in the morning and leaves very late at night, out of passion. You can pay him less as long as he works on his favorite technology, out of passion. He only talks to you about development, out of passion.
And to make it even more clear: in this article I assume that a true passionate spends the vast majority of his free time coding.
Then there is the mass. I consider myself a random dev, so I go for it. Development is one of my passions. This nuance is important. I have a strong interest in the subject. My favorite thing is to understand how things work. I don’t know, I take pleasure in knowing how it works. So I play with stuff and I write about it. At work, I get excited when I build my thing with what I understood before. I’m proud to see it running. I often feel like I’m getting paid to do fun stuff.
So yes, I’m a fan, but not a fanatic. Development is not my whole life. I use the same word, passion, but the nuance is that for me it’s an interest that doesn’t dominate others. Yes, sometimes i’m done with it. Yes, my salary is important. No, I don’t want to finish every night at 10 pm. Yes, I’ll talk to you about other subjects. And fuck, no, I don’t spend all my free time coding.
Now that we’re talking about the same thing, let’s dive into it.
For the newcomers
First of all, I want to talk to you, who has been here for a short time. It is especially for you that I am doing this article. If you are new here, you are the first victim of this tyranny. There are things you need to understand before you run away.
Mastering programming doesn’t require you to be passionate. Programming is a set of computer knowledge and techniques. It comes with experience and practice on different and progressively complex projects. The one thing all successful developers have in common is work. Not passion.
Mastering programming is not an “innate” talent. Passionate people have no innate talent. Their mastery has come over time and they tend to forget it. Never has a skill become so much a myth in people’s heads. We seem to be astrophysicists in quantum mechanics. We have to stop scaring people like that.
It’s even dangerous this elitism. A lot of developers are going to draw a line in the sand. Either you’re too strong, a real rock star, or you suck at it. And when you’re new, you already know where you belong.
The Jacob Kaplan-Moss talk is very good about that, it’s a MUST WATCH for any developer. Now, I’m also convinced that you need a minimum of interest to succeed. But here’s the plot twist.
The crazy plot twist
What many people don’t understand, or have forgotten, is that interest comes with practice. Practice leads to mastery and mastery fuels interest. When you get good at something, you enjoy it. You feel powerful and it quickly becomes addictive. This pushes you to do more. This opens up the famous virtuous circle: practice => mastery => interest => practice => mastery => interest, etc etc etc.
When you go in there, everything is beautiful. You know that feeling. Everybody has experienced it with this job. You practice for hours but it doesn’t work. You work, you search, you try to understand, you struggle for hours. Looks like it’s mission impossible.
All of a sudden, you understand what’s happening ! You change something, you put your app back on, and BOOM, IT WORKS!
And that’s when, suddenly, everyone starts talking about “revelation”, “passion”, “vocation” or whatever you want. No, it’s not magic what happened. You’ve worked, you’ve got a good result, you’re having fun and you’re doing it again.
We have to stop with this “destiny” bullshit and recognize that only work gives you wings. In short, it’s normal if you don’t feel an interest that devours you right away. It will come.
I was talking to you about religion among developers not long ago. I was telling you about how I fell in love at first sight. What I’m not saying is that I started by doing very easy things. Simple HTML pages that empowered me. I took big hits of dopamine. Slowly, very slowly, for years. And mostly without any constraint. In short, the perfect breeding ground to create a passion among many others.
The problem is that today, you have to go fast. The bootcamp last 9 weeks. Nobody takes the time for anything anymore. It’s hard to enjoy the landscape when you’re sprinting like Usain Bolt.
On top of that, passion, in real life, is not the Walt Disney that everyone has oversold you.
The horrible truth about passion
Passion is excessively used by companies. It is not developers who talk about it the most. It’s the companies that talk about it the most. And passion is often perverted in the process. A developer will talk about pleasure. A company will talk about performance.
If you see an position description that only wants real passionate people and doesn’t talk about work-family balance at all, you know what it means. You’re going to do 80 hours a week. Your salary is going to be negative. This company is going to get rid of any legal obligation for training. You’re going to have to train yourself outside of work on everything and all the time. You’re going to sacrifice most of your free time for your job.
But hey, you’re a real passionate, so that’s okay, right?
No, it’s not okay. Passion should remain a personal matter, not a prerequisite for a job. No company should require it. It’s infinitely uncomfortable when I see it in the list of obligations.
Passion is not an infinite resource. You are told that passion will be your engine to always learn more and perform better. But when you pull too much on the rope, the rope will eventually break. If you’re just coding all the time, you’re going to end up hating it. To recharge the batteries, like everything else, you need moderation.
It’s pretty fucking obvious what I’m saying here. Why in this field is it necessary to remember such a basic thing? You might even lose your passion completely if you push too hard. You need balance.
Passion is not the most important thing for your career. You have been taught that if you do a job out of passion, you don’t work a single day in your life. Everything will be perfect and nothing will ever be painful. This is not true! In real life, you work the same way. You work the same way because you don’t do things for you, the way you want and with what you want. Your company is going to tell you what to do. And sometimes it’s very boring.
I’m reading a lot of books these days. I’ve read one in particular that talks about this subject. This book answers a question: is following your passion the best career advice for your success and happiness? This book is very convincing in explaining that it is not. The author explodes the mindset around passion throughout the book. He compares it to the Craftman mindset, which is much more important. It’s called “So Good They Can’t Ignore You” and I highly recommend it for your career plan.
Now we need to talk about how to succeed, without spending your life coding.
For the old ones
I also want to talk to you, who has been here for a long time. You’ve been putting up with this tyranny for a long time. It’s time to take a breath.
You don’t have to dedicate your life to your work to be legitimate. The best developers I’ve ever worked with weren’t passionate about it. Most of them had a vague interest and a lot of practice and experience. These stereotypes and obligations only concern those who accept them. It’s time to stop comparing ourselves to others.
Yes, programming requires extra investment. I’m not going to lie to you, this job is complex and you know it. As I keep saying, it takes practice. And so yes, it takes extra work. But it doesn’t have to become a prison. This practice must be at your rhythm and without constraint. And indeed passion is good for that, but it is not mandatory. The advice I can give you is to mix your interests.
For example: I like dev, I like to write and I like to learn new things. So I decided to make this blog. Without the combination of these three factors, this blog wouldn’t exist. When I want to learn and write, I choose a technical or more general subject, and i go for it !
I could use this time to make a lot of money by freelancing. I could use this time to do exercises on LeetCode. But I’m here writing this article, and I’m enjoying what I’m doing a little too much!
I like running too. So I made a React Native mobile app that notifies me every 2 km on my cell phone by sending me a random GIF via Giphy. I can tell you that the app itself, it’s completely stupid. It’s useless. I’m laughing myself to death at every notification when I discover a stupid gif while running.
Being a developer should rhyme with pleasure and balance. I don’t have a passion for React Native. I don’t need to know React Native. I made this app at my own pace, sporadically, over several weeks, when I really wanted to do it. I trained myself on React Native very smoothly doing a funny little thing. And what a pleasure!
My pleasure in coding and the balance in my life was intact when I was done. I didn’t sacrifice time with my family, friends and it even made me run more.
Last example : i wanted to know more about AI and facial reconization. So i made a stupid app about it. This is pretty much self-explanatory.
You want to become a better developer without sacrificing your life? Why note build dumb shit (great talk from Sara Viera, I highly recommend it too)! At your own pace, on the subject and techno of your choice. Believe me, if you’ve never done this kind of shit, you underestimate how much knowledge and fun you’re going to get out of it.
But then again, if the key is practice and the passionate practice more, the passionate are necessarily better? Yes, it makes sense. But then again, it’s not an absolute rule.
Being passionate is great
Don’t make me say what I didn’t say by isolating parts of this article. Of course passion is a highway to excellence. Of course there’s nothing wrong with devoting your life to development if you like it. You do what you want to do and frankly good for you. Bravo, you have a monster passion that is your job. Keep it up.
I just hope you don’t lose your precious passion by pushing it too far. The highway to excellence is the same highway to burnout. Stop to enjoy life once in a while.
Also, it doesn’t mean that everyone has to be 300 km/h to be respectable. And it is even less an absolute necessity for excellence. I’ve come across a lot of excellent developers with no particular passion. Just very good technicians.
I remember one in particular. When I asked him if it was a passion for him, he immediately replied, very coldly: “Not at all. It’s the only thing I know how to do and I happen to do it well.” This guy is a tech lead (not the one you thinking about) in a very big company. He’s impressive in his field. And he’s far from being the only one. I’m sure that if we didn’t put so much pressure on it, a lot of people would be less passionate than they say.
All this to say that no, passion is not an obligation. An interest in what you do is of course preferable. Work and consistency are an absolute necessity. It will allow you to have a strong adaptation to new concepts and technologies. But you can go and drink beers in your spare time. Also, don’t you have any stupid ideas to develop right now?