> A lot of the students are in for the money, not for the love of the job.
Who cares? Can they do the job or not? Do they have the work ethic and professionalism to continue to do so?
The vast majority of people, including those who excel at their respective fields, don't love their jobs. This industry needs to stop using "passion" as a lazy signal for work ethic.
> The most boring developers I work with, the the ones who only learn to code while in college and never developed any interested to learn before that.
2. In for the money, but also love the job, codes on spare time
3. Category 2, but no more free time (family, older parents)
I was in Category 2 but now on category 3. I show up to work early, work intensely, do not waste any time, and try to leave at a normal hour. On weekends, instead of open source projects, I'm spending the time with my mom who is getting much older and requires help and emotional support from the family. That does not mean I have poor ethic or lack of interest, it just means I have a lot of family commitments. I am very productive at work, I love it, but there are clear boundaries unless there is some major deadline or production issue. Speaking of Production issues, I write very very good code to ensure I dont have Prod issues and/or I can quickly do a root-cause-analysis of issues that pop up. My personal needs focus me like a laser on productive time at the office.
Embrace the time you have left with your mother. Work will always be there, and there is no job more important than your family. Do not give on your boundaries.
I spent the last 2.5 years of my mother's life (she passed away suddenly last month at the age of 59 from a brain hemorrhage) working for a startup, not making more time to spend with her because I thought I'd have at least another 5-10 years with her, and my heart hurts every day thinking about how I didn't spend more time with her. Do not make my mistake. It's just code, you're not saving the world.
Sorry to hear that!!! I was a little kid when my grandfather died and for some reason I felt guilty and thought I had abandoned him in his last days. It was such a bad feeling and it still revisits me from time to time.
Interest usually correlates with the desire to learn and explore on one's own time. If you have a team of interested developers/hackers, then the lack of enthusiasm can drag the team down, both in knowledge and culturally.
This isn't always true, of course. Some developers can have excellent skill and have no interest in programming outside of work. I have a coworker that does virtually nothing outside of work, doesn't keep up with current events outside of what our group discusses, but she is a great programmer and picks up on things very quickly. She shows genuine interest in the work she does at work. She's been with us for nearly nine years. Culturally, she's different than me and another one of our co-workers in a more fundamental sense, but as part of our _team_, she is a perfect fit.
> Interest usually correlates with the desire to learn and explore on one's own time.
I don't agree. Interest in doing a good job (i.e. work ethic) usually correlates with this, but I do not think work ethic corresponds very well with interest in the field.
> If you have a team of interested developers/hackers, then the lack of enthusiasm can drag the team down, both in knowledge and culturally.
I think part of my problem with the statements in this thread is that I would never put together a team of hackers to run a business. Your statement implies a team that is interested in tehcnology for technology's sake rather than as a tool to solve a business problem.
The world isn't that binary. No one is suggesting you hire a bunch of people who don't care at all about solving actual problems and who would just screw around all day messing with whatever shiny object caught their eye.
The discussion is whether someone who is just in it "for the paycheck" will be able to solve those business problems as effectively as someone who has a deeper interest in technology for technology's sake. By itself, that's obviously not enough signal to say one way or the other. There certainly are extremely valuable people who don't code outside of work, follow new language and tool discussions online, etc. I think it's equally obvious though that such an interest is a positive signal. If you told me nothing else about two potential hires except person A writes Java at work and has no interest in the field beyond that, and person B writes Java at work, but has a Github page full of utilities she wrote in Go, Lisp, Haskell, whatever, I'd bet a small amount that person B is probably better at solving technical problems. You can't say that for sure, and any of the myriad other factors that actually do matter could break the other way and make person A the better hire for an actual business, but outside interest is a positively correlated trait.
> I don't agree. Interest in doing a good job (i.e. work ethic) usually correlates with this
I wasn't expressing a 1:1 relationship. I also expressed an example where this wasn't the case: interest in the position and the work we do, but not a personal interest outside of work.
> Your statement implies a team that is interested in tehcnology for technology's sake rather than as a tool to solve a business problem.
I just happen to be a hacker that was hired by a business. That wasn't why I was hired---I was hired because of certain qualities that so happen to be a consequence of my being a hacker, and because of fundamental interest in certain topics (which also included side projects).
I'm certainly not interested in technology for technology's sake: I'm the author of a large system on which one of the core parts of my company (the company I work for, not a company I own) is based (raters for an insurance agency), and it was made using practical, business-conscious decisions. My coworker (he doesn't identify as a hacker) is Technical Director.
Many programmers who enjoy programming will have a preference for hiring other programmers who also enjoy it. That doesn't mean they can't hire dispassionate programmers but that still doesn't erase the preference for passionate programmers.
>This industry needs to stop using "passion" as a lazy signal for work ethic.
There's definitely a place for dispassionate programmers (as that's probably the majority of programmers who just think of it as a "job"). However, it's wrong to vilify programmers-that-love-their-craft having a preference for other programmers-that-love-their-craft.
This isn't about preferences. This is about the false dichotomy proffered in the original post I responded to, and elsewhere from time to time, that there exist only programmers-who-love-their-craft and programmers-who-just-want-a-fat-paycheck, and that the former is orders of magnitude better than the latter. I also think "love" is significantly stronger than "enjoy" or "interested in".
> Many programmers who enjoy programming will have a preference for hiring other programmers who also enjoy it. That doesn't mean they can't hire dispassionate programmers but that still doesn't erase the preference for passionate programmers.
Exactly, and it isn't just 'Work Ethic', I wanna work with these guys [1] in 'Silicon Valley' tv show who would go around doing a Jerk off calculation just because it is a fun calculation to do. Not just people with strong 'Work ethic'.
How is anything you quoted "vilification"? I look at it the same as I look at, say, the interview process: he or she is pointing out a flaw in the reasoning used to support "passion as a proxy for merit," which is basically what that preference is.
Probably because you want to grow as a professional and it's much easier in an environment where our coworkers also want to grow.
If they're content with where they are, there are numerous problems:
• as the business case becomes more complex, they won't adapt
• as you grow and progress, you'll be promoted and they won't. No one wants to work in an atmosphere of resentment.
• you want to learn from your coworkers while they learn from you. If it's one way, you're just slowing yourself down.
I don't want to work at a place filled with guys who want to do the same job for the next ten years. That workplace is going to be commoditised. They'll eventually find themselves on the Internet complaining about H1-Bs and outsourcing and how git is hard to use and technical interviews are evil because they have ten years of experience.
No thanks. This field is privileged in that there are lots of us who like our job a lot. Life's too short to settle for boring coworkers.
Growing as a professional requires some combination of drive, ambition, and work ethic. Interest in the job may make those things easier to find, but it is not a primary driver.
> Growing as a professional requires some combination of drive, ambition, and work ethic.
People usually call those types of qualities "passion," "love of job," or "interest."
You keep trying to work around definitions to suit your narrative when people are just trying to have an honest conversation. You are shoving intent into the OPs post that isn't there. Simply put, what they are saying is that those from bootcamps are there doing the what they think is the bare minimum in order to keep getting a paycheck at that moment.
You might think, "Hey, just raise the minimum and they'll raise with it, it's your fault for having low expectations!" However, when those expectations are raised, you rail against them. You can't have it both ways.
You can't argue for someone lacking drive, ambition, and work ethic, and at the same time bemoan people for demanding that.
Passion has become a synonym for being in love with a career. As you said: "love of job".
Mixing a complex sentiment like love with coding is frankly ridiculous and I would argue undesirable.
Instead we should precise terms like drive, interest in technology, motivation to learn, etc. These make sense and don't bring any emotional baggage with them.
You're the only one so far who's mentioned the reason this is important to me.
I want to learn from my coworkers. Making decisions that require evaluating new software or new techniques is difficult and risky, having more than one damn person who can contribute to that process makes a huge difference. Plus, I just like learning things from people.
Sure, it's very good for the business if they keep up with new developments in a rapidly changing field, but personally it's most important to me that my coworkers and I are helping each other sharpen our skills and make tech decisions responsibly (being fad driven is worse than being out of touch, I don't mean just knowing about what's "hot right now").
I care. For 4 years, I went to lunch with a team of "just a job" devs who only wanted to talk about celebrities, and gave me blank stares and laughed about how they "forgot all that theory stuff from college". It sucked.
This also comes back to broader discussions about programmers needing to have worked on this stuff since they were kids. Perhaps uniquely among STEM subjects. No one expects a chemical engineer to have done anything other than to have enjoyed and done well in high school chemistry prior to college or to have chemical engineering "side projects."
>Perhaps uniquely among STEM subjects. No one expects a chemical engineer to have done anything
Computer programming as a self-motivated hobby is not unique in this. Many electrical engineers started playing with electronics as kids (e.g. disassembling radios, wiring up homemade amps, etc). Many mathematicians "play" with math as kids before they go to college and get a teaching/research position. (E.g. Andrew Wiles was 10 when he was captivated by Fermat's Last Theorem.) Many biologists and zoologists when they were kids had a keen interest in nature and animals (beyond the typical children's "dinosaurs are cool" stage). Same for astronomy.
Many != all. I'm a senior engineer now only a few years removed from school but I'd never touched programming until my 2nd year in college (switched majors 3 times). I'm obviously interested in tech or I wouldn't be here but I'm certainly not spending my free time trying out new technologies or coding for fun, and honestly I never have. I care about my job, about my craft, about moving up but I get plenty of practice in the 8+ hours i spend every day at work. Outside of work I have a life that doesn't involve machines, and this idea that in order to be good at your job you need to have a burning passion for coding is unhealthy for the field. Not to mention that half of what makes a good engineer is stuff completely unrelated to how well you program.
No one expects a chemical engineering 1st year student to have mastered organic chemistry already. Just as no one expects a 1st year mechanical engineering student to thoroughly understand rigid body dynamics at age 10.
Yea maybe they built an RC plane or did some home experiments, but if anyone is doing these things at a young age they are clearly far above their peers.
> Andrew Wiles
Example here-this man is extremely intelligent, it's like using Einstein as an example that anyone can be a genius physicist that changes the world. No, they can't.
We need to just call it what it is: arrogance and gating. "If you didn't do what I did, you must certainly not be any good." Which is an absolute shame
Quite a few comments on this thread should be required reading for anyone seeking to understand some of the cultural "shortcomings" of the software industry generally and the software industry in Silicon Valley specifically. This idea that not having had an all-consuming for programming since childhood and not maintaining an active Github account for all your side projects means that we don't want your kind is toxic.
>This idea that not having had an all-consuming for programming since childhood and not maintaining an active Github account for all your side projects means that we don't want your kind is toxic.
Then you are not aware of the toxic comments from your peers who agree with you.
To recap...
Group 1: programming-is-just-a-job -- the majority -- The programmers who want to compartmentalize their programming strictly to 40-hours work week so they can have a life outside of computers. Programming is just a means to an end. Programming is just the paycheck that feeds my family. Great! There's nothing wrong with you! You outnumber the programmers who view it as an artistic endeavor and self-actualization.
Group 2: programming-is-my-vocation -- the minority -- The programmers who got into as kids and find joy in side projects after hours & the weekends.
It's not enough for these 2 groups to peacefully coexist. It's also not enough that Group 1 outnumbers Group 2. It's also not enough that most cog-in-wheel corporate programming jobs don't even value Group 2's enthusiasm for programming.
No, Group 1 is not satisfied with the above advantages.
Group 1 is very annoyed if Group 2 programmers prefer working with other Group 2 programmers. G1 derides G2 as psychologically defective or unbalanced. E.g see HN poster (gyardley)[1] describing them as an "obsessive wretch" and "not an asset". Toxic indeed.
You are way off base here. The issue here that group 2 by it's very nature, being passionate, is way more vocal and outspoken about the issue than your group 1 people. It's not a problem that group 2 people want to work with other group 2 people so far in that it doesn't affect group 1 people but that's not how it works. Your group 1 people generally don't care who they work with so long as they can do the job. The problem is that by being far more vocal they affect things like hiring, and who gets promoted which does negatively affect group 1 people. Regardless of the size of the two groups you have described if one is making it harder to advance for the others while not being provably better you're going to have a problem. And that is why you see a lot of people arguing against this mindset, because it IS toxic, and creates a situation wherein only people who have demonstrable interest in programming outside of work can succeed and advance.
Also This mindset eventually can backfire on even your group 2 people because life happens and just because you have the free time, energy and motivation today to work on projects outside of work doesn't mean you will later when you have a family or health issues or any of the myriad other things that can come up.
>Your group 1 people generally don't care who they work with so long as they can do the job. The problem is that by [group 2] being far more vocal they affect things like hiring, and who gets promoted which does negatively affect group 1 people.
Well, G2 people have an affinity for other G2 people. That's human nature! That's not toxic. Look at the various reasons given by G2 posters in this thread: they enjoy a work environment with other G2 people. Just as one can prefer having a comfortable chair or closed office, a G2 can state honestly that they would be happier with other G2 colleagues. Just because that has an effect of G1 not getting hired does not mean it's toxic.
The analogy I like to use is a music band. If they're looking for a guitarist who's passionate about his instrument and music, the guitarist-just-a-job who has apathy about the music will not get invited to join the band. Maybe the apathetic guitarist can technically strum a C chord as well as the passionate guitarist. That's not enough. The band having a preference for the passionate guitarist is not being toxic.
Yes, for many G2 programmers who started as kids... programming/playing with the computer is a very similar intellectual high to a teenager exploring a guitar. Programming feels like fun artistic expression and not "work" or a "job". I think many G1 programmers really don't understand that. If they could view G2 programmers as band musicians, maybe they would have more empathy for the passionate programmers having a preference for like-minded people.
Literally nothing in your comment rebuts my argument. It's not an issue that you want to mostly be with other G2 people. That's perfectly fine and people understand that. It's an issue when you're desire pushes all the G1 people out of the work place.
I'm not going to think of programmers as musicians because they're not. They are employees of whatever company. They are there to do a job. It's great that you want to work with like minded people but if that desire means that qualified G1 people can't get hired at your company that's a problem. If your desire means that g1 people can't get promoted that's a problem.
As a thought experiment replace like-minded people, with people of the same race. Or people of the same gender. Or people of the same religion. Do you see the problem now? A mindset that excludes some large percentage of people based on arbitrary standards that has nothing to do with their ability to do a job is always going to be problematic.
Side note if you lead with "looking for passionate" you're already misconstruing the issue, because what a company should be looking for is "able to do the job to whatever standard we've set"
>wherein only people who have demonstrable interest in programming outside of work can succeed and advance.
Nobody in this thread has said this. Maybe your misunderstanding of the other side is part of your frustration on this topic?
Some have said that the self-taught programmers were better. Some have said passionate programmers were more driven to stay relevant in a changing field. Some have said they learn more from coworkers that developed interest in programming outside of college and work.
You may disagree with all 3 of those statements but none them are about dispassionate programmers not being able to succeed.
>It's an issue when you're desire pushes all the G1 people out of the work place.
This has never happened. In fact, the opposite has happened. G1 is the overwhelming norm at most businesses. To repeat -- most programmers do not view coding as a vocation. G1 programmers already fill most jobs slots.
The idea that the minority of G2 programmers want a work environment with other G2s and this is hurting G1?!? That is a complaint that's way out of proportion to reality. Literally.
Also, I'm not sure why hiring heuristics that negatively affect G1 somehow has a higher moral standing than heuristics that negatively affect G2 programmers. What about the opposite situation? E.g. G1 people say being well-balanced with non-programming activities helps them be a "better programmer". Great! Let that belief be a guide and don't hire G2 programmers since their excessive interests in computers actually makes you believe they perform worse. They are not assets. (See my previous cite to HN thread for example of this.) In those cases, G1 wins over G2 in getting the job.
>They are employees of whatever company. They are there to do a job.
The founders and many programmers would like the daily effort to be "more than a job" if possible. Sometimes, that's not possible (e.g. Walmart cashier). However, with programming, some do try to optimize for a better work environment.
>with people of the same race. Or people of the same gender. Or people of the same religion. Do you see the problem now?
Those race/gender examples weaken your argument. Having a preference for people with similar intellectual dispositions in programming is very aligned with Martin Luther King's "not being judged by the color of their skin, but by the content of their character."
>arbitrary standards that has nothing to do with their ability to do a job
Then this discussion has no resolution because in this thread, many have written about experiencing the opposite. Instead of it being an "arbitrary standard", it's been a positive correlation with performance on the job.
>what a company should be looking for is "able to do the job to whatever standard we've set"
Ok, many programmers in this thread said they prefer colleagues who enjoy computers+programming as outside interests. That's the standard that's been set. Many companies want to attract those programmers by hiring G2.
>No one expects a chemical engineering 1st year student to have mastered
Neither ghaff nor I wrote anything about kids "mastering" the STEM topics before college or the first job. Therefore, that higher standard stated by you is a strawman.
I thought ghaff was talking about STEM side projects which is certainly something within the abilities of teenagers without mastery of programming. That's what my reply to him/her was about and how "playing with science" is not unique to programming.
No one would be expected to do meet those high standards, as you say. No one would be expected to be experts in basic chemistry by their first year of college.
Yet in this very post, there are countless examples of people saying the best programmers were the ones that knew it all before college, who didn't need college, who put in the time to learn before college, etc.
No other field is this expected. That's the point.
Playing with science and doing small little cute fun experiments is a lot different than me teaching myself productive front end development at age 16. I don't expect other 16 year olds overall to do as I did. Nor do I judge people if they didn't.
>in this very post, there are countless examples of people saying the best programmers were the ones that knew it all before college,
Nobody in this thread has said that programmers should "know it all" before college. You're injecting conditions and standards (like "mastery") that no poster actually wrote.
>No other field is this expected. That's the point.
This isn't true. You can see coaching advice for electrical engineers to update their resume with any DIY (do-it-yourself) electronics projects that would demonstrate self-motivation, passion, etc to potential employers. In that respect, it's not much different than computer programming. Do electrical engineers get jobs without any personal side projects?!? Yes, of course. Same as computer science -- many programmers get jobs without side projects.
In both scenarios, it isn't absolutely necessary but it's a way to stand out from the crowd.
Yes, there's often a level of interest beyond "Hey, I liked this class in high school." But I'd still argue that the computer science space is unique in that there's a fairly widespread expectation (as seen in these threads) that it's expected to be some sort of passion indulged in since childhood. To the degree that a lot of today's university CS programs don't effectively accommodate those without previous experience. As a mechanical engineering major undergrad, I can assure you that I had no particular experience in the area prior to college.
That's exactly my point: there is an expectation associated, especially from the HN echo-chamber, that you've been passionately programming since your early teenage years and that if not you're just a pretender looking for the salary and can't solve problems.
> As a mechanical engineering major undergrad, I can assure you that I had no particular experience in the area prior to college.
I'd say this is true of most people entering college. Hence we have introductory courses to learn there.
It's a shame that so many people on here and elsewhere simply want to discourage people from following an interest simply because they discovered it later.
This field changes so much that if you aren't passionate and investing in your skills continuously, you will find yourself obsolete or in a non-technical role within 5-7 years. Think about that. How many years does it take just to become technically proficient?
Why do you need to be passionate to improve your skills continuously? Why does being passionate guarantee you are going to develop the right skills rather than latch on to an academically-satisfying yet commercially-useless niche?
Because the academics ultimately drive the commercial, there's just such a delay between the two that the relationship isn't always obvious. Just take a look at Java, one of the most widely used programming languages for commercial development. It's hardly cutting edge, but if you step back and look at the way the language has evolved it's slowly been integrating all the design choices that have come to the forefront of academia. Generics? Check. Lambdas? Check. Streams? Check. Reactive design? Check. Non-nullable values? Eh, sort of, half marks there. Immutability? They're working on it.
I'm not sure about "passionate" programmers, but programmers who enjoy programming are generally always on the lookout for new trends, new tech, new libraries, and even if you aren't using those things, being aware of them is massively useful. If you're relying on the business and your coworkers to drive your skill improvements, then you're going to stagnate, guaranteed, because the business doesn't care at all about new technology and has no desire to improve or change anything, and your coworkers will only care if (shock) they enjoy programming.
When you put together a team of 9 to 5 only in it for the paycheck programmers, what you get is a snapshot, their combined skills and technical knowledge will be the sum total of exactly what all of them know when you hire them and it will never improve. Putting together a team of programmers that enjoy programming and are doing it not just for the paycheck but because they enjoy the craft gets you a constantly improving team. Their skills stay fresh and they're motivated to improve and keep your tech relevant and modern, which ultimately saves you in the long run from having to face massive rewrites of old creaky systems, or ending up stuck trying to hire massively expensive developers to work on ancient deprecated technologies.
"Passion" the term definitely needs to be retired. It's pretty much a dog whistle as you say. However, whatever you want to call it, I do prefer to work with people who have both a high work ethic and an intrinsic interest and excitement about their work. It's absolutely more fun to have people to "geek out" with than not. In the grand scheme, I think we spend too much time at work to not try make it as enjoyable as possible while also still doing a good job. So I guess to your question of who gives a care if a coworker is boring: I (and I think lots of others) do...
> Do they have the work ethic and professionalism to continue to do so?
It is a rare person who has enough work ethic to force themselves to use their own free time to improve in a field they don't have any passion for. If that weren't so, we'd see a lot more self-taught physicists, mathematicians, and other STEM people.
> The vast majority of people, including those who excel at their respective fields, don't love their jobs.
People who excel in their fields don't love their jobs? As kids nowadays say, "[citation needed]".
Not sure how the industry may define passion, but for me it's a constant drive to develop one's skills, improve one's output, and an interest in all these things outside of the hours you get paid to be interested in them.
I've hired good developers who had this type of passion, and good developers who lacked it. But I've yet to hire a truly great developer from the latter camp.
It seems to me this is true in just about every industry, those who have devoted the most time and energy to a skillset tend to be the best at it.
People can also gain more interest even if it was "just a job" before.
I fell into IT and struggled with feeling overwhelmed the first year or two but once I found the things within that field that fit my personality, that's when I felt more comfortable and could push myself more and ignore the BS that I didn't really like.
I completely agree about the "passion" thing. You can develop curiosity and interest about anything.
Thank you for mentioning this "passion" problem we have. I did a count once, after I nearly became apoplectic after reading yet another job ad that looked for a "passionate" programmer.I counted the number of times Passion was mentioned in job ads for programmers on Find Bacon in NYC. I compared it to the number of times New York itself (where these jobs actually were) was mentioned- and whoo boy! It was something like 4 times as many mentions of the word passion. Wtf does that even mean? That someone foregoes all else like a priest while they code up liked lusts for your company? I worked in the fine arts before, and no one mentions passion... ever. It kind of goes without saying that you have a work ethic if you can play your instrument at a professional level. We all understand the effort that requires. This love of the word passion would be a red flag for me, if it were not like the word "like" used to be for tweens. I sure wish we could all take a break from it and put some actual psiion into understanding what we actually need from employees. The usebof this word speaks to a need to hire young people who have not yet learned their worth and to set boundaries. It is like the hiring equivalent of a middle aged Humbert Humbert trying to lure a sweet young thing with a copy of Rilke's Letters to a Young Poet. Cannwe all please agree to a break from this word?
Who cares? Can they do the job or not? Do they have the work ethic and professionalism to continue to do so?
The vast majority of people, including those who excel at their respective fields, don't love their jobs. This industry needs to stop using "passion" as a lazy signal for work ethic.
> The most boring developers I work with, the the ones who only learn to code while in college and never developed any interested to learn before that.
Again, who gives a shit if they are "boring"?