> they must demonstrate commitment above and beyond their contracted work hours, and express constant satisfaction and happiness about their work
My wife and I are both software engineers and that is a nearly constant source of stress for us. In our experience, people in our field frown upon people who treat software engineering as just their job. Two things I recall from my experience that illustrate this:
- I had a team lead who once said, "I don't want people in this team working like this is a 9-5 job"
- Something I heard from someone in a team that worked close to ours: "the candidate was solid in problem solving and coding ability, but we didn't hire them because they didn't show passion"
This sort of bullshit is pervasive in our field and IMO is what the quote above is referring to.
It doesn't have to be like that. Personally, I work for a small company that manufactures a physical product (shoes actually) and manages a few retail stores, but also develops most of its internal software (CRM, ERP, BI), tools, website and shop in-house, which results in the fact that development and software engineering is just one of many areas the company focuses on.
I can't remember the last time I couldn't leave 4 pm sharp with the rest of the colleagues from manufacturing, sales, design or accounting. It's certainly long ago and rarely happens.
Plus, being a two man dev operation we enjoy a lot of freedom and are able to chose technologies and tools we see fit for the task. Furthermore you are confronted with all kinds of real world problems, interact with people of all trades (as opposed to living in a SV startup bubble) and colleagues value our work, actually perceive it as some kind of magic (in contrast to being code monkeys). To me this is a very enjoyable work environment, that combines the best parts of a 9-5 job and exciting startup atmosphere.
I was in a similar team and really enjoyed it for a number of years. Left when I realized I would "top out"--there is only so much room for advancement at such a company. I also couldn't justify learning and deploying all kinds of new tech for the company (because it would be a bad decision for the company to have a number of heterogeneous systems), and that was decaying my skillset.
Yes it is, but it is not everywhere, and it completely goes away on consulting. Suddenly companies are a lot less interested in 70 hour weeks when they cost almost twice as much as 40 hour weeks. Older, wiser developers often end up contracting or picking employers that are not that exploitative.
Those good jobs exist, and they don't really pay worse in absolute terms. In fact, they often pay better when you calculate your pay hourly. So just pick the right employer and get out of the awfulness you describe.
What bothers me the most about this is that passion and wish to work 9-5 are considered mutually exclusive. This feels like passion for software engineering just means passion for cranking out code for the company 24/7.
Of course this is just a personal anecdote but during heavier work weeks I have very little energy or interest in any spare time hacking. In contrast on normal 9-5 weeks I tend to do a lot more of reading, coding and other things that develop my professional skills and enable me to perform better in my day job.
For some people it's a passion. For others it's a job. IMO anyone who is passionate about their work will have greater success and generally be more innovative. I'm sure this is true across all career paths not just engineering.
In software there is no one right answer, the passion comes into play when you look for the most elegant or most performant solution, that may not be obvious on the first pass. This makes it a highly creative position, which I don't think software engineers are given enough credit for.
So while I wouldn't have phrased it in the way that your lead did, I personally look for people passionate about their jobs. The actual hours they keep are less important (though should overlap with their team).
> IMO anyone who is passionate about their work will have greater success and generally be more innovative.
That is true, I don't dispute it. What I dislike is the shunning of those who want to do it just as their job.
Also, passion comes in different forms. For example, I am "passionate" (as much as I hate the term) about delivering reliable, secure and well-documented products. Sometimes a project will be focused on that and my passion will show, other times projects focus on things I just can't get myself to care enough about and will only do as much as is strictly necessary to get the job done.
I ran a project recently where we'd hoped to do everything in 30-hour workweeks, but it quickly became apparent we'd need 80-hour weeks to complete it for our deadline. We ended up working about 3 weeks straight in a full-on 80-hour-a-week sprint.
Usually I hire for passionate people, and usually it isn't because we need 80-hour workweeks. Usually it's just because the output is often better, they notice more mistakes, take more initiative, and bond with their teammates more.
However, in this case, suddenly we had to switch from, "It's a 30-hour per week project," to, "It's an 80-hour per week project," and because most of the team was deeply passionate about it, everything was fine and everyone continued to show up and do fantastic work until we completed the project.
We had two team members who refused to stay more than the 30 hours per week we projected at the start. Even if we offered them more money, they wouldn't do it, because they just didn't want to. Work-life balance, etc. But it was okay, because both were in non-critical roles. So we let them go and continued without them.
Had one of our hires in a critical role been "not passionate", we would've failed the project. But we didn't, because I made certain that when we hired the most critical roles, we hired for passion as much as anything else.
We were on-site in a foreign country. So the options if there were no passionate people to hire would've been, "Stay 9 weeks instead of 3 weeks in a foreign country, for 3x the cost, and do it in 30-hour weeks," or, "Give up."
Fortunately for me, I suppose, there were and are people passionate about our business, mission, and industry available for hire.
You don't need passionate people for everything. I prefer dispassionate hires for repetitive roles that need steadiness and regularity. If we need a guy to clock in every Monday morning at 7 AM and clock out by 4 PM and do the same work every day and do it consistently, that's a role where we don't need "passion", and where passion would even get in the way (passionate people want to get more involved, they want more tasks and assignments, they want promotions, etc. Great for some roles, but not for the repetitive grinder roles).
But, yes. There is a distinct need for passionate people. There is a market demand for them. It isn't just "Company X is cheap and wants twice the work for half the pay."
Sometimes you want the guy who's going to do it "just as their job." Sometimes you want the guy who's going to do it as a personal mission, as a great undertaking to accomplish.
It depends on the role, the project, and the hiring manager. But that's market forces for you - different people, looking for different things, end up in different places, and command different positions, rates, and lifestyles. It's the free market. And it allows us to do things we could not if we were all forced to adhere to one single way of doing things. This is a very good thing.
Same here: a gig of mine, as a contractor, just ended prematurely because the client asked why I didn't seem motivated, and I answered truthfully: the tools forced on us were the worst I have ever seen in my career (we were using Rational Rhapsody as an IDE, on Windows, for Linux development).
The only alternative I saw was lying: it will pass, I'll re-motivate myself… Instead I merely promised to do my best, which no longer included motivation or commitment.
As long as you're ok financially until you get a new role, don't sweat it.
Hopefully moving out of a potentially er.. soul killing role (best wording I can think of) to something else will turn out to be the right move in hind sight. :)
I thought the call-center example was dumb too, but he got his point across. What you describe is the way I read it as well.
That's why I don't think I'm going to pursue a career in software engineering despite doing it as a hobby since a young age. I think there'd be some irreversible damage to my brain if I used something I've liked and identified with for my whole life as a means to do something I hate. To me it seems like a form of self-induced brainwashing. I'll stick with blue collar jobs. The pay is not nearly as good, but my mind can be free.
If you can limit it to normal shifts and control overtime, it's not so bad. Also, it depends on whether working conditions are reasonable or not. My company could manage essentially none of that. Working conditions were extreme heat near a furnace (we had fans...), working hours were completely dictated by customer schedules and overtime was frequently required.
All of that added up to a perfect storm of awful working conditions. I was motivated to work as hard as possible simply so I could get the hell out of there every night.
A part of me dislikes that I turned what was a genuine interest of mine into my job. Software was a lot more fun to do before it became a professional thing for me.
Well when I interviewed in Japan for a traditional bigco, they asked me whether I was committed to working there for the next 40+ years of my life. So there's that, in other parts of the world.
Was this a software development job? I've wondered if having people stay that long would improve quality (self interest in maintainability) or lower it (less exposure to new/different ideas).
I am on the fence on this one. On the one hand I completely agree that we should be able to treat it as a 9-5 job. On the other hand, I have worked with people like that and I far prefer working with those with some passion in the field.
Our field is constantly changing and it requires that we keep up with the trends (not unlike medicine or other well paid careers). Its a pain in the arse having to explain a better approach to people who have never bothered to learn anything more than what they got taught at university ten years ago.
I actually JUST left my company this week to do freelancing for this exact reason. They tell you to not work over 40 but then they give you more work than you can reasonably get done in a normal work week so what do you do? Either get behind on everything or you work many extra hours.
Not only is it common for companies to assign you more work than you can do in 40 hours while asking you to work no more than 40 hours, but it's also quite common for them to make you feel inferior if you don't accomplish the assigned herculean labors in 40 hours or less.
I had a boss who would constantly tell us about some wizard team mates of his at another company who could perform miracles and knew everything. I'm sure he thought that he was inspiring us, but it actually made at least me feel like a complete bozo.
No, I can't perform miracles. I don't know everything. I have better things to do with my time than devote my life and my blood to the corporation.
I don't want to work with you if you're a nine-to-fiver either. I'm not saying there's anything inherently wrong with you for feeling this way but I don't want to work with people who don't love what they do.
Edit: to clarify, by nine-to-fiver I mean someone who is just punching the clock in order to make a living but does not care much about what they are doing. I don't really care what hours you work if you're really into it when you do.
Why the false dichotomy? Can't someone designate a certain amount of time of their day to work, and focus on other things in the remaining hours?
I love writing software, but that does not mean I don't love other things. Years ago I lived and breathed software. That's not the case anymore. I'd much rather help my daughter with her homework than read about the latest uber nifty JavaScript transpiler that will change my life and make everything awesome with unicorns and whatnot.
Our field churns the same ideas over and over. After a few years things get old really fast.
But there's what I said in another comment in this thread: I love writing reliable, correct, secure, well-documented software. Focus on those and my passion comes out. But come 5-ish o'clock and you bet I'm leaving the office to pick up my daughter from school and spend some time talking with her about her day and what she learned and whatnot. And then my wife will come home, we'll have dinner and we'll spend some time talking about our days and watching TV. Without those things I might as well not have a life.
I don't like it when there's an expectation that I'll be available to work 24/7. I don't want people expecting me to be on social media promoting my work or things related to it. I'll disappoint anyone who expected me to think of work as my life's mission or anything like that (unless I'm using my skills to help find a cure to a serious disease, or realistically help solving the problem of poverty in the world - that would change the game).
I have a number of interests in my life that are completely unrelated to work. Those are the things that I live for. Working is a means to bring in some cash that enables me to enjoy other things in life.
Because you're a child looking for fun? (And will create yet another cookie-cutter framework named something childish.)
To satisfy a need for validation because you aren't an adult?
To make great products? (so someone else can make money.)
Because it's new and shiny and trendy and you need to keep up with the Jones's?
Why is an experienced coder so much more efficient than an inexperienced coder? Because they have learned many infrastructures, frameworks, and algorithms, have learned through experience not to make certain mistakes like over-complicating a problem or seeking clarity to a problem prior to coding it and thus understand the cost of requirements, and have picked up good design habitations like divide and conquer, coding without making assumptions, or multi-tiered architectures.
Most Managers don't understand the foundation of good software and great IT infrastructure are solid requirements. That requires a solid investment, like a building foundation, in analyzing the business; great managers know enough about a particular business that they can spot the mistakes analysts make in building requirements and vet them so they don't change in major ways. Do colleges teach any of this? No.
When Changing requirements meets improper planning and tight project budgets (which may be tight because the company is in trouble, or may be tight because the Project Manager is incompetent), it means over-working staff to hit those changes which produces cognitive pollution. That pollutes the code base with too many assumptions, and pollutes the staff's minds with bad habitations and expectations. Eventually like any pollution, it builds up until it becomes terminal; developers quit, the cost of making any change becomes terminal for the code base, and so forth. We've all seen it. More importantly you take a developer who's worked a 9-5, then spend 2 hours a night for the last 10 years learning advanced mathematics, or low-level compiler design, or other things that really create good habits and techniques, and you literally cannot introduce them to that environment because the environment won't be able to value them; it can't see through the pollution.
The tautology simply is the overtime exemption. If you don't have staff clocking in and out, there's not a chance in hell of you ever figuring out how much time it takes to do any project, which in turn, feeds the tautology. Very simple question to ask at an interview "Do you track the hours of your software developers?" "Well no." "Why would I want to work at a company, overtime-exempt no less, when the management has no idea how to estimate the hours consumed for a project?". We get into concepts like "We practice scrum and estimate the story points based upon"; you sound like a 5-year old when you start talking that kind of jargon.
The pollution sloshes around in the talent pool, and companies end up with poisoned projects because of it.
There is a huge difference between not having passion and not wanting to overspend it.
I once believed the usual propaganda about "passion" and "work hard, play hard". But I was so miserable at my job that I actually wanted to quit software engineering for good. Fast forward 5 years and I now have a 9 to 5 job (8 to 4 actually, which is even better for me). I can assure you that the main difference is that my current job is emotionally manageable and, more important, sustainable. Which is good both for me and for my employer. Meanwhile, I've seen lots of burnout on people who continued to believe the propaganda. Which is, again, bad both for them and their employers.
Forgetting about my job duties and considering myself unemployed from 4PM to 8AM has done wonders for both my mental health and my output at work. It's a win-win situation.
Those things aren't mutually exclusive. I've worked with plenty amazing people who enjoy their job at which they write fabulous code and then go home at regular hours and spend many hours on their personal projects or just playing around with new, interesting technology. Unless you own part of the company you work for that's probably the smarter thing to do.
What I find concerning are people who write mediocre code 9 to 5 but don't do anything to improve their skills on their own time.
I feel like everyone who downvoted you is missing the whole point of the article that was posted.
The point is to imagine what your life would be like if you didn't have to work for money. Imagine if you could work on startup ideas and software projects simply because you were passionate about solving a problem or creating something, and not because of the money. And it doesn't even have to be something useful, or something that people will pay for. You can work on literally anything you love doing, and you can find people who feel the same way.
That's the opposite of a "nine-to-fiver" who is primarily there for the money, although they might also enjoy the work.
Of course, you can be passionate about working on something while maintaining a healthy work/life balance. That's not really what people mean when they say "nine-to-fiver".
Imagine if you could work on startup ideas and software projects simply because you were passionate about solving a problem or creating something, and not because of the money.
I've been in this position, and I've concluded: if you really have no financial constraints, you'd be daft to spend your time working on a startup, or solving the dull, pedestrian problems that are of such utilitarian concern to society.
If you're creative, why wouldn't you just be an artist and make things that are personally and intensely meaningful to you (but only to you)?
If you're an engineer, why wouldn't you just spend your time inventing new esoteric programming languages to implement Conway's game of life, rather than the drudgery of, say, making and debugging a robust automated toll booth, that could save society millions of dollars? That only makes sense if you're anticipating an eventual return to the monetized (wage) economy.
Or - start a family and invest your full time into raising and educating your own children - probably the most rational choice, with the least value to the rest of society.
I get far more enjoyment out of working to fix actual problems for actual people
I'm with you - the catch is, how do you know what are the actual important problems, except by how people allocate money?
We could each list a thousand problems that ought to be solved, but we can only work on one thing at a time. Thus we use a scarce resource (money) to communicate our actual priorities.
> ... the catch is, how do you know what are the actual important problems, except by how people allocate money?
Attention is another scarce good that has value. Many open source projects have value because they are solving a problem many people have. The original authors knew they were on to someone because people laid attention to the solution.
> invest your full time into raising and educating your own children - probably the most rational choice, with the least value to the rest of society.
That seems like a strange way to describe preparing the next generation. :D
Don't most people consider raising and educating their children to be one of the most valuable things to be done for society? eg having more knowledgeable/skilled/clueful young is better "for everyone" (as a generalisation) than not
If that's the case, then your specialized economic role in society is purely as a professional breeder. Other people would need to see that you are contributing your fair share by raising your own family, and be willing to supply you with food, shelter, etc in recognition of this.
In fact people generally don't recognize this value. If I thought to myself, "That's a fair division of labor - I'll do the work, and instead of raising my own kids I'll support this guy's family" - my own genes would be removed from the pool pretty quickly (unless group selection pressure were so intense that this was the only way we could out-compete the neighboring villages).
On the other hand - if you were willing to raise my kids alongside your own (as a teacher or babysitter), there's a much better chance I'd see that as a fair exchange of value.
Well, you may be on to something with this idea. I believe that with the exception of humans, all eusocial species have specialized reproductive castes, while the workers are sterile. Certainly some humans are willing to give up their own reproductive success so others in the group may be fertile. We have professional "adult entertainers" so maybe it's a small step to professional parents?
I'm not arguing against Universal Basic Income - provided that, in practice, the proportion of people who elect to work for money remains relatively high.
I am arguing against the idea that we don't need money to create incentives.
It's really a shame you're being down voted for expressing a very legitimate viewpoint about who you'd like to work with.
Like you said, there's nothing inherently wrong with people who have other priorities or aren't passionate about their job. There are plenty of positions that they'd be a good fit for.
But it's equally true that if you're really passionate about your work (to the point where it's your top priority in life) you want to work with a team that is equally motivated. There's nothing wrong with that. A top professional soccer player would be unhappy if they were asked to work with a team of amateur high school players.
My biggest frustration at work is the colleagues - most of whom are software engineers - that are inconvenienced when being asked to consider work outside of normal business hours. I don't really care if they are happy; that's what overpaying them is for. What I care about is getting one of them to answer the phone at 5:05pm on a tuesday and not getting a return call until 9:03 on a Wednesday.
What the fuck? What is unclear about the term "non-work" meaning anything other than "they aren't at work"? If it's not during work hours, it's entirely at my discretion whether I'll pick up or not. I usually will, because my employer is good to me, but your comment sounds entitled and of exactly the type of employer I wouldn't pick up the phone for outside work hours.
This is exactly the kind of moronic bs that I haven't and will not put up with. Executives most of the time are paid, and compensated to be there 24/7. Software engineers are not. While founders and other execs have tendency to forget that - deal with it. I am there between 8am - 4pm, or 6am - 2pm or what ever it says in my contract. No more, no less. You want me to do extra hours, fine, most of the time happy to, you just need to pay me for it. Oh btw -- we have this online service that needs one or more of of the devs to bring it up if it goes down at 3am - well - don't expect me to pick up the phone unless you've set up the appropriate schedule for us devs to be on call, and that we're compensated accordingly.
Bottomline -- you want to call me outside work hours, then you better compensate me accordingly.
My colleagues have base pays > $150k/yr and I'm closer to $200k/yr. I consider myself very well paid, I'm grateful for it, and I'm available whenever I'm needed, within reason.
I once had a conversation with an HR manager in our Manhattan office, she was upset that the office cleared out at 5pm and how we didnt have a "banker's hour culture." I just nodded but knew the problem -- we had an underclass of workers, mostly H1Bs, on a tight HR-policy driven rate card, most making 2/3 or 1/2 that other workers were making. They made ends meet by living in outer New Jersey and commuting 2hrs each way. They jetted out quickly to catch the 5:35pm train out to NJ before express trains stopped. I'm sure the more we paid them the closer they could live to the office and the longer they would work. In NYC, homes and rents go down as distance to Manhattan increase.
I knew this as a fairly senior manager. Many people dont realize the stark differences in pay across different classes of workers. Getting up at 3am to fix a problem doesnt work for someone who needs to then get up at 5am to commute into work. It needs more thought and I did just that -- we had workers rotate night batch schedules and gave them Work-From-Home days or late-come-in-days during on-call periods. Even some of these things require thought -- allowing someone to come in late does'nt help if they live so far away that express/local train schedules dont make it feasible to come in mid-day...the commute ends up being as long as the half-day.
Sorry for the ramble, TLDR: be mindful of people's situations and things they dont control. Not everyone has it as good as you do. HR can save a dollar here but it comes out of productivity figures. Don't expect "banker's hours" but forget "banker's pay."
ASIDE: Several years later, the HR group got absorbed into the executive offices in posh rural Connecticut, where few low-level workers could afford to live locally. Low-level workers were required to visit the head office 2x/wk. The same exact HR manager then complained (in earshot) of how her commute was close to 3hrs each way and how she planned to sneak out at 4:30pm because she couldn't take it anymore.
Do you consider six-figure salaries "not paying for it?"
I have no doubt that if I wanted to work a strict 9-5 schedule I could easily do that as a developer. There are plenty of big companies which have a punch-in/punch-out system. They also pay less than market.
On the other hand, if I'm making hundreds of thousands of dollars a year then I think it's pretty damn reasonable for me to work longer hours and to be available at random times.
I don't think the fact that developers make hundreds of thousands of dollars means they have to put in more work.
They are being paid to create a certain amount of value, and capture what is generally a small fraction of it.
How does your logic scale? If a dev making $200k per annum has to put in 10 hours a day, does an executive making $600k per annum have to put in 30 hours per day?
It's not that making more money inherently means you have to work more, it's that if you're making a lot of money it's ridiculous to complain about the hours.
Developers are not a subjugated underclass. If you really only want to work 40 hours a week, there are tons of employers who will happily hire you as a developer (at a lower salary).
There's no reason you should be entitled to both a high salary and a short working week.
But now you're making a subjective statement about the pay. Without context (supply, demand, how much revenue you generate for your employer), how to determine what is highly paid?
I fully reject the idea that more hours should be a requirement for good pay.
Further, as a startup founder myself, I don't want my employees working much more than a 40 hour week. I have found* I prefer the work produced by someone with work-life balance, than someone who works all the time.
* subjective sampling of colleagues/coworkers/direct reports/hires.
If you are being paid more than the median American, and have options which would still pay more than the median while working less, then complaining about being overworked is ridiculous. There are simple solutions of just getting a different job.
If you don't want people working more, by all means manage your company that way. The market will decide if its an effective strategy.
I have a work phone for that purpose, currently. When I took the position, it was made clear that there would be occasional times that I'd need to work odd hours, and that my employer was going to pay for a method to contact me.
We're changing management though, and in the new management's eyes, my position doesn't need to be contacted outside of work hours, so they're taking away the phones. Outside of an occasional pre-declared odd schedule, I won't have to deal with my job during my own time.
If someone takes a position where it's clearly expected that they'll need to work off-hours, and they fight against that, that bothers me. It's an inconvenience that they've accepted as part of taking the position. The reverse applies too; if it isn't clear to me that a position I take will expect a certain amount of work outside of pre-agreed upon hours, I'll resent when they start piling them on.
If you are constantly having a situation where you need them to answer a question as late as 4:50 on a regular basis, you've already failed.
I seriously mean that. Movies and revisionist history are full of companies that successfully pulled out last minute victories. Real life is full of companies that kept that death march until the end, and blamed the workers for not keeping up.
I've been on both sides of this equation: not wanting to be availble outside of "business hours" and also feeling frustrated when colleagues aren't available when I need them.
I view this as an engineering and social process problem: your systems should be reliably engineered such that off hours maintenance or other technical issues are minimized. This gets to the social part: people will be more receptive to off hours work if its a rare occurance.
Exactly. And why should you? Especially if your own efforts to make something "production worthy" are shut down -- indicative of both a social and a technical problem.
> they must demonstrate commitment above and beyond their contracted work hours, and express constant satisfaction and happiness about their work
My wife and I are both software engineers and that is a nearly constant source of stress for us. In our experience, people in our field frown upon people who treat software engineering as just their job. Two things I recall from my experience that illustrate this:
- I had a team lead who once said, "I don't want people in this team working like this is a 9-5 job"
- Something I heard from someone in a team that worked close to ours: "the candidate was solid in problem solving and coding ability, but we didn't hire them because they didn't show passion"
This sort of bullshit is pervasive in our field and IMO is what the quote above is referring to.