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
What management actually means by, "We want people who are passionate!" means that they live in a fantasy world where truly passionate people will come work for them for meager pay, lousy benefits, and an average work environment. It's the ultimate delusion of entitlement. Because why should talented people settle for them?
There is good management. But most of the time you see poor management who blame their own inadequate and incompetent leadership abilities on their employees. Many seem to look at subordinates as nothing more than a monkey there to churn out code -- like it's such an inconvenience that they have to deal with actual humans who have like, squishy innards that need nourishment and rest.
Add it to the list...
"Fast paced work environment!" We're understaffed.
"Opportunity for advancement." We have a high turnover rate.
"Flexible hours!" You'll never be able to predict the next week's schedule.
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.
Mastery and Passion go together. Without Passion, Mastery will not result.
I've been writing code since the '60s. I'm still the best in any team I join. When I'm not, I refactor, relearn, rebuild, etc. my skills. Then I'm the best again.
This doesn't diminish the other dimensions, but this is where it's at. If you're not passionate, you won't think about it night and day, and you just won't reach that level of Mastery.
Nor will you gain the satisfaction from having done so.
...but when i do...i prefer to do it with passion.
stay passionate my friends.
My God can beat up your God. Just kidding...don't take offense. I know there's no God.
I think this is being read the wrong way. There is a huge demand (sometimes real, sometimes perceived) for coders out there. Companies feel like they need to attract coders who, in most cases, already have a job. A lot of these coders are in jobs that are not very challenging, and/or they have bosses who are like the PHB in Dilbert. Basically, a lot of coders are unhappy. Their jobs are tedious and they don't get recognition for doing good work. By using words like "passionate" employers are creating the illusion of a job that will be more challenging and exciting than whatever job the coder is currently in. In reality, businesses could care less whether you are "passionate" about coding or not, so long as you can get the job done and you are halfway competent they're okay. There's nothing really Orwellian about it. They're just trying to use language that will catch the attention of potential candidates.
Proverbs 21:19
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
Anyone with any lick of coding ability is passionate about programming. This is equivalent to hiring an artist to draw logos and saying they must be passionate about art, of course they are, or they wouldn't be an artist.
Compare that to other "less creative" positions... The average call-center person is probably not passionate about call centering.
Consider this:
public String getSum(int numA, int num2) {
if (numA == num2)
{
return "" + numA*2;
}
return ""+(numA + num2);
}
If that was painful for you, congratulations... you are more passionate about programming than 99% of people are about their job.
What they're saying they want is people who will happily be in the office 100 hours a week, plugging away and barely stopping to eat.
In other words, it's a red flag, and I'll pretty much reject out of hand a contact from a company that makes a big deal about it.
I am officially gone from
Truthfully, there are a lot of jobs which basically require a person to show up and write competent code according to decent instructions, then shut it down and go home for the day. There are some jobs which require a high, if not manic, level of commitment to the job, because it's difficult, the tech is hard to work with, the requirements or deadlines are insane, etc. A high-performing coder is going to get bored at a 9 to 5 maintenance job...while an average code is not going to be able to take on the latter kind of job, but will do fine at maintenance. I worked for several years at a place that was a start up with a lot of big dreams and long hours, then it basically folded and I took a job which is a 9 to 5 maintenance job. When I get out of here for the day, I go home and start coding for fun, while keeping an eye out for the next high-pressure, high-demand gig. I get bored in this kind of environment, and so do most of the people I used to work with at the start-up. It's just about the right person and job and not some latest buzzword or ideal about who a candidate should be.
Corporate speak is full of nonsense code words use to mean things other than what they mean. Job postings are nearly the thickest.
"Need Passionate Self-Starter who is a rock-star team-player who wants to change the world!"
This stuff has been nonsense since before I was born.
-josh
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 love sanitizing telephones. I dream of sanitizing telephones. I enjoy sanitizing telephones. I find high quality telephone sanatization deeply satisfying. I feel the same way about helping others sanitizing telephones so they can feel proud. Please hire me so I can buy food and shelter.
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.
Perhaps this "passion" stuff is just standard bullshit which is not really expected.
A few jobs ago, I worked for a company which had a job opening. They posted an ad for the job, in which they described the ideal candidate as someone who was deeply "PASSIONATE" about their work. However the position itself was in accounting--specifically, in payroll. Obviously nobody is passionate about payroll. Nevertheless, they asked each interviewee if he was "passionate" about payroll, and each candidate answered that he was.
If you want to paint a barn, you hire a painter. If you want to decorate the ceiling of a cathedral, you hire an artist who is passionate about her work. The painter will usually have more predictable working hours and make enough to support a family. The artist is the one who will be remembered :-)
Time flies when you don't know what you're doing
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
Better hurry up while supplies last!
Taking guns away from the 99% gives the 1% 100% of the power.
Did you think that those personality surveys pushed by MBA's for gas station attendants wouldn't reach Engineering?
We did those at work and school and the programmers did fit into a couple of predictable buckets. It was fun to watch one manager say this test is wrong, my observations would put you into a different bucket.
This is not to say a person must be in one of the predictably buckets to do well at a particular job, just that there is something to these tests. Some people with certain dispositions find some jobs more attractive than others.
The problem is, being passionate about code, doesn't have anything to do with being able to code. Just how much you enjoy your profession (Without the added benefit of pay).
Passion is buzzwordish and an overstatement. However the better programmers that I have known over the decades have been those who have a genuine inherent interest in programming. They will read about software development, learn new languages and write some program on their own for nothing more than their own amusement or curiosity. Those who have never written any code outside of work or school tend not to be the better programmers. When someone uses "passionate" I interpret it as distinguishing the former from the later. Granted there may be time periods where those interested in programming may not have the free time to do so, like when they have a new child. However when free time and circumstances permit I've seen a little reading and coding creep back in.
That said, my first job out of college was to take a custom designed board for an embedded system that the hardware guys just got working and to write its firmware: a kernel, its drivers and software that would load and host a C-based application. I don't know if "passionate" would apply but as someone who likes assembly language and low level programming I was pretty damn excited and really enjoyed my day to day work an awful lot. I suppose a buzzword compliant manager could have described me as "passionate" although I would have sued different words.
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
A lawyer dies and goes to heaven (hey, it sometimes happens).
At the pearly gates, he's greeted by St. Peter and a huge heavenly choir, singing.
Lawyer says "What's with the big turnout?".
St. Peter says "We've had popes and saints and kings arrive here, but never someone who's 196 years old."
Lawyer says "What are you talking about? I'm 62."
St. Peter says "They must have added up your billing hours instead".
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. . . .
I interviewed, scored well technically and got along with everyone in both interviews. I interested them. I didn't get the job. The reasoning? They wanted someone that spent their off-hours doing development work.
At the time, I was disappointed. They were doing interesting stuff, like streaming video over satellites using the .NET framework. I was a budding mid-level then. I would have been a cheap developer for them. I would have learned quite a bit as well. What I understand now, however, is that they probably wanted to know if they could overload me with work. They were likely looking for someone who was willing to work evenings and weekends, without the extra pay.
Looking back, I'm glad that I did not get hired. I value my free time, and I do not spend it in complete passionate pursuit of development. I read about stuff every now and then, and do some home projects, but I find that I'm far more useful at work when I haven't been focusing on the same stuff at home.
You need to restart your computer. Hold down the Power button for several seconds or press the Restart button.
.
I'd want programmers that are driven to write quality software based upon factual reasons, not emotional ones.
In fact, the last thing I would want in a software engineering department is someone who is overly emotional.
Are (were) these people "passionate" about programming?
http://www.fastcompany.com/281...
I don't know; I wasn't there. I think they were passionate about how their product turned out, but passionate about writing code?
I've known people that were passionate about their "product". They were great to work with when they had a good idea and they got their way, and hell to work with when they had a bad idea, whether or not they got their way. Match one of those up with a boss that has no bs filter, and, well, now you're not having fun anymore.
Another thing about that sort of question. I do believe that a well-run company would look at the psych profiles to see if applicants (and existing workers) are a best fit for their kind of job. But from what little I know about industrial psychology, it is generally worse than useless to just openly ask people that kind of question with one exception. That exception is if the job requires a bs artist or sociopath such as sales.
Anecdote: The best programmer I ever knew was highly productive - one of those people who would sit motionless for 10 minutes and then write nearly perfect and documented code for hours as fast as anyone could type. I mean like 10-20 times as productive as the next best programmer in the shop.
This person would not work after five PM or Saturday except under greatest duress. (Why me? Make the slow people work late; maybe they can catch up.)
This person was a perfectionist about everything but passionate about coding? Oh hell no.
The fastest development comes from a group of motivated individuals who are almost all the same (ie. background, experience, language preference, o/s preference)
The most robust development comes from the most diverse teams.
Rarely does fast = robust, or vice versa.
"To those who are overly cautious, everything is impossible. "
When I was out of work recently I had to do dozens of IQ tests as a part of job applications. Eventually I got good enough at the tests to land a job. I must have a really impressive IQ now!
http://michaelsmith.id.au
The first time I saw that, I thought it was a cold idea.. It filters out the people who can't code and don't have little hobby projects to sharpen their skills.
Then I got thinking about it..
My git hub account has like 1 thing on it, my sourceforge has 3 or 4 abandoned projects (a couple with a fair number of downloads too). And I have dozens and dozens that never made it to the see if anyone else can use it stage.
What does that tell a potential employer? I can't finish projects? Well that isn't what happens at work, I do the fun stuff and I trudge through the boring parts of supporting and maintaining it too. That is why its work...
Now I have a family, and that seriously eats into the time I have for hobby projects (especially if I work 60 hours), leaving what? The time I'm at work? Unless your google working on a hobby project at work is a major NO NO.
So, really what are they getting from your github account? That your unemployed and have time to spend maintaining an open source project? That you don't have a family life, or instead of working 60 hours at your job you work 40 and spend 20 hours on a hobby project?
In the end, I'm betting most of the people who have large active projects on github that aren't their day jobs, don't actually make very good employees.
On a related note, please stop calling every damn job title an "architect" or an "engineer." Engineers are people who have PE (or EIT) licenses.
"Sales engineers" are not engineers, they're salespeople. "Software engineers" are not engineers, they're programmers (or maybe "software developers," although that probably pisses off people looking for jobs in real estate). "Support Engineers" are not engineers, they're tech support clerks. "Test Engineers" are not engineers, they're QA.
I was looking at a job listing email for "Engineering/Architecture" and 22 out of the 24 listings were programming jobs (and one was for sales). This is fucking goddamn ridiculous!
"[Regarding the 'cloud,'] ownership was what made America different than Russia." -- Woz
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
Meanwhile the guy coding up his own game engine nights and weekends burns himself out, arrives with a fried brain, and your project suffers.
I am not referring to people who spend all their evenings and weekends on some personal project. I am referring to people who had used some of their spare time, when they had some, to read something development related or to do some coding.
Sometimes this was done precisely because their day to day work was insufficiently challenging. One guy I knew was working on a legacy project that was pure C. For fun he spent a little time learning smalltalk. He was also someone I occasionally went scuba diving with. We met at his house early one morning for a dive, double checked our gear and loaded it into his truck. Before driving to the beach we called a dive shop as soon as they opened. We learned that the conditions sucked. We unloaded our gear from his truck and I spent a couple of hours geeking out as he showed me some smalltalk. Different hobbies for different days and different moods.
When I refer to some after hours coding I am not referring to any great or grand projects. Just a little indulgence in curiosity or amusement.
I also think that the more challenging home project helped preserve this guy's morale at work. Made the less challenging day job more tolerable, his itch was getting scratched elsewhere.
Not saying that a healthy interest in programming techniques and after hours involvement in coding projects are bad. Just that they aren't actually necessary for a long and successful career
I'm not saying a complete lack of ever having had an after hours coding project is a career killer. I am just noting a correlation between the better programmers and those who on occasion when circumstances permitted had indulged an inherent interest in programming.
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.