The Moderately Enthusiastic Programmer
An anonymous reader writes: "Developer Avdi Grimm posts about the trend throughout the software industry of companies demanding that job applicants be 'passionate' about programming when hiring into ordinary development jobs. Grimm says, 'I love code. I dream of code. I enjoy code. I find writing high quality code deeply satisfying. I feel the same way about helping others write code they can feel proud of. But do I feel 'strong and barely controllable emotion' about code? Honestly? No. ... I think some of the people writing these job ads are well-meaning. Maybe most of them. I think when they write "passionate" they mean "motivated." No slackers. No one who is a drag on the team. But sometimes I worry that it's code for we want to exploit your lack of boundaries. Maybe it's fanciful on my part, but there's a faintly Orwellian whiff to the language of these job ads: excuse me comrade, I couldn't help but notice that man over there is not chanting the team slogan with sincere revolutionary conviction.' Is it realistic for employers to expect us to be passionate about software we're hired to build? If they're looking for the head of a major product, then maybe it's warranted — but for everybody, even the grunts?"
I don't get this psudo-nerd bragging right. I've worked jobs I hated and had dreams about them, too.
I'm 40. I love what I do, I love building websites and I love doing front-end development. Do I live and breathe it? No. I go to work, work on great sites, and then go home for the day and enjoy my evening doing non-coding things.
If you don't eat sleep and breathe their corporate paradigm at all times you're not the person they're looking for. They don't want you to forget that they own you, even when you're not physically at the office: your personal work belongs to them, your future employment opportunities (non-compete) belong to them, your personal activities (social media et al.) belong to them... And they wonder why people get disgruntled.
I feel this way about the current codebase I'm working on right now, but they only give me the nerf-type of weapons, so no one needs to worry.
God, schmod. I want my monkey man!
I like software development. But when I go home, I do other things than write more code (write/record music, write/shoot/direct/edit short films, cook foods, breed fish, exercise/martial arts, spend time with my SO, etc). Apparently, to some developers, this means I don't take my job seriously and I shouldn't be in the industry because I'm not spending every moment living and breathing code. I don't even own a github. And frankly, if that's the expectation, I'd rather not work in that sort of environment.
If you were me, you'd be good lookin'. - six string samurai
People will do things for love that they won't for money, including endure abuse, or attempt the impossible.
much of left-wing thought is a kind of playing with fire by people who don't even know that fire is hot - George Orwell
So, when managing, I'm always looking for passionate developers. Here's why:
Where I work, there are no grunts. There are no people who mindlessly grind out code. We're not building yet another website: We're solving hard problems, and we want everyone to contribute. To contribute with value, you need to not stagnate in one technology for half your career. You need to be well-read about software. And while we work very few weekends, sometimes there are longer days (like anywhere).
When I mean I'm looking for a passionate developer, I'm looking for someone who cares about their craft, not just someone who shows up to close bug tickets and collect a paycheck.
This sig has been enciphered with a one-time pad. It could say almost anything.
Honestly, most managers would be clueless as how to deal with a passionate programmer.
The meetings, conference calls, the coding conventions, the documentation, making hard choices that hurt the deeper beauty of the finished product. This is poison to the passionate programmer. Other people doing substandard things to her code. This isn't ok to do to someones passions. It would be like letting a person bring a pet to work, and the staff kicks it at a whim.
They want people who pretend to be passionate. But really their looking for employees that want a paycheck, and a good portfolio when they leave.
Managers and HR want only the best coders, they solve this by the following:
Taking 10+ random and duplicate hour long interviews of which the person must pass all with flying colors
Must be really good at puzzles, because programming is soo much about pulling novel tricks out your ass on the spot
"He" must fit in with our culture and be cool and hip
And lets not forget paying them:
Be willing to be paid in free fruit and soda or pay us to work here because we are an awesome fashion subscription next big thing and women buy anything
OR we are a post IPO social company with a 200 P/E ratio and we will give you a wheelbarrow full of our stock options
OR he must have wet dreams about coding elaborate medical billing systems, because oh yeah that is the boring shit we actually do
Most of the code that I see exhibits what I can only describe as a kind of aggressive indifference.
It's not just that they don't care.
They *totally* don't care.
And they're going to make sure you know it.
And suffer for it.
After a while, dealing with this stuff is just depressing.
Especially if you do care.
I saw a big change happen in the industry, while I was briefly at Microsoft.
My manager, and Microsoft in general was more about delivering a positive message, as opposed to having a positive message to deliver.
The problem with that is, if you encourage everyone to do it, they eventually begin doing it even to the company and not just the customers.
"How is that new version of windows going?"
"It's going great!!"
And we all know now, it was terrible, horrible, full of in fighting, self promotion, bad decisions.
"How is that new web site that all America will use, and a presidency depends on?"
"It's going great!!"
See the pattern here?
You really want passionate developers? You are an idiot if you do. As a boss, I did not want surprises, and to me the worse thing in the world a company could do was sell something that was broke. Companies today do not seem to share that philosophy. Consumers tolerate crap and beg for more. So, I guess it really is not just the companies to blame.
slashdot troll = you make a compelling argument I do not like the implications of.
I like coding. I don't love it. I have a wide variety of interests in my life, such as family, movies, reading about other topics.
I have met a very few coders who are really all code all the time. And you know what? I find them insufferable.
A person should be well rounded and have many interests.
Democracy Now! - your daily, uncensored, corporate-free
You also don't have a life. Good luck trying to recapture your youth when you're a burnt out middle-aged husk.
All of this stuff is merely emotional inflation. These days you can't just like something, you've got to love. Likewise, if something displeases you a little, you are said to hate it. Personally I find these extremes: black or white with no middle ground to be rather childish - like TV villains who are only bad, or heros who are only good. It might work in programmes where you only have 1 hour - or rather: 40 minutes + advertisements to introduce, flesh-out and conclude a story, but real people aren't like that and adopting TV-style dialog into real-life is misleading.
So to say you "love" programming is pointless. I'm sure people are drawn to some aspects of creating new software (though doing the documentation and the testing never seems to be those aspects) and occasionally actually like the feeling of creating something. But is that love? No of course it isn't. Love is (break out the violins) all-conquering, an emotion you would go to extreme lengths to preserve and protect.
If you really did "love" coding, you wouldn't have to be paid to do it. Maybe that's what employers are really looking for.
politicians are like babies' nappies: they should both be changed regularly and for the same reasons
It's worth noting that regardless of how passionate you are about your work and job, your company will fire you in a hot second if it serves them best for even just the next minute.
It must have been something you assimilated. . . .
Get thee hence to a new job, for verily thy current job sucketh in abundance.
The reason passion matters for developers is the speed at which our industry changes. For someone working if a field with fewer changes than ours, going to school and learning how to do the job can be enough. But for a developer, staying qualified for the job requires a commitment to continually better yourself. You have to read up on the newest technologies, trends and methodologies on an ongoing basis...and most employers aren't willing to have you do it during work.
This is why they're looking for people who passionately love developing. Those are the people that spend half their time away from work hacking on personal projects where they're free from any constraint around technology selection or architecture that might be imposed at work. What you're looking for is someone who views writing code as almost a form of play. That's what they mean by passionate...that intrinsic motivation that doesn't need to be cultivated, because companies are terrible at making employees grow their skills and even worse at monitoring those changes in employees....it's just simpler to screen for it in the interview process.
"Don't blame me, I voted for Kodos!"
In the sushi world we have a word for passionate chefs... It's 'shokunin' You'll find in Japanese dictionaries that it's defined as 'artisan' but the connotation implies so much more. A shokunin comes to work and does the same task every religiously. Relentlessly trying to improve his technique. He cares only for perfection. Where other people see 'work' he sees 'duty.' He wipes his knife clean after every cut. When he cooks rice he removes or adds half a tablespoon of water at a time to ensure the amount of water is correct. He sharpens his eyes over years and carefully learns to identify and pull parasites from fresh fish, making them safe to eat. He cooks perfect folded eggs in a square pan never allowing it to burn at any place and ensuring each layer is evenly folded and cooked. He takes no breaks until the last customers is served. He works because, more than money, more than fun or pleasure, he desires to be better. Not only does he practice the physical techniques, he sees socializing with the customers over the counter as a skill to be practiced. His conduct and comportment do not waiver inside or outside of the restaurant (his temple) At my restaurant I may hire an average sushi chef to make rolls or to prepare fish in the back. But the person I hire for working behind the bar, unless he's my personal apprentice that has learned to work the way I had to, I would only hire a shokunin. When he works there he represents my business and my restaurant and I know he will outside of work in his daily life as well. Passion is important. But I would never pretend to say that passion was required for the easier and less formal jobs, some people just need a paycheck and as long as their work is good, I can respect that. The person who's responsible for putting a face to the company must be a master.
The Blade Itself
That's what got me out of the industry.
If it takes 10000 hours to achieve mastery, you're looking at 3-5 years of full-time work. From 1980-1985, I went from "what's a computer, Dad?" to knowing everything that was going on under the hood of a PET/Apple/C64/6502-based machine. From then to 1990, I got to know the PC very well, but not down to the bare metal. From 1990-2000, it was Win on the side and Solaris/UNIX/Linux. Somewhere between 2000-2010 I noticed the rate of change was accelerating beyond my ability to keep up. The lifespan of stdio.h was measured in decades -- and although Java and Javascript have had similar lifespans, nobody codes down to that level. It's all framework-of-the-year, and nothing seems to have a lifespan longer than 2-3 years. Competency is easy, but before you've reached mastery, the technology you were trying to master has been deprecated before you get close.
My solution was unorthodox. I threw up my hands, quit the industry, and will slowly draw down my savings over the next 20-30 years to master a few things that interest me. I probably haven't even found those things yet, but for the first time in my life, I have all the time in the world.
Not a single company will profit a whit from whatever I end up mastering. That's their loss, not mine. I will put a bullet in my brain before I go back to working for a living.