Hacker News new | past | comments | ask | show | jobs | submit login
Want to hire the best programmers? Offer growth (triplebyte.com)
599 points by ammon on July 23, 2019 | hide | past | favorite | 386 comments



It's a little peculiar how this blog post really pushes the inclusiveness angle despite the numbers showing clearly that it is not a big priority for prospective employees. They even go as far as highlighting that the sampled women want inclusiveness 171% more than the sampled men, which sounds pretty strong, but hides the real story when you look at the _actual numbers_. Only 15% of women ranked inclusion as a top priority, which is telling.

It seems pretty apparent to me that most employees (and that includes all genders, races, etc.) don't care nearly as much about inclusiveness as their leadership seems to. After reading this post, it seems to confirm what I've suspected all long: people mostly want money and the potential to make more money in the future.


It is because it is SEO spam. TripleByte regularly posts these here in HackerNews to promote their hiring platform. People seem to like it nonetheless


It is SEO spam, and TripleByte does seem to use a lot of "growth hacks" or something, because I see their ads on pretty much any platform that I see ads for (like on mobile apps, where I don't have any easy-to-use ad blockers), and they're mentioned on HN at a surprisingly high rate.

But (I think?) I've seen people here genuinely recommend them, and I also don't think YC would work with and promote a company they didn't like or trust. Companies' marketing and sales teams can sometimes have a very different vibe and sense of ethics compared to the rest of the company.


They do advertise very aggressively, to the point where I think they risk damaging their reputation. But I guess they've done the analysis and decided it's worth it.

I went through their process and got lots of practice interviewing. Even though I didn't take any of the offers I got through them I was able to use one to negotiate a much higher salary at the job I did take. Their recruiters and interviewers treated me respectfully and professionally.

So I'd recommend it, especially if you're very good and/or smart but not an attractive candidate by conventional standards. If you have 5 years at Microsoft or something then you probably don't need them, since you can interview wherever you want at that point.


If a tree falls in the woods because a ex-YC partner chopped it down, it makes a sound that everyone else can hear


Not sure what you're alluding to there, but no YC or ex-YC partnerness had any effect on this thread. Users upvoted it, for whatever reasons users upvote things for. HN moderators didn't touch it, let alone anyone else at YC.


It is dangerous to speak to others allusions, but I believe both that HN moderators/YC had nothing to do with the strength of the thread, and also that YC or YC affiliated companies occupy more of the HN consciousness than other companies of the same size, space, etc. An analysis would actually be really interesting, but I would bet, and agree with OP, that YC companies are naturally more occurring on the top/active HN lists, and (less analyzable) not always based on the strength of their articles, blogs, actions, but rather their affiliations.


Not in vain they are dubbed TripleSpam


As I type this, it has 565 points on hacker news. That's quite a distinction for a post that is just “SEO spam”.


"content marketing"


> Only 15% of women ranked inclusion as a top priority, which is telling.

The problem with top rank only is that the top spot is basically a dice roll between various things which are important for people. A "top 3" (or another number significantly smaller than all categories asked, but more than 1) is usually far more interesting and less driven by chance. That doesn't invalidate what you wrote - maybe it is unimportant for most people, but there's not enough data here to tell.


Top rank is a random dice roll but the things that were voted by less people are less so?

I’m not sure what argument you are making.


The point is that it's usually pretty easy to say "here, I give you 15 categories, tell me 3 which are important to you" while "find the one most important" is not. The order between top picks is mostly arbitrary.


Furthermore, are we comparing big differences in a variable (money, opportunity, interesting work, workplace flexibility, etc.) or small differences? It's a lot easier to say these three things are fairly important to me even if the deltas are not huge than it is to say one variable trumps all.

Sure, money is important to most people at some level. But for many, it's important relative to other things in that it can't be dramatically lower at one opportunity vs. another. A bit lower? That's maybe OK if other factors balance it out.


It's not a big priority, but it's by far the biggest difference in priorities by gender in the data that they're showing.


It's the biggest by relative percentage difference but in absolute terms it's second to salary. I'm not sure it's a useful measure. It exaggerates the effect when one number is small as seen with autonomy. I agree with GP, it looks peculiar.

Inclusive workplace has an absolute difference of 10% but has a relative difference of 171%.

Salary has an absolute difference of 15% but has a relative difference of 43%.

Presumably the relative difference for flat organization (0% and 2%) would be larger.


You're right! Thank you!


Well if 0.1% men cared about something, and 1% women cared about it -- that's 10x difference in that priority.

But still a blip overall, that can be ignored.


Seems like this aligns with my intuitions about what people care about.

"Inclusivity" doesn't mean anything by itself, it's a synonym for diversity, and these terms themselves essentially mean bias in favour of women. Large majorities of both men and women want to be measured on merit, not many want to feel like they got a job or promotion because of their gender. So no surprise it's not popular and indeed, never has been. The trend towards it is because a small minority care about it more than anything else and go on the attack if they don't get it. The silent majority doesn't care.


I guess it will be low on priority list unless you have somehow suffered the consequences of a non-inclusive workplace. Especially since a non-inclusive workplace in general mostly means that everything is fine as long as you are a man.


Priorities can also shift as different levers are pulled. You'll care more about inclusion when your expenses are less than your income.


None of them marked lack of violence or emotional abuse as a priority, either. Telling that even women - Females! - didn’t even write in to mention it.

After realizing that, it seems to confirm what I’ve suspected all along: people mostly want to money and the potential to make more money in the future.


> people mostly want money and the potential to make more money in the future.

Adding to that, without too much risk or responsibilities.


[flagged]


Please don't take HN threads further into flamewar. That's exactly what we don't want here.

https://news.ycombinator.com/newsguidelines.html


[flagged]


Please don't respond to a bad comment with another bad one. The site guidelines explicitly ask you not to do this.

https://news.ycombinator.com/newsguidelines.html


You're right. Can't delete the comment any more but I edited it.


I'm a software engineer with ~3 years of experience. I also want professional growth. Partially because I enjoy learning and growing my technical skills, partially because I want to move into more leadership roles, but a huge part of it is because I know that if I'm good, I will be paid a massive premium for it. levels.fyi sort of convinced me that being a good engineer is a life changing event for more than 1 generation. I answer questions like these as growth primarily because I know growth is an investment for my life long earning potential, and I just so happen to have a passion for growth to begin with---it's a lucky combination to be drawn to.

I'd love to see questions like this phrased to account for this: "Opportunity for professional growth, to grow my future earning potential." "Opportunity for professional growth, because I enjoy learning new things." "Opportunity for professional growth, to reach a role I cannot fill with my current skills."

I know the article tried to address this with the responses, but that's sort of the default answer you give in this field. No one really says, or enjoys hearing, "I want to learn more so I can make more money".


> "Partially because I enjoy learning and growing my technical skills, partially because I want to move into more leadership roles, but a huge part of it is because I know that if I'm good, I will be paid a massive premium for it."

And it's one of the unfair things in life that jobs that pay more often get other benefits as well. Making $40k/year? Chances are you get 2 weeks vacation, inflexible work hours, inferior equipment. Making $200K/year? I'll be you also have top of the line equipment, no one keeping close tabs on your hours, 4 weeks or more vacation, money to go to conferences, etc.

A mentor of mine once told me that I should seek to make more money, even if that's not my motivation. He said that more money is always nice to have, but also that when someone pays you more, they respect you more, so you get all the benefits that come along with that.


> when someone pays you more, they respect you more

The counter-example to that could be that once you're senior enough, you are never 100% on vacation. If enough goes wrong, you will get called back to work.


I give my boss/coworkers my wife's phone number when I go on vacation. I tell them you have to talk to her to get to me. I then put my phone in airplane mode 95% of the time and use it as a camera. I'll occasionally undo airplane mode to upload photos or check the internets for something, but vacation for me is usually unplugging as well.

I've yet to be called with this strategy.


Funny, I tried this once when I was on call and I still got called. And for a while after that, whenever someone couldn't reach me on my phone, they would call my wife. So really, it was a lose-lose.


Maybe I don't understand your situation, but screening your calls and staying in airplane mode while you're on-call doesn't seem to be appropriate.


It wasn't on purpose; that particular weekend we were going somewhere my phone didn't get any reception, but my wife's did. So, not exactly the same situation as OP.


That strikes me as wildly out of bounds. I imagine your wife has a job too, and her own work issues to deal with. I'd be very upset with the individual bothering my spouse because I hadn't returned their call fast enough for their tastes.


People in desperation tend not to think things through, especially when customers are the ones telling them that there's an issue. After the second occurrence, I explained to the relevant parties that my wife's phone cannot be used as a secondary contact for myself, and it didn't happen again after that, so I chalked it up to a misunderstanding. It was annoying, yes, but no one was pestering my wife on purpose.


You're somewhat more generous than I am. I'd have told my wife to just block that number, and waited until I got back from vacation to explain that it'll happen to anyone else who calls my wife for anything other than an existential emergency as well.


He also knew he was on-call and went somewhere where he didn't have reception. It sounds like he knew that might be an issue so gave his wife's number as a backup. That's basically training the person who has to escalate to use his wife's number as it's the one he responded on. I don't think he's being generous at all, it seems like an obvious outcome of being on call and not responding on his own phone.


This is accurate, although to be fair to myself, I didn't know I would be on call until after the plans were made. With that said, I take issue with this being an "obvious outcome" and the notion that I was "training" our staff to use my wife's number. I was explicit with the company (at least I thought) about the need to use her number only being applicable for that weekend; the fact that some people tried to use it when I was on call again in the future is on them. Mistakes happen, and everything worked out just fine, but I don't see how that part was my fault.


I suspect "training" here was meant much in the same way the person in the following story "trained" their cat that they're entitled to food when they high-five:

https://the-sky-traveler.tumblr.com/post/152838744627/my-bro...

> my brother is teaching his cat how to high five by giving her a treat every time she successfully taps her hand to his hand, which is all well and good, but now she thinks that she is entitled to food every time she high fives someone. i can’t eat in the same room as her anymore because she’ll just bap my hand rapid fire and then go nyoom straight in for my pizza like no Kelly that’s illegal go finish ur own dinner


Yeah - that's fair. I was responding more to natefox's parent comment, where he was on vacation rather than RussianCow's on-call scenario.

I should have worded myself more clearly...


Is giving them your wife's phone simply to discourage them from calling for non-emergency situations? Because in an emergency I highly doubt it would prevent my employer from getting in contact.

I do agree about unplugging, but I've never had a vacation ruined by having a work-related text or call steal my attention for 5 minutes. If me being reachable (not necessarily _available_) puts my employer at ease then it makes it easier for me to take the vacations I want to take because they're more likely to be flexible with my schedule during busy times.


That's honestly an amazing strategy. Adds a pretty big extra layer of thought about whether the decision to call you would be worth it.


> Adds a pretty big extra layer of thought [..]

I don't think the average <employer/line manager/assistant actually making the phone call> cares about it nearly as much as one might think they would:

Boss: "we need to reach $person urgently, get them on the line for me..." <walks back into office>

Assistant: "Sir, yes, sir"* <looks up numbers, calls $person's wife>

* or local equivalent


Not just that, but they also need to convince your wife that you're needed


That has nothing to do with seniority, it's 100% about how you draw personal boundaries between work hours and personal hours. You can make it clear that you will be completely unplugged during vacation.


Once you are an executive, you often have contractual obligations. You are the key decision maker people escalate to. If time sensitive things that need a decision to be made the buck stops with you, no matter where you are.

To give an extreme example, the President (of the US) is never truly unplugged. In the cases where the president is truly unplugged, SoP is for that person to temporarily stop being the President.


Delegation of authority is key here. If not for the commander in chief role of the president it’s conceivable they could just delegate decision making to the cabinet.


You can absolutely do that, but then you will not get promoted past a certain stage at most companies. I do this because I'm not yet in a very senior position but if I were managing 100 people and in charge of an entire product I doubt I could do that


This makes a lot of sense but goes against the article. Making more doesn't always give you more freedom. If you want power you have to pay for it.

In your case why would you push for a higher role knowing the tradeoffs?


Because the money is worth the loss of flexibility, for me, under certain circumstances (envision a yield curve of salary vs. some proxy of work-life balance). Specifically I think the tradeoffs are worth it up to staff/senior staff and first rung of management, depending on the team.


That depends on the position, I believe it is easy for a software engineer in a big corp. For senior management or an engineer in a small corp with lots of domain knowledge: a lot harder.

The second set of people can try but when shit hits the fan they will have to explain what happened and why it couldn’t be prevented.


You can make it clear that you will be completely unplugged during vacation.

To get to that level you will need to go through levels where you can’t do that without jeopardising further promotions.


Only if you are not good at process. If you have solid practices, documentation and system design skills you can make yourself removable, then you can go on leave whenever and things will be fine.

A good way to measure this is look at how long it takes to do handover when someone leaves a project. If it is more than half an hour of showing someone where the repo is and a brief explanation then you have a problem that can be fixed with better processes. Ideally, someone should be able to pick up a project or a product very quickly as all the information they need should be in a simple, easily navigable format that they can consume and understand. I realise that is an ideal case but if you are senior enough to lead you can be senior enough to never make yourself a dependency and that callback never comes because it is never required. Ensuring management above you understands your value is another problem (anyone who can code themselves out of a job is worth keeping around and giving harder jobs to and good managers will understand that).


Or even nothing goes wrong suddenly. Once, I had a vacation planned for six months and had to spend the long weekend cooped up in my hotel room overseeing a complicated migration.


To play devil's advocate, why was a migration so complicated that your engineers couldn't do it without you if it failed, being done on a vacation that everyone knew about for six months?


I won’t say anything the planning, but I’ve learned that migrations are usually hard, in the sense that you have to deal with poorly understood, seldom documented and, almost always inconsistent data. And at the same time critical since you usually can’t afford much downtime between the shutting down the old system and start using the new.


Planning something over your vacation and expecting you to work on it is just your manager being a dick. If they can do it without you, they should. If they can't do it without you, guess it can wait 'till you get back. Not like you dropped it on them last minute.


> once you're senior enough, you are never 100% on vacation

This has not been my experience either personally or by proxy to my more-senior colleagues. But it may be I have found myself in a particular niche which is non-representative.


That is more of mark of desorganized workplace then something inherent to senior role.


I disagree. For reference, I work in a big bank and all the high level people are always on call when fecal matter hits the rotating turbines. Often times, theres an issue with this or that feature in production or we are having an issue with a release and we need an emergency signoff. The process stipulates that a high level person is required to give this emergency signoff, and they often want to know what happened, what are our options, which one we chose so there's usually a lot of time spent chasing down answers or people who can answer those questions.


This sounds like a disorganized workplace to me. The standard thought experiment is: what happens if <supposedly important person> gets hit by a bus and dies? What if they're just in a coma for a few weeks? The response to the first satisfies a sudden "I'm quitting" and the response to the second satisfies a sudden "I'm going on vacation". Business is more forgiving of course, since both quitting and vacation planning typically have a time delay.

The simplest response for both is to delegate: "<person y> now has temporary or permanent authority in the decisions <person x> used to have". That means you need to have a person y for each person x and there needs to be enough trust that person y will make decisions that x would approve of (even if sometimes different). If you're a single-person startup, there is no person y, but then these questions aren't really relevant. As the Pinboard FAQ says, the answer to what happens is the bus will be fine.


I am going to hazard a guess: you have not been exposed to some of the nuttier regulations within this space.

The regulatory demands in financial technology, and especially in those industries where both the regulators as well as majority of the players may not be technically literate, are effectively the anti-thesis of robust and reliable engineering. When the industry regulations demand that for every potentially disruptive action (recovering from an outage is very much potentially disruptive) there has to be a named individual - not even a role, but an individual - to sign off on every single release step... This is why an outage can last for hours. An engineer, or even a lead, is with high probability not allowed to sign off on an out-of-hours deployment. The fix might take 20 minutes to identify, 5 minutes to implement, 15 minutes to test, and 10 minutes to roll out. But until the organisation can get the named [supposedly responsible] person online, the fix must wait, unreleased.

And the irony? The wider dysfunction may be imposed by the regulations, but it has been requested by the industry at large. It is the result of the industry players, majority of whom are incapable (read: technologically illiterate) of interpreting prescriptive regulations. So instead of figuring out how to meet expectations and adapt their processes, they have been lobbying for the regulators to come up with highly descriptive playbooks and step-by-step instructions. These sequences then specify rules and requirements that allow technologically incompetent players to comply, even if they do not understand why they are doing the things.

And then these regulatory playbooks become the One True Way[tm], effectively forcing dysfunctional practices, but also actively preventing any process improvements.

It's cargo-culting taken to the extreme: "do this and you will not be found to be non-compliant, even if the quality is utter shite". The worst part of this all is that the descriptive regulations make every effort to strip engineers of their agency or decision power. Every "modern" best practice is explicitly ruled as non-compliant and hence effectively illegal. I use scare quotes around modern to highlight that these practices are by no means modern and have been known since ancient times. There are research papers from 1950's that explicitly endorse [rapid] iterative bottom-up approach as the only sensible way forward.

The finance industry regulations explicitly reject them because these studies assume that engineers can be trusted to know what they are doing.

So... to anyone wondering why finance industry jobs are generally thought of as soul-sucking: that's why. They are subject to regulations, expressly designed to deprive individuals of their agency.


I have consulted in very large financial institutions. Yes, there are a lot of rules. At the same time, those rules will be 'creatively interpreted' if not skirted all the time to keep disruptions to a minimum. 'The rulebook' treatment was in fact a sure sign of internal political power games being played out.


Thanks for the great comment. I don't think we're in disagreement. Government-mandated disorganized workplaces are still disorganized... I wonder about the thought experiment for such an environment though. Tragedy has a cruel way of striking from multiple vectors. You might have a critical issue that demands immediate deployment of a fix, but just before then you learned that the only named person who can legally sign-off on the deployment was involved in a fire and is dead/missing. I suspect the decision would get escalated to someone who might not have the legal authority that the dead person had, but who has enough business authority to make the call on whether the financial damage to the company from not rolling out the fix now will exceed the fine the government will impose for not following the regulation + any potential negligence lawsuit costs if the not-fully-approved fix causes even more issues.

You're right I haven't been directly exposed to such regulations (our emergency releases also require sign-off from management but there are multiple people who can approve and different people for different stages) and I don't ever intend to be. Even for something much lighter. At my current job I refused a request from my boss/boss's boss to go through the process of obtaining a Public Trust Position which would be necessary if I needed to debug my team's product for one of our government customers. Fortunately I didn't have to quit over it, and I still got promoted later. Other people on other teams just went along with it. So I guess I'd amend my thinking (aided by your comments on lots of the regulation in finance being self-requested) that for people who get themselves into a position where it's "not possible" to go 100% on vacation, regardless of the level of dysfunction at the org, many of them generally don't mind it. If they did, they could switch jobs, and anyone concerned about accepting such a deal should weigh that instead of imagining that there's nothing to be done.


Everyone who has not worked in the heavily regulated finance industry should read the above post, because this person speaks the truth.


As someone who has never worked in the finance industry, I feel like one shouldn't lose sight of the fact that the point of it all is to not have millions of dollars just vanish at random as often happens with Bitcoin. Making software engineers happy is not the point.


I agree with your sentiment. However, I believe you are missing the forest from the trees.

The desired result of the regulations is, first and foremost, accountability. This includes, but is not limited to, audit trails and provenance. But because the regulations have been written to specify exactly One True Way[tm] of reaching an adequate level of accountability, they end up causing nasty second-order effects.

As sibling comment by PeterStuer mentions, the unfortunate end result is inventive interpretation to avoid the worst of the disruptions. So from my point of view, the rules put in place to _enforce_ accountability have created perverse incentives to _reduce_ proper accountability.

That can not be a healthy situation either in short or long term.


> There are research papers from 1950's that explicitly endorse [rapid] iterative bottom-up approach as the only sensible way forward.

Interested in this... any links?


In my sibling response I mentioned that just 5 articles have been truly valuable. In no particular order:

DOI: 10.1109/MC.2003.1204375 ; "Iterative and Incremental Development: A Brief History"

DOI: 10.1109/AGILE.2013.17 ; "Continuous Delivery? Easy! Just Change Everything (Well, Maybe It Is Not That Easy)"

DOI (with link): https://doi.org/10.1002/spip.344 ; "The agile professional culture: A source of agile quality" [the article itself is pretty light on useful material but it contains some of the strongest individual arguments I've seen, all in one package]

Direct PDF link: https://www.futureworksconsulting.com/perch/resources/pdfs/t... [the valuable material is on the first page]

DOI: 10.1.1.428.5843 ; "Evaluation of Quality AssuranceFactorsinAgile Methodologies"

---

There are plenty of other reports and papers on the topics, but they bring very little to the table on their own. These five have provided me with a decent starting point. The references to findings and reports from 1950's are in the first one, btw.


Thank you!


I'll dig out the archive when back at the office, next week. There is plenty of research into iterative/agile development, slightly less into quality, and surprisingly little on accountability.

The most valuable sources have been just 5 (yes, five) research papers / reports. Luckily they sport citations, but sadly I haven't poured over more than a fraction of them so far.


Here is original statement I reacted to: "once you're senior enough, you are never 100% on vacation. If enough goes wrong, you will get called back to work."

If fecal matter hits the rotating turbines often that you are never 100% on vacation, then you have fecal hitting around all the time. It is not like seniors would be on vacation 50% time of year.

> Often times, theres an issue with this or that feature in production

You should not have often issues with features in production. You should have them once in a while, rarely. The situation that seniors are always desperately needed to fix crisis during their vacation requires workplace that is having crisis pretty much all the time.

Capable management does not generate projects that are in crisis all the time.


Emergency sign off is correlated with a broken process in my experience.


I don't know anyone that hasn't worked in a disorganized workplace then.


I definitely did. Once in three years project senior being acutely needed during his vacation? Sure. Every time senior is in vacation? No.

There being once a week release that needs senior involvement each time it happens so it surely hits also vacation? Badly organized.


I agree with your sentiment, but I don't think this is quite a "counter-example". The fact that someone gives you a lot of responsibility is definitely a sign that they respect you more. But yeah, along with more pay and responsibility comes the expectation that you take the blame when things go wrong. And if they go wrong during your vacation, it's up to you to fix them. This can definitely be true in lower level positions as well, but I agree with the sentiment that this tends to be _more_ true with upper level management.


> If enough goes wrong, you will get called back to work.

True, but if you're good at your job, then this should be a very rare occurrence! It's still well worth the trade-off.


Definitely. Called back to work from a holiday on a Thai island. CEO was near frothing at the mouth over my absence when shit hit the fan.


What the hell? Did you accept the call back to work?

> CEO was near frothing at the mouth over my absence when shit hit the fan.

I'd be the one offended for having my vacation interrupted.


Sometimes I wonder how such emotionally immature people become so successful. I know it’s common, but if I knew someone who started throwing a fit over something incredibly minor and predictable (an employee took a vacation) I’d think they were unfit for any leadership role.


I go on road trips... I'm largely out of range of decent reception on the road.


A nice side effect of this is, if you're making multiple six figures, your chances of being asked to work on bullshit projects that don't matter is much lower, and you can basically pick and choose what to do, and _tell your boss_ what to do as well. Money is not just compensation, it's also a powerful signaling mechanism. People just assume that if your time costs a lot, you must be super good. This is _mostly_ true, but not always. Some people get paid a lot for no apparent reason at all. The inverse, however, is often not true (yet the pricing signal is interpreted exactly as you'd expect): there are lots and lots of great people who are severely underpaid. Some are victims of circumstance, some just consider pursuing top dollar to be "beneath their dignity", majority (anecdotally, I don't have data) are just too lazy to do anything about it and change jobs once every 2 years as they should.


There's another thread that recently rose to prominence about ascertaining the quality of clothing and something along the same lines popped up: expensive clothes are not always high quality, but high quality clothes are generally more expensive -- the cost is a signalling mechanism aka heuristic and like any heuristic it can be gamed


> when someone pays you more, they respect you more

I can't stress this enough. The more I charged as a consultant, the more my clients would shut up and heed my advice.


The lesson every consultant, including me, seems to have to learn on their own.

When I went out on my own a few years back, it was a rush to sign any client at an hourly rate not that much higher than my previous salary rate. Those first clients were rough.

As you’re saying, I’ve also seen first hand the more I charge the more people take my suggestions seriously, and overall the better the clients are for my business. Go figure.


My first boss started to respect me after we had a shouting negotiation with him over my work contract. The employer-employee relationship is weird and toxic as hell.

Work long hours? Develop additional tool during your free time? Help clients more than your job requires? You are a sucker.

Manage to shout enough to get a raise? Now you are a champion.


> The employer-employee relationship is weird and toxic as hell.

Doesn't need to be in my experience, both the employee and employer can respect each other even when they don't get along well on personal level. However it is actually quite interesting that it is a relationship that can be weird and toxic, while still providing (economical) value for both parties.


I had some healthy relationships with bosses, but every employer I had who was a decent human ended up being fired by shareholders.

And yes, the strength of free market and capitalism is to transform greed and all the behaviors that come with it into a fuel that helps the economy for everyone. It does not transform these into virtues though...


Every time I hear these stories, I'm reminded of this classic Ribbonfarm post:

https://www.ribbonfarm.com/2009/10/07/the-gervais-principle-...


That's pretty close to class warfare IMO. I like this passage:

"A Sociopath with an idea recruits just enough Losers to kick off the cycle. As it grows it requires a Clueless layer to turn it into a controlled reaction rather than a runaway explosion. Eventually, as value hits diminishing returns, both the Sociopaths and Losers make their exits, and the Clueless start to dominate. Finally, the hollow brittle shell collapses on itself and anything of value is recycled by the sociopaths according to meta-firm logic."

This realization has stopped me from trying to hire people. I don't think I have the shoulders to be the chief sociopath.


I've had the same experience. Whenever there's money involved, people will take advantage of you unless you adequately convince them it's a mistake.


Maybe it's only made toxic by those who need to shout to negotiate a raise.


I know people who have killed for a couple thousand dollars. It's no surprise I've met many others who will lie, cheat, and connive for more. If people think you're a weakling, they will rob you. As a normal employee, you don't have many options for defending yourself besides clear verbal argument and leaving for greener pastures.


I hope you can make your way toward a less noxious & more trusting version of the human experience.


It's mean out here on these streets I'm from. I envy you.


You don't envy me, you don't know anything about me.


Well, you seem less noxious and more trusting.


This rarely has anything to do with salary and more so to do with what your company can afford.

I've made 60k/yr at jobs where I've had awesome equipment and flexible hours.

People respect you more if you get things done and solve problems. Not because you have a big salary. How often do you think people respect management?

Just geography alone determines salary. I could make double if I simply moved to San Francisco for the same job. Doesn't mean I'm "more respected".


> People respect you more if you get things done and solve problems. Not because you have a big salary. How often do you think people respect management?

That's not what the person you replied to is saying. The above person is saying that companies which pay well also tend to respect their employees more, so seek out a higher salary because those companies also tend to offer better benefits/culture.


That isn't necessarily true. There's a difference between respect and benefits/culture.

Some would say that Google, in all its free lunch glory, doesn't respect its employees that well consider they've had employees go on strike due to their policies.


I think a better example of this is Netflix. They make it a stated goal to pay you more than what you will be able to make anywhere else. They also are pretty straightforward about wanting a return for that pay :-) They'll milk you for all you're worth and if you aren't 100% anymore, they will replace you. They are completely above board and honest with their approach, so I think it's fair ;-)

Not saying that isn't a good strategy for some people (and I probably would have enjoyed that pace when I was younger), but it's not really what I think of when I think about respect and good culture.


Darn... I can't edit this any more. I'm bemused by the downvotes because usually when I get downvotes it's because I'm wrong :-) I believe this is the post where they explain how they do things: https://hbr.org/2014/01/how-netflix-reinvented-hr

I'd be very interested to know if this has changed.


> Some would say that Google, in all its free lunch glory, doesn't respect its employees that well consider they've had employees go on strike due to their policies.

The protests were mostly against sexual abusers/harassers and the arbitration policies. Are you implying that most other tech companies haven't had any executive-level sexual harassers? That most other tech companies don't have forced-arbitration policies?

How many other companies openly allow their employees to organize protests through company emails and forums? Not many. The open culture is what allows people to protest.

Disclaimer: I work at Google.


But they did retaliate against the organisers - some of whom have since left.

Most I got for mine (leading an actual strike) was a written reprimand -probably forced by the hr manger of a certain BT division (not the one I worked in)

Did mange to change company policy and get several k people a better pension later on.


20 days is the legal minimum in Germany. I think a lot of other countries have similar rules.

It's kind of sad that in the US and Canada, 4 weeks vacation is special, and 2 weeks vacation is legal.


There's no minimum in the US


I think the exact opposite way. I wish there were no legally paid time off ever. Just pay people when they work and not when they don't.


With $200k/year also comes accountability.

No one keeps tabs on your hours, but you better get stuff done!


As long as it’s mostly fun stuff with proper checks and balances hell yeah!


You observe a correlation but not necessarily causation.

Technical jobs that are well payed and well respected are found more often in companies that produce a product or service that is sold rather than in companies that sell your time, whether directly or under the guise of 'projects'. If your time-sheet impacts the bill to the customer, you are the product being sold. The reason to avoid the latter is that all benefits to you, either salary or equipment/working conditions, are seen as expenses that impact the margin on the rate, while in a product company they are far more likely to written of as investments into the IP producing engine.


Creator of levels.fyi here - a big part of making the site was to highlight the economic impact of working a technical job and the exponential growth it comes with as you progress in your career (Glassdoor sucked at showing this). There are just more & better opportunities the farther you go!


Yep, it can be a big motivator. I think companies should dangle those numbers around more. “Competitive compensation” doesn’t really mean anything. Saying top engineers can earn >$1M will make a lot of people ask “what do I need to do to be a top engineer?”


Huge fan. Not only is it great to see the data there, but the story that it tells is super compelling too. I myself wasn't sure just how much more worth it was to think about the BigCo game but now, after so many bouts at growth stage startups and plateauing out, I'm seriously considering it.


Hey, thanks for the site - it's pretty cool.

I was curious what made you pick your cities, though. Data availability? Boulder and not Boston surprised me.


Just added Boston to the filter dropdown. Honestly, we've just been adding cities as we go and totally overlooked Boston, thanks for pointing it out!


Hey, that's really cool. Thanks!


I wonder how many people in the survey interpret "opportunities for professional growth" as "opportunities to get rich". To me that makes the survey data more understandable. People, myself included, basically want more money for less hours (AKA work/life balance).


I'd be interested to know, too. I interpret that statement, personally, to be more along the lines of "maintaining my employability (in this industry)."

Maybe upbringing / background plays a significant factor here? I watched both of my parents very unceremoniously lose their job-for-life jobs and nearly everything along with it.

My primary motivation, then, to stay abreast of the industry, to pursue new skills/technologies/challenges, things that I would put under the label of "opportunities for professional growth," has (not entirely, but for the most part) little to do with the amount that I'm paid (considering that I perceive myself to be paid well) and everything to do with maintaining a recurring paycheck until I'm retirement age.


Completely, I just asked in my open office space what "opportunities for professional growth" means and everyones said raise or promotion.


It seems like tricky wording used by businesses to pay people less. Tell people in your job description that you offer "opportunities for career growth" and they hear "opportunities to get rich". Then when they're actually working there you just change the meaning to some kind of title inflation or meaningless training or additional responsibilities for the same pay.


> even worse, additional responsibilities for the same pay

FWIW, and I say this acutely aware that I'm of the "don't give them what you don't owe them" tribe, additional responsibilities for the same pay are how I got the broad skillset that got me to the point where I'm a principal developer with a hand in every part of our project--which is, in addition to no-complaints compensated, genuinely a lot of fun. I took on those responsibilities as an investment in myself; admittedly the key was finding high-value, high-leverage responsibilities, but it was for me more than for my current employer.

Few enough people are going to pay you to learn something on their dime if you don't already show a ton of promise. Broadening your skillset is, IMO, how you get to the next job.


I couldn't agree more. Talk is cheap. Take that that extra responsibility on and prove to everyone, including yourself, that you're capable. Use the experience and knowledge as leverage with your current employer or a new one. It's a lot easier to ask for a raise or high pay showing what you have done than what you could do.


I think "opportunities for career growth" is very similar to how graphic designers or musicians are always pitched that they should do work for someone for low/no pay because it will get them "more exposure". There is the possibility that the growth opportunity will end up being a good investment with regard to future financial returns, but I think the most likely case is that it will just end up with the person doing the work losing out on money.


That equation is a theoretical one. On the whole, jobs that offer high $/hr will mandate crazy hours. Jobs that will allow you to go 20 hr/wk, or 10 hr/wk will usually not pay you well on a per-hour basis either. -- I predict that in response to what I just wrote, there will be people showing off about how they managed to make a consulting lifestyle business like that actually work because of how awesome they are. -- But keep in mind they are the exception, not the rule.


Taking time off between jobs is a real option for most programmers. Depending on how long you stay at each company it can even add up to a few years of time off without having obvious gaps on the resume.


You have to have the stomach for that... Personally, I couldn't get any real enjoyment out of a time period where I didn't know when/where/whether I have another job lined up, and opportunities to get truly trustworthy commitments on start dates that are a significant period of time in the future are rare.


I do that all the time - like literally my CV has probably 5 or 6 gaps of varying duration (between 3 months and two years). Often, during those gaps I spend some time working on something tech related, so I put that into the gap in the CV.

Even with those gaps, I'm having zero problem finding well-paying jobs. I think it's because, despite those gaps, I represent good value to the employer - I know the latest tech, have done good work in the past, can present coherent and mature opinions during the interview etc. Also, I only do long-term contracts where they explicitly don't care that I'm a job-hopping mercenary that is not ever going to believe the "company mission", because the assumption is that the whole arrangement is temporary anyway. In practice, they always want to retain me and I end up quitting out of boredom after a year of two.

To summarize, the gaps are probably important only when you're in close competition with lots of folks similar to you. But, if you're a bit of an expert in a specific niche (mine is Big Data - Hadoop and related crap, applied in enterprise IT context) and there aren't that many competent candidates around, the gaps suddenly don't matter.


I’m similar. I have one multi year gap and a number of smaller gaps. Nobody has ever commented on or asked me about them. I do put any relevant projects I’ve done in that time on my CV, if I have any, but I done’t always have much technical stuff to show for the time. I have started startups though and run a programming meet-up, in mostly asked about those.


Are you over 40 yet? It changed for me this last job hunt.


I'm 38. We'll see what happens in a couple of years. In any case, these enterprise companies usually have a position of architect on their teams, where grey hair are even an advantage. I don't like this job, as it's more headaches than coding in a lot of ways, but when if ages turns out to be a thing, then I guess I'll be architecting (I've done it several times already, so I have the CV for that).


If you are still hopping by 40 they probably don’t get what they want any more, which is an experienced, stable worker.


I agree with you.

Unless you had like, a lot of money.


Speaking of signaling mechanisms, if you take time off from working to travel to “interesting” places, and mention it in the interview, you are indicating a clear lack of financial pressure, which I have found to be quite helpful in price negotiations.

You aren’t jobless; you are successful. Even as a bluff, with a now-empty bank account.


If not for the fact that I need to have health insurance for my family and the only way to do that without breaking the bank is through an employer, I'd agree with you.


True, but I'm looking at it more over the course of a lifetime. If I need $X to cover all expenses in my lifetime then I need to work $X/Y hours where Y is my earnings per hour. This is a bit oversimplified if you include savings and investment but in general is how I look at it.


That "$X to cover all expenses in lifetime" figure is impossible to calculate, and is not under your control at all. It will be inflated away without your consent, and requires constant evaluation and re-evaluation. My philosophy is to always be investing in capital, whether it be equity, political (relationships with people), or resources.


My spending is not impossible to estimate and for the most part it is very much under my control. If what you said is true then no one could ever reasonably retire at any age.


The relative security afforded by various factors in developed countries (especially USA) since after WW2 up to now may not be available going forward. The biggest challenge is the increasing proportion of non-working people to working people, at least partly due to aging and fewer children.

The part of spending you can't control and which happens to be the largest expense is medical care, which is not a problem right now due to Medicare, but it's already stressing the system and we have quite a ways to go before the aging population maxes out. Retirement ages are already going up and up, and I can definitely foresee rationing of medical care as we push the system to its limits.


The closer you get to retirement, the more obvious it becomes about how much to save to reach the goal. Until then, it's better to just try to eke out as much savings as possible than estimate your spending. Estimating lifelong spending is quite similar to modelling global economic activity over a long period of time.


I find 10 hours at high cost easier to sell than 80 hours at a high cost most want to pay for 25 of thoses hours.


I agree. There's probably a dead zone somewhere in the middle. One side of the deadzone there's an equilibrium doing fulltime at a mediocre hourly rate. The other side of the deadzone there's an equilbrium doing a very small number of hours at an exorbitant rate. But for that latter model, I would expect a significant number of non-billable hours for project acquisition. (Maintaining client relationships outside of paying projects, doing sales work around new leads, doing stuff like PR and writing articles and whatever else you do to be recognized as an expert/authority in some field, etc. etc.) so that the billable and non-billable hours probably also average out towards a mediocre effective hourly-rate. Early in your career, that probably means you have to do crazy hours there too. Later on, you might get dividends in the form of not having to work so hard on sales any more.


There is some cognitive dissonance that I can't seem to get over while reading your comment. While your statement is technically true, I just don't see it being true in the real world. Any time I have gotten a job that has paid better, it also came with more challenges and more difficulty and invariably more of a time investment(even if that means studying outside of work). Maybe I am just taking the wrong jobs...


Funny thing I found out about this recently - my country has a tax model where very small businesses (defined by revenue < threshold) only pays a small flat tax - comes down to a few %. You cross that threshold and you're in the standard tax brackets which is a big jump + regular accounting, etc.

So this forced me to settle for a number at which I'm happy with my income and I can have a clear goal for that year - once that is achieved other things come in to play.

This seems basic and maybe it's just me but I never really had an idea of what I wanted to make, what is "enough" - I would just say yes to any opportunity that came my way which paid more and kept plowing forward - but there is a limit to how much you can do and it's hard to guess it before you reach it so I ended up pulling all nighters and working through weekends more than once. Now that I have my limit it's actually pretty easy to reach with ~210 regular work days according to my current rates for a really easygoing client - this leaves me with plenty of time for other stuff - if I find a better paying client I just work less for that year - I like this model.


Even with paying the accountant and even if the higher bracket was 90% you’d still be making more by earning more. It’s hard to agree with your line of thinking but I have seen this often that people are willing to sacrifice quite a lot of money for “security” and “peace of mind”. In practice you’d have more peace of mind with more money in the bank.


>Even with paying the accountant and even if the higher bracket was 90% you’d still be making more by earning more.

Maybe I should describe it better - it is a special tax model - you pay a flat fee if you make less than X and that flat fee turns out to be ~5%. When you cross this threshold you no longer qualify for this model at all - you have to convert to standard taxation - I would need to increase my revenue by 20% just to break even and the extra hassle of doing that would mean that I need to increase it by 30% (at least) to be wroth it.

So in my situation it just turned out to be a good limit where if I negotiate 10% more I just convert that money = free time for other stuff. I don't plan to stay below this limit forever (in fact next year I plan to go over) but the concept of having a target income goal and then letting the rest of your time go to personal life is really good for work life balance IMO.


It's possible the OP is thinking from a consulting or contract perspective, because my experience is in line with yours - as my salary grows, so does my sphere of influence, but also my scope of responsibility, and that usually has meant more time investment.

The thing that's interesting though, is on the consulting side, as my rates and overall project cost have increased, the time investment to close a sale has also gone up. Meanwhile, if you go for a more expensive & specialized skillset, there's also a time investment on the marketing & outreach front.

Basically, in my experience, there's a small handful of people who've managed to carve out a niche where they can work low hours and make a high hourly rate, but they're few and far between, and investing in passive income streams is really the way to go.

That said, I _really hate_ managing rental properties instead of slinging code, but in terms of dollar per hour there's no comparison.


> there's a small handful of people who've managed to carve out a niche where they can work low hours and make a high hourly rate, but they're few and far between

They seem to be the loud minority on here though. I guess if you get a sweet gig like that, you will find lots of time to post on HN. I know I'd brag about it too if I was in that situation.


Absolutely. I used to work for a small consulting company where most of the work was building fairly boring line of business systems for big corporations. It seemed like we charged way below what other similar consultancies where charging, so I asked why we didn't charge more. The response was not that we couldn't charge more, but that at $X the clients just wanted use to work endless 8 hour days, but at $2X clients would only bring us in for more critical projects but would not want to pay for our time doing routine maintenance, filling out corporate paperwork, support requests, etc. To me it sure sounded like we should have been charging $2X, having to work less, and being treated as a valuable resource. But I guess some people prefer the (implied all though not real) security of consulting contracts without an end date.


"Mentorship" and "impressive team members" are other choices, so yea. Maybe not "get rich," but certainly "get paid more and have a more impressive title."


Most people want that, but I think a high percentage of programmers do truly want a job where they get opportunities to learn new things (in addition to opportunities to make money). They probably should've split the question into "promotion/raise/compensation opportunities" and "learning/skill improvement opportunities", or something.


Thats one way to look at it, but to get rich you want to join companies that are growing like crazy.

A company that grows 20% like google offers high cash low stock. But a company that grows 100% every year can make you a millionaire in a couple of years.

Its true startups lotteries are not great for employees in general, but who would have bet that UBER wouldn't IPO in 2014? or some other companies like Airbnb, etc.


Is this a more effective tactic, in expectation, than working a well-paid job at an established company and then going to Vegas every year to bet a decent chunk of your salary?


Way better than Vegas.

But you can invest 2+ years and get nothing.

If you can repeat the process several times, each time picking better bets, then you stand a good chance to win big. Maybe 50/50 chance of hitting a million dollar win over 12 years and 5 contracts. Assuming you leave some sinking ships and some consecutive years really pulling hard at promising companies.

But you should probably also be investing in property and a 401K.

None of it is guaranteed, but if you’re patient and reactive and work hard and treat people like you want to build lifelong relationships, it sorta IS guaranteed you’ll be in a good place after 20 years.

The only guaranteed way to be a millionaire is to work for big companies, relentlessly push up the ladder, invest 15-25% religiously and never touch it. That WILL make you a millionaire in 20 years, but you won’t be able to think about much other than your next promotion and your budget.


Some day what employees actually make with stocks will be public and doubt will be dissipated all ways. MAybe a company like Forge can do it.


Well, Sam Altman & Andressen have strong opinion on it: join rocket ships.

You can also get a much higher position at a well paid job if one of the bets pays off, or if you find growth opportunities. While getting a promotion at google might take you 4 years, in a high growth startup you might jump 2 steps in 6 months.


To be a bit cynical, Sam Altman and Anderssen make more money when more people work at startups.

If you compare someone who joined Uber in 2014 with someone who joined Facebook or Google in 2014, I'm honestly not sure who would have come out ahead. Probably Uber, but not by a whole lot.

And Uber is the best case scenario, practically speaking.


You might, or you might go nowhere if the rocket ship falls over, which is much more likely.


But if the rocket explodes on the launching pad, as an employee you don't absorb much risk. You were probably going to jump ship in 2 years anyway, you're just doing it earlier than you thought and you can now say "I was at ___ when they were growing at ___% year-to-year" when you're interviewing for your next job.


You've probably taken 6 months to a year, at a lower salary - possibly longer.


Like flipping any coin. Gotta match your risk appetite with the value of the gamble.


Aren't they in the business of funding rocket ships, though?


Lottery winners are true believers too.


There are ways to get rich inside the career world. For example, become a managing director at a big bank.


Fuck that, I've been doing this for 25 years and what I want in order of importance is:

1) Pay me 2) Autonomy


It would be interesting if they performed the same survey, but using real values instead of a subjective, relative scale.

For example, instead of asking: how important salary is, ask how much money they'd like to make; instead of opportunity for professional advancement, ask what role they'd like to eventually have; instead work/life balance, ask about number of vacation days and % work from home, etc.

I'm willing to bet you'll see very different outcomes because senior-level people for whom "salary is not important" probably want like $200k/yr while mid-level people who say it is important might only want $90k.


I am willing to forgo #2 if #1 is high enough.


I'm the opposite. If my living and food expenses are covered, I'll prefer full autonomy over no or minimal autonomy. You can only spend so many years doing things you're asked to do which you don't really want to do before the value added by the extra money is outweighed by the value lost from life in general becoming more depressing and less inspiring.


> If my living and food expenses are covered, I'll prefer full autonomy over no or minimal autonomy.

Where are you living and what will you eat?


You can turn extra money pretty directly into time with actual autonomy (i.e. not working) pretty easily, though.


That's true, but it depends on the income rate, I guess. If I need to work a soul-sucking job for 15 years to be able to spend the rest of my life with mostly full autonomy, I think that trade-off isn't worth it. If it were working a soul-sucking job for 1 or 2 years to get enough to be autonomous for life, then it's probably worth it.


Yes, there is some preferred balance between the two for any one person. But for reference, 15 years to retirement means shaving 25 years of full-time work off the typical career. That seems...pretty appealing.


I am currently working for a company paying me ~185k cash + 1M in options over 4 years. My strike price isn't amazing but I have great autonomy. I like the people I work with and I have no problems. And I have been here for just about a year.

However a company recently lured me in and we had an onsite interview. Still had great chemistry with everyone and enjoyed the prospect of working there. They offered 550k in cash.

I accepted the offer but am still conflicted. My start date is some time away still. Hopefully I will be able to have the same autonomy and sense of fulfillment in this place as well.


I'm willing to forgo growth if the money is high enough... but I'll be more strict on my time at the office, allowing me time to do things outside of work.


Sure, but that’s anecdotal vs statistical data.


I'd probably be willing to chop my salary in half if it meant having true autonomy.


I was surprised that autonomy came in at only 11%, although they only allowed 3 answers...

I'm all for growth myself, but I've always found that people who have some confidence in what they're doing also want autonomy.


It's as if they want to find ways to do this without 1 or 2.


So in a candidate response-based survey 54% picked the more palatable "Growth Opportunities" item but 42% also selected the far less attractive motivator of "More money".

Accounting for the "perceived gallantry" of these motivators I'd call that a statistical wash, but the article title "Want to hire the best programmers? Pay them the highest salaries." doesn't support the "best engineers / best companies" narrative very well.


The vast majority of programming jobs, like the vast majority of ordinary jobs, are not going to be able to offer growth potential, at least, not growth potential that would actually look appealing to anyone posting here. If the only incentive on the company's part is increased retention, that's just not a good-enough reason to spend time on more than lip service.

My company is a weirdly-effective consulting firm with a staff-augmentation business model. I chalk their success up to two factors. One, there's no middle management, only team leads reporting to a cadre of developer-owners. Second, they've been really good at landing the right kind of clients.

It's rather funny watching them try to figure out how to engage their workforce, but with a staff-aug model, devs feel more like employees of the client rather than of the consultant. So everyone's just kind of meh. It feels a little The Office-ish.

The other consequence is that there is practically zero real growth potential, and no incentive to do anything other than keep butts in chairs. Nobody's going to let me jump from the consultant to the client, the only path up is out.

I hope this business model dies. It feels distinctly evil.


That sounds like something like Accenture, InfoSys, etc. I too hope this business model dies but I don't see it dying for a long time. As long as business school MBA types keep making decisions and hiring those companies, they will keep hiring butts in the chair.


Offer a quiet, private office. Two or more monitors. Free snacks and free lunches. Modern software stack (whatever that is).

Or full-time remote.


I’m 80-90% remote, and it’s such a huge lifestyle perk that I’d need at least a 50% pay bump to even consider anything in the city. I hope this becomes more and more the norm for tech jobs because everyone deserves ample time with their family and friends.

For me now the baseline is remote + good work life balance and vacation package.

If we can throw exciting tech, more money, etc on top of that, great.


I can't imagine not having any remote days in the week. Unfortunately, many enterprise jobs in my area expect people in their seat 8 hours a day, 5 days a week.

I'm hoping to polish my skills and eventually find something 100% remote even if its less thank $100k. I want to buy a lake front house, and get on a jetski/boat during my lunch break.


I'm 100% remote working full time for a household name financial company. I'm making $150k, plus 6 weeks vacation, 401k match, etc. I'm in process negotiating a consulting gig that will pay a little over $300k that is also 100% remote. That one is a corp to corp contract, not an employee position.

Hang in there, you'll find your spot. My advice would be to make friends with a few recruiters for the big headhunting firms. With a little patience for terrible signal to noise ratio they should help you break the $100k mark for remote work. Sometimes you gotta shop around for the right recruiters. The first person you talk to is probably not the person with the right contacts.


Many people I know work full time remote and the pay is well over $100k. Just keep at it, maybe start putting your resume out there.


+ for full time remote ( I can deal with everything else, but commuting just feels so antiquated now... we ARE living in the digital age right? )


I'm holding out for cities on the carbon neutral push to offer subsidies for full remote work. Cheapest way to reduce carbon emissions is to get cars off the road, cheapest way to do that is to remove the need to travel.


As a full-time remote worker myself, I absolutely double that. It is so much more effective and better in almost [1] every way.

[1] The socialization might suffer a bit, but you are able to fix that as you wish instead of having only one option (which is office).


I'd be overjoyed for even a single remote day a week. Give me the four day at-work week.


I'm guessing that You dont have kids :) I would say the same few years ago, but having young children now causes that I have nowhere to work at home that is relatively peacefull and quiet.


You need a bigger house with an office. At my house, I use the finished basement as the office and it works very well.


I second that :P


I've been full time remote for four months now. To even get me to drive a mile to work would require a significant bump in salary and options to lose out on this quality of life. It's almost unrealistic at this point that I would ever consider going to work in an office again.

I save a BUNCH of money, I get to work with other remote employees across the world, I mostly work my own hours, and I even got a decent bump switching to this job.

The pay is better than a lot of positions that are local to me in SoCal.

I do miss some social interactions during the day, but slack and getting lunch with friends and previous co-workers fills that gap decent enough.

I see job postings come across all the time in my filters for stack overflow jobs, but the pay and benefits are equivalent to my current situation, except I would have to move to a higher CoL and go into an office.


> Second, women engineers prioritize growth to an even greater extent than men, and they place particular secondary emphasis on inclusivity and comfort with their work and environment.

Woman in tech here. I agree completely, and I'd almost say that saying you want to grow your career in an inclusive environment is saying "I want to grow in a place that will actually value me and promote me." Been in so many places where talented women are just not promoted, and it can be so demoralizing.


true story: sister was hired at a big company as a tester with degrees in bio and comp sci. The manager had her doing manual testing for a year. She aspired to be a developer. Even offered to automate testing on her own time after work. The manager told her if she has extra time, she should do more manual testing instead. When a dev position opened up on the team, he just hired some coop guy instead for it without even considering her. She quit.


Why did she take a job as a tester if she was a CS grad with developer aspirations?


In the OLD days that's how things worked. You got in to a company through the mail room or some other 'get to know the staff' position, then applied for better jobs in the company. Internal hires would typically be tried before looking outside since they'd have a track record that someone wasn't a flake.


I’m an old guy. That’s almost never how it worked. QA was always pigeon holed as QA and rarely considered dev material.


I'm speaking generally, about large companies in the 80s and before (though I'm thinking of a film that 'documented' it and I saw on TV when younger... "The Secret of My Success" (1987)).

The outsourced / pigeonholed employee pattern you're speaking of is something that I recall learning about more in the early 2000s; so it's been around for a while but not widely known outside of the industry.


If you’re talking business in general then sure. In programming it’s very hard to move from QA to dev. I’ve rarely seen it happen, and there’s usually a reason why someone goes into QA vs dev, ie they are a below average developer.


Its more a early 1960 and earlier thing


we were in a small city on the west coast. it was almost impossible for her to get hired as a dev most probably because she was a female and because she didn't have "coding" experience was made to feel worthless. She is not the type to open up an IDE and just start coding. She asks tough questions first.

Another story: comp sci 4th year - systems course. She's assigned a team. Douche c++ whiz thinks he's the shit. constantly belittles her. comes up with some idea of "redundancy" as part of the project they are coding. His idea was to have a cache storing redundant data in case the database failed. She suggested that it wouldn't work in case of power failure. Told her to be quiet because she didn't know what she was talking about...

As a guy, I have never faced this and so had no idea women faced this sort of behaviour till she decided to enter the field. Yes she didn't even know how saving a file worked till she decided to go for her comp sci degree, and so yeah she is not very confident about just opening up an ide and start coding a la "create-react-app", nor she will win any hackathons, but her concepts are rock solid. Still she is constantly underestimated.

It's a tough world in software dev if you aren't the type to constantly overestimate your worth.


"It's a tough world in software dev if you aren't the type to constantly overestimate your worth."

Well put. I was talking to a friend recently about the difference between mediocre and very successful engineers, and that quality came to mind as the biggest predictor of success. Don't think of yourself in terms of how effective you currently are, think of how effective you _could_ be. Assume that you can figure out pretty much anything given enough time. But don't be too cocky to ask for help.

Contrast that with mediocre candidates: ask them to solve something they've never done before, and they won't even try because they assume they're not good enough.


Why not? I do contract work for a big, public company, they have dozens of QA testers and every path is available for them (becoming a dev, analyst, manager, ... I've seen all). It's not even just an entry job for CS grads, many become senior testers as well and don't want to move to a dev position.


> Why not?

Because if you are a CS grad with aspirations to be a developer, taking a QA job is about the worst thing you can do. Even if you work at a company where "every path is available" (which is not particularly common), much better idea to get an actual developer job where you'll be working on coding skills.


Edit: this was dumb I'm sorry I shouldn't get mad on the internet I apologize


My guy you read way too much into a comment about a manager who was not trying to nurture the career path their subordinate was aspiring for. That's part of being a manager. A manager who doesn't go to bat for people like that is a shit manager. Your response is really bizarre, like you were personally attacked.


maybe he's one of those managers. she was clear when she was hired that she wanted to be a dev. like i said, this was a branch office of a big company in a small city. many people moved from testing to dev and vice versa.


Where (else) should someone(they) have gone to get an entry-level job that starts them on the desired career path?

That's a question that I don't think has been explored.


As someone said in a sibling thread, QA has traditionally been a bad place to start your career as a developer. I saw it happen frequently in my career -- you get into QA and you are treated like a monkey (flashback of a QA manager teaching me about my terrible attitude...) It's nothing to do with gender. You can get out of QA if you are lucky, but it's pretty unusual. Even if you do, traditionally you would have had the QA stigma attached to you for a couple of years. You'll be far better off quitting and getting a job somewhere else.

Now, it's been a long time since I saw a traditional QA team. They definitely still exist, but now that there is a lot more automated testing, things have changed quite a bit. However, I would still caution beginning programmers to stay away from QA roles. It can be actively damaging to your career as a programmer, unfortunately.

What should you do first starting out? Get an entry level job as a programmer. If at all possible, go to school with a co-op or intern programme. Try out a couple of places in your first 2 years and in the last 2 try to get into a place where you might want to work. Then stay there for a couple of years after you graduate. This is by far the most effective strategy I've seen for getting into the industry.

Otherwise, try to make contacts in other ways. The first job is super important, so you need to find someone who will give you a chance. Whether you have a traditional education for a programmer or not, you need that first job. I would recommend moving to a large centre (not necessarily SV) and going to every meetup that you can manage. Make contacts. Work on a side project. Discuss your side project with people that you meet at meetups. Possibly go to a bootcamp to meet other people just starting out. Make friends and talk about programming as much as you can. Eventually, someone will give you a chance.

The most important thing: take that chance. Stay at that job for at least a year (better 18 to 24 months). Then I recommend that you find another job and leave (in that order!). For programmers, it is usually best at the beginning of your career to work in a few different places. After you have 8-10 years of experience (3-5 places), then you will have a really good basis for building your career. Again, a co-op type education can short circuit a lot of this because you can work at 2 or 3 different places while you are studying -- it is really valuable IMHO.

If you are really struggling and can't find that first position, it might be an indication that this is not the career for you. I've seen lots of people offer their services for free just to get the opportunity to "break in". Don't do that! Every person I've seen do that has been horribly misused and they have never turned it into a career (again, my experience: I'm sure that it has happened somewhere, but I submit that it is very uncommon). There are lots of jobs for programmers. This is not acting. You don't have to eat ramen for 20 years before you get your big break. If it's not happening, there is probably a reason (as difficult as it is for me to say). If you are absolutely determined to make a go of it, then the best thing to do is bet on yourself and write some code (whether as a hobby or as a business venture). If you manage to make a successful free software project or business venture you will be sure that someone will hire you later if you wish. However, this is a humbling activity -- your odds of success are extremely low. At least you are doing something for yourself, though.

I think my last piece of advice is one my father gave me when I was young. He said that he always wanted to be a scientist when he grew up and so he became a university professor. However, as he got older he realised that there were a whole bunch of jobs that he would have really enjoyed. It didn't really matter which one of them he picked. He enjoyed his career, but there he would have enjoyed many others as well. If programming is not working out, find another career. There are lots of them and they are all rewarding in their own right.


I've been at several companies where the first teams that were outsourced were the QA teams. That tells you everything you need to know about how companies view QA.


My understanding is that she'd be at the junior level as the developer. Was the position for junior? If not then this is non-story.


Lots of talented men don't get promoted either, and it demoralises them too. Promoting the right people is hard - what makes you think it was sexism and not just the normal day to day corporate realities that led to those outcomes?

For what it's worth I've seen a female developer who had both no talent and also lied constantly be promoted, which surprised nobody, because the company was desperate to promote female developers. This sort of thing can cut both ways. Hopefully you're against that and just want a robust, gender-blind promotions process in general.


Don’t treat developers like bricklayers. Sack any product manager or manager that does it. This is the root of all evil, radical as it may sound. There needs to be a balance between engineering and product delivery, but too much emphasis on product delivery leads to tech debt, cutting too many corners and poor tech choices. Not to mention stress and little to no job satisfaction. Give devs some time to build something they are proud of. Good devs are in it because they love and once that love is gone the dev is gone.


in my experience many developers want to be bricklayers (not to discount bricklaying, there's an art to it, but they're focused on the individual bricks, not the other aspects of the building). They get annoyed when they're asked to think about the bigger picture and just want to focus on the code, the architecture, and whatever is new and shiny. It is largely due to these sorts of developers that we've developed all the ritual around sprints/product owners/etc to put blinders on them because they cannot deal with deadline and thinking in terms of business value creation.

This sort of person is under-represented here on HN for obvious reasons but they represent the majority of people developing software. The opportunity to contribute more than just lines of code should be offered and encouraged, but don't be surprised at how few will be interested.


I am one of these happy bricklayers. It's the only way I can stay sane in a job. When I'm working on my own projects, I'm all in, and I love all aspects of the process. But in a job, on a project that 99% of the time is run badly, and my colleagues are writing terrible code, just give me the bricks and tell me what to build. If I try to care, I get frustrated and depressed.

Plus, I'd be fooling myself if I were not like this. I've seen people put their passion into a job, argue their case, and then they get made redundant. Don't be fooled.

P.s. I'm a very good, reliable bricklayer who makes very solid walls.


Yeah I agree with this. If you are not in a high-up position you will just get too frustrated caring about the bigger picture because you have little power when it comes to actually making bigger-picture decisions. So all you can do is suggest things which 1) may not be well received, could be perceived as some low-level employee overstepping their bounds 2) probably won't be heeded since then the managers/pms/directors/etc. have to concede power


"The opportunity to contribute more than just lines of code should be offered and encouraged, but don't be surprised at how few will be interested."

I learned a long ago:

1) I can offer the best ideas that go beyond lines of code, but it usually comes down to the decision of someone in a higher position than me (manager, sales, the CEO, etc) and if they just don't feel like utilizing your ideas, they won't. Fighting this is more trouble than it's worth.

2) Most companies, unless you are in a startup where you wear many hats, don't want you offering your ideas. They have the ideas and want the developer to make them into a reality.

3) Most of the time, a project manager is the person that thinks about the bigger picture. I don't really want to have the responsibility of both roles..without the salary increase that comes along with it.

I love thinking about the bigger picture, which is why I have my own company I'm building on the side. But I would much rather just get my job done as a developer for my day job.


There's no shortage of ideas, especially within a company. If you want your ideas to win out, you should take advantage of what you do best… making things.

If you combine your idea pitch with a working prototype (doesn't need to be polished), it's odds of getting adopted will be far more likely.

If your idea isn't one that can be prototyped, e.g. "Ask Microsoft for a billion dollars", then you may as well just pitch it, just like anyone else.


Just out of curiosity, when would you think these prototypes should be best built? Surely not on my free time, right?

If the company is not interested on listening to new ideas, and you're keen on participating in something you would like to help build, then perhaps this is not the right company for you.


I have a project right now that I am thinking of building a prototype for on my own time and pitching to my company, because the company will basically have to sell the idea to another business. Why would I do this? Because then I can say how much I want to be compensated for my idea getting the company new business.


I honestly wish you all the best, and hope that works for you.

Just please be aware that after you've delivered, you loose power for negotiation. Therefore I would probably rethink the timeline choosen for agreeing on a reward "then I can say how much I want to be compensated for..".


I certainly do not intend to deliver anything that works before asking for compensation, I intend to show something that works and then negotiate how much it is worth.


Maybe on your free time, yes.

But only if you think it will demonstrate enough value to get you something you desire: cool work, a promotion, etc.

This requires a good understanding of what your managers and the larger organization will value, and whether they reward people who show they can deliver on those items. People's careers _do_ get bumped from these kinds of efforts, but I've seen a lot of engineers spend 40 hours prototyping something that management just won't value.


"If you combine your idea pitch with a working prototype (doesn't need to be polished), it's odds of getting adopted will be far more likely."

I have a family and only have so much free time. Even if I didn't, why would I spend my free time building anything for a company and not get compensated for it?

Even if you go through all of this, there is no guarantee you will get the responsibility and pay increase.

I honestly don't really care about any of my ideas winning out. I'm perfectly content getting told what needs to be completed and coming up with a good solution.


There's a ton of truth to that. A lot of people speak like everyone wants to be a 10x engineer. Personally, being that sort of engineer has never appealed to me, and the majority of developers in my social circle in practice want to be the "bricklayers" of code because it's already a sweet financial deal.


> They get annoyed when they're asked to think about the bigger picture and just want to focus on the code, the architecture, and whatever is new and shiny.

Maybe I'm the exception here, but this does not really describe most devs I've worked with. I've seen really smart devs just not care to argue anymore in workplaces where no one listens to them, but this is not the same thing as wanting to be a "bricklayer". Most devs usually have a lot of work on their plate and not enough time or energy to argue with some product owner or manager who is determined to get their way and who does have the time and authority to force their ideas through. On multiple occasions I've seen great teams destroyed when some determined micromanager gets promoted and decides they are going to "fix everything" without actually listening to their people with the most hands on experience. This and many other forms of organizational BS can lead to developer apathy from what I've seen, but I really don't think the dev who just wants to be a bricklayer is the norm.


It's entirely possible their current job is done at their maximum effort without burning themselves out. So asking them for more isn't going to do anything long-term.


This is both true and hard to deal with, because sometimes these bricklayers will a) assume everyone is trying to be a bricklayer, and b) will actively attack non-bricklayers because of the perception that they're being made to look bad.

I honestly don't yet know how to fit everyone together.


> I honestly don't yet know how to fit everyone together

Bricklayers should be managed and never put into more senior role. Also, you should never build a mixed team with bricklayers and "other" developers (except for case where there is only one "other" developer and they are the team lead).


I've had some conversations with managers and everyone agrees it's `employee mentality` that kills it for everyone; devs are a fickle bunch and although we all may agree in spirit to the words above, I doubt you'd actually gain any consensus as to what the words mean per se

I'd say the weak link across the board is the notion of corporacy and what it means, as well as what professional work ought to look like

fresh-faced devs straight out of university or college believe it's similar to their academic life, you get an assignment, you turn it in, you get graded cue morpheus meme: what if I told you professional life is nothing like university life?

similarly, we can't discount the international landscape of contractors and jumped-up leadership types we have to deal with, once again everyone has different ideas about what work looks like and it ranges from factory work to academic research to everything in between

A while back a bunch of consummate craftsmen worth very little in practice ruined the party for everyone with their pedantry in terms of technical concerns and set off a series of chain reactions that has quite disempowered all technology professionals

unless you're willing to revisit all your assumptions from the ground up, you'll be having this conversation again and again until you're an old coder in diapers tethered to a laptop on a walker


But that's exactly the kind of employee that most businesses want: interchangeable bricklayers.

I get that getting good developers and facilitating good code requires incentives, but this is usually at odds with the perspective of business owners, which is that employees are both a liability and an asset. Lousy developers are (seemingly) low-liability and good assets because they can make it work for cheap and, if something goes wrong in the future because of all the spaghetti code, that's when you can hire the good developers to come clean up the mess.


> But that's exactly the kind of employee that most businesses want: interchangeable bricklayers.

That's what they want... until their needs change.

I did a contract at a company where I was the test automation guy. The dev team didn't want to right tests, and they were happy to convert requirements thrown over wall A into the code the threw over wall B. The QA team caught the wall B code, and threw their results over wall D. Things took forever, but everyone was happy... until pressure to ship faster started to come down from the top.

To speed things up, they hired me to automate all the things. Well, the dev team weren't interested in helping me learn anything, and the dev manager even told me to my face that he wouldn't ass test coverage unless management asked him to & gave him extra time to make that happen. The QA team weren't coders, and they didn't really have any incentive to help me make things go faster. The build & release guy wasn't interested in getting tests integrated into the Rube Goldberg of a process that he managed.

They were all great bricklayers who told themselves they were agile because they had 1 week sprints, daily stand ups, and a all sorts of other processes. But when taking forever was no longer good enough, instead of trying to grow with it, they resisted & fought it. My role was pretty miserable, and I quit after a few months. On my way out the door, I learned that I was like the 5th person to walk, and they were planning on seeking interchangeable bricklayer #6.

In my experience, companies want interchangeable bricklayers, but they usually don't usually like the results of what they asked for.


That's a totally broken culture / machine. Unfortunately, they're out there.


> but they usually don't usually like the results of what they asked for.

We're not allowed to say it work because someone thought it was a race thing but... 'pay peanuts, get monkeys'


The truth is spaghetti works better for the ever changing requirement. After awhile the product gets rewritten.


IMO this is extremely false

Clean code is most valuable in the fact that you can add new features without old ones breaking

You should be able to write clean code from the start without it ever being classified as spaghetti as long as you stick to principles like Law of Demeter, SOLID, etc


I deal (and compete) with smart but professionally mediocre programmers (and hardware designers). Their knowledge is usually limited, but they get 80% of the job done and the customer need is addressed.

Only when the product gets used in a non-typical way or in non-typical circumstances, do the (inevitable) bugs appear. They didn't think their design choices through or they didn't know the limitations of the tool used.

So bugs are considered a known risk, and are managed. Hardware, for example, is swapped under guarantee. The most ugly bugs are fixed, and others are too costly and wait until a redesign.

But the employer likes their qualities: - he gets a mostly rapid schedule, - he gets an employee that doesn't get lost in abstractions, and - he gets to charge the customer again for the next major iteration

Basically they get him an MVP, and the customer keeps paying for each design iteration. We all know how important that is to the bottom line. To him Quality is optional, like benefits are to a job: they end up being important, but the salary usually comes first.


Oh man, I read the article, and I really identify with what you also say: I'm now in a position where I'm pretty good at my job, and my employer is keen to give me a permanent position.

And yet, whilst it's fun to be able to answer questions on the spot, regarding my area of expertise, I'm looking forward to learning more.

Now, I learnt a lot on this job, and it's very challenging on a daily basis, but it's becoming repetitive, and having talk to management, they could not tell me how they see me/my position evolving in the next 6 months/1 year/2 years. And that makes me longing for another job...


Is your manager willing to talk about knowledge transfer of some of your duties to other people? That's a double win, because they get some growth, and you get free time to pursue other interests. And if there is nothing, then at least you feel less guilty about leaving.

Your boss has revealed they have no opinions on your growth options. Do you have any ideas of your own? Offer them up.


That's a fair suggestion, thanks! Retrospectively, it might well be that I haven't been so vocal, so they might think it's all fine.

I'll think about what you said, make a list and bring it to the table next time.


Am I the only one here that likes growth because I like learning? I try and grow all the time in non-professional areas of my life even though there is no direct monetary compensation for doing so (such as learning new languages, instruments, etc.)


Outside of work, absolutely.

At work though, I find my thirst for learning new technical things has disappeared as I've gone older. What has grown instead is the thirst for learning new things in or related to my industry (domain knowledge). Like the problems my customers are facing, or where the industry is headed, or why they have been doing things a certain way.


This matches me pretty well, too. I was lucky in that I had the opportunity to get a broad base of knowledge very young and now don't have to run to catch up so much; because of it most of what I have to learn now are variations on a theme. Which is good, 'cause like you I've got way too many things to learn about the company and the industry and how to best apply those skills therein.


You are not alone. In fact, the opportunity to learn new things continuously and at a forced rapid pace is the reason I left academia to be a software developer.


This has to be the most amusing thing I've read on HN in a while. I left academia for the same (counterintuitive) reason. Glad to see I'm not the only one and not crazy.


Can we stop with this “we hire only the best programmers?”

You are probably not the best company so stop trying to hire the best programmers.

It’s like the fat, ugly, jobless guy that only dates accomplished super models.


Why would a company ever insult their employees like that?


Kim Dotcom wrote this article?


Want to hire the best programmers? Good luck.

Same as "want to pick the best stocks", "want to win the lottery", "want to marry the best person", "want to get the best price", ...


We rather look for nice, pleasant people. When I get excited to be around them, I do better job. I believe it works for others too.


Engineers Want To Learn, Even If They’re Very Senior

But /what/ do they want to learn? Something about this bit is rubbing me the wrong way:

> "In 2002, a very good COBOL or Fortran engineer was probably in a good place as far as their job search was concerned, but today they're unlikely to get much attention from companies that have moved on to more modern languages. Had that engineer focused on growth to keep up with changes in the industry, they might have learned Python or JavaScript and been able to keep up with the market."

Is .. reinventing the wheel, or learning the same thing in a new language, really the same as "growth"?

Is it even "learning" in any way more than "memorization"?

Since when is "keeping up with the Joneses" the same as "(personal) growth"? Had that engineer focused on growth and learning, perhaps they'd now be a High Performance Computing specialist in Fortran, or a business analyst with an MBA overseeing a COBOL team's migration, or a founder of a COBOL codebase analysis tool company, or a bi-lingual contractor traveling to help foreign companies move away from COBOL, or .. anything, growing and changing instead of writing a database report in COBOL then in Java then C# then in JavaScript.


Don't give coding quizzes if they can provide better evidence of their ability.

It's unfair in the least, rude at the worst to pigeon-hole "senior" programmers into scenarios / pop quizzes.

Let them show off recent personal projects. They'll probably have no problem spending a weekend hacking on something they're passionate about.

Be a serious employer:

Convince the best programmers (whatever that means) why they should reorganize their life around your business:

- Pension plans / job security are nice. It's a good motivator to know that there will be an annuity when they're 60 / 65 and would rather spend time with their family.

- Union contract (or something comparable) or a labor system with robust employee rights and unemployment insurance. It's pretty unfair in the US with at-will employment.

- Have strong financials. Be a business that'll be around in 10 years. Can your business keep paying employees if it's in the red for a year?

If you don't offer the above: Why feel deserving of the best?

I'm being facetious on the above points: It's tech, it's a fast cycle and inherently unstable. But when orgs talk about hiring - it irks me to see the entitlement employers have when they have little investment in the welfare of employees as persons (and families)


> They'll probably have no problem spending a weekend hacking on something they're passionate about.

I would much rather a coding quiz than be asked to do something in my own time. It is already enough of an imposition on my time to go to the actual interview, without there being homework too. Being expected to have already done side projects is even worse; it effectively punishes me for spending too much of my attention on my employer.

Asking senior devs to write simple code in an interview is, I would say, distasteful but necessary. Some "senior" devs don't seem to be able to code at all. (That's why the fizz buzz challenge was created; it was never aimed at junior devs.) Of course more advanced challenges might end in a trick that you might not notice in an interview, or you might even make silly mistakes. But that's all OK so long as there is sufficient understanding of that by the interviewer, and so long as (this is really key) there is enough discussion about your thought process.

Edit: I just re-read your post and realised you're just asking for the option of showing off a side project, rather than it being compulsory. That's definitely not so bad but it still seems a bit unfair on those of us that don't have time for it.


I rather spend 4 hours doing a project where I can demonstrate my value (architecture, clean code, design patterns, etc) than spending the same 4 hours solving questions on a whiteboard.

Hell, most of the value I bring as a senior is well outside the realm of coding.


I'd maybe do one project like this for a top tier company, but most companies that do this are limiting themselves to the already unemployed who have the time, if you want to pull people from other companies you need to minimize their time investment. Remember it's not just a 4 hour project, it's 4 hours * the number of companies applied to. I'd also argue that you can't show off things like architecture and design patterns in such a short project, all you can show is that you're over engineering.

I've also been burned before, getting dinged for "not practicing TDD because the tests and fixes are in the same commit", there can be just as much arbitrary BS as a simple short code test.


None of these things are perfect - I agree with you about quizzes and the like.

> Let them show off recent personal projects. They'll probably have no problem spending a weekend hacking on something they're passionate about.

Nope. Not spending my weekend fooling around to impress some potential employer. I'm going to spend it with my kids, riding my bike, and enjoying life.


>> Nope. Not spending my weekend fooling around to impress some potential employer. I'm going to spend it with my kids, riding my bike, and enjoying life.

Okay, it is time for some harsh love. You won't like it, and I'll get downvotes, but whatever. It needs to be said.

My parents are both doctors, and they are in their 60s now. And you know what? They still work their asses off, on many evenings and weekends, trying to stay up-to-date with new developments in their respective fields. My dad just got back from an ophthalmology conference in Europe. My mom is a guest speaker at a pathology conference and she has been preparing furiously. And it has been like this _all my life_.

So yeah, I detest this sense of entitlement that programmers have, where they want to a) get paid a lot and b) have lots of free time on the side. How about this instead: if you want to have a high salary, then it is reasonable for people to expect you to make certain sacrifices, such as work on your own projects on the side experimenting with new technologies and ideas. Don't like it? Well, it may be time to pick another profession...


I’m not sure that the lesson to be learned from the medical profession’s overburdening of its professionals is that other well paid industries should follow suit and overburden their own professionals.


Is the medical profession unique in that way? Do lawyers not need to keep up with existing legislation and case law? I know research scientists that use alerting tools for getting notified about publications covering their subject.


Sure, I just used medical as the example because that’s what the parent comment talked about. There are many other industries with problems maintaining a good work/life balance for people who work there. Often those gigs are lower paid than tech work. I worked many more hours and had a more stressful, less predictable life when I worked at a nonprofit, before I became a developer. Now I mostly work 9-5, sometimes an extra hour or two here and there but no expectation that I’m doing stuff outside of work. I have some side projects, meetups etc that I spend time on, but can also spend time at work learning new things or trying stuff out.


Then salaries in our industry need to decrease if we don't want to be held to a standard of overburdening ourselves.

The salaries in our industry have a precedent which was set by individuals that overburdened themselves. That might have been irrational, but if we want to change that, then we need to accept less pay. We can't have the same rewards as they did while doing less work, even if the amount of work they did was unreasonable.


We aren’t being rewarded for how hard we work, we’re being rewarding for having skills that are in high demand while supply has not caught up yet. Salaries may well go down in future when the need for developers is less or the pool of talent is bigger. We also aren’t trapped by the examples set by previous developers - our productivity varies depending on what we are doing, the tools we are using, what our team is like, etc - not just the raw number of hours we put in.


Nonsense and worse words. It's a market. Undervaluing ourselves only hurts ourselves.

The net revenue per software developer at any even moderately successful tech company is so eye-poppingly high that demanding a solid cut of it is still a bargain.


> So yeah, I detest this sense of entitlement that programmers have, where they want to a) get paid a lot and b) have lots of free time on the side.

That mentality reminds me of the 2014 commercial for Cadillac ELR Coupe: https://www.youtube.com/watch?v=xNzXze5Yza8

It's not entitlement to want work-life balance and be paid well for your skills.


Start paying me doctor money and I'll do all that stuff.

I'm currently under a wide intellectual property assignment that would cover 'side projects' so I don't really do them as I'm not giving away my ideas for free.


> I detest this sense of entitlement that programmers have

I don't agree with all of your post (but do some of it). However at the pace companies are expanding their hiring net, the supply and demand ratios are going to flip sooner or later. The current seller's market isn't going to last and a lot of folks will have a serious reality check.


How do companies expanding their hiring net decrease demand?


They don't? Demand is increasing.

However as the sources for software developer expand (and the barrier for entry goes down, along with more people going into the field), the availability is drastically going to outpace it.

We had a very short period of time where even entry level engineers with no CS degrees had companies begging them to join them, but that's quickly going away, and its slowly creeping up the ladder.

If you're a principal engineer or even "only" a senior one, you're likely still at a point where you have people trying to woo you every single day. That's not gonna last.


Do hospitals expect doctors to work on some patients for free over the weekend to see if they're worth hiring?

I'm guessing no.


Hospitals don't expect that and the reason is obvious: the medical field is highly regulated, and you need to go through nearly a decade of grueling education and training before you earn your medical degree.

Programming could not be more different. Not only is our field as unregulated as fields can go, but the hiring pool is also full of self-taught developers. Therefore, yes, it is in fact reasonable to have people go to great lengths to prove their skills to potential employers.


Hospitals expect doctors to have up to date skills, whether they learned them on the job or in their "free time". Doing medicine on a person and writing some code that will never be used in production are not really comparable.


To me there's a difference between

* Keeping skills up to date and occasionally spending a bit of my own time on it. And I mean legit new and interesting things, not just some BS rehashing of an old idea or other churn.

* An emergency situation at work where some extra time and dedication are required. I'm not going to tell the company that I couldn't be bothered to fix the web site that's down because it's 1715 and I'm heading home.

* Professional conferences or learning that might take up some extra time outside of work.

* Doing some random BS over the weekend.


That's more the profession demands it and those seminars are mostly in working time I actually got asked to goto such a seminar as an example of a rare expression of Sarkoidosis.


Why do they not certainly in the UK Doctors have both good leave entitlements (and fabulous DB pensions) and can legally work on the side.

And the pay for a senior Doctor is what 4 to 5 times what a senior developer would get


In the UK, developer pay is quite low. In the US, devs are much closer to doctors in pay, and can potentially earn more than most doctors.


Technology’s main usage/promise is to make us all more efficient and rid us of the dependency on pure time & effort for outcomes. It’s like the definition of work smart not hard.

Personally I think this is why you see a ton of people who live and breath tech think in terms of low time, high impact.

High impact should equal high compensation.


I'm going to add my thoughts in agreement, mainly because I see the following sentiments fairly commonly:

1. "Coding quizzes" are arbitrary and unfair in a technical interview!

2. Take home projects as part of the interview process are unfair because I've got a busy life!

3. No, I don't have lots of side projects to show because I've been working for the past 15 years and all the IP I've worked on is owned by my current/prior employers.

To add to your harshness, if all those three things above are true, (a) maybe you're not as good a developer as you think you are, and (b) as someone who has done a lot of hiring, I am certainly able to find folks who will (pretty enthusiastically, I'd add) fulfill at least one of those tasks (i.e. in-person coding questions, take home problem, or extensive existing personal projects/open source), even in today's competitive market.


The sentiments you presented there are extremes, just like your own position is the opposite extreme. The reality, as usual, is somewhere in the middle:

1. Even the best designed and well thought-out coding quizzes are not guaranteed to be a good predictor of the candidate's abilities. And that's when we're talking about the best. A great deal of coding quizzes currently in use are things interviewers came up with because they had to come up with something. So I guess the real sentiment is: coding quizzes need to be crafted and used better.

2. If you use take-home projects in your interview process, you'll invariably be filtering out people who value their free time, regardless of their skills. Put yourself in your candidates' shoes. A typical hiring process is already quite involved. Your candidate has to set aside the time for a recruiter chat, phone screen, a meeting with some of your team, etc. And the vast majority of devs don't get any overtime pay. The bottom line is that free time is extremely valuable. If you're asking your candidates to spend a weekend coding a project for free, be prepared for a whole bunch of them to lose interest and go looking somewhere else.

3. Yes, it's quite reasonable that a candidate with 15+ years of experience doesn't have any side projects to show. I've lost count of things I've played and fiddled with, and then abandoned, because they're simply not good enough to publish. Not to mention that your responsibility for your code doesn't end when you publish it. You're expected to maintain it, keep it documented, bug free, etc. A candidate might not have anything to show because they're "not good enough", but they also might be a mature and responsible dev.

I don't doubt that you've done a lot of hiring and that you're able to find candidates to suit your requirements, but don't fool yourself into thinking that there isn't a whole bunch of bias baked into your process. The fact that this bias isn't hurting you right now should make you question whether today's market really is as competitive as you think.


As long as it's not a requirement or expected, I think it's fine. If someone has side projects they're proud of, I think it would be helpful to both parties for them to be brought up.


Oh, sure; side projects that people have worked on for fun over the years are a good thing to have and should be a potential avenue to show off one's abilities.


This drives me crazy. I gave "you" my GitHub with a variety of open source contributions, but instead of looking at it you wait until you've flown me in to give me a timed coding puzzle on an unfamiliar laptop.


Pretty much how facebook hires. Except there's no laptop, just a whiteboard a bunch of weirdos judging you for not being a total freek-looking weirdo.


There is a big difference between joining a startup in growth phases vs an existing player.

* Startups have less with financials, but more with growth. Stock options are a big deal, as you are betting on that growing. It is a gamble, but it can pay off...or go no where. * Existing players need the 401k with matching and other incentives. There is often very little growth there, you need the long term investments.

But I really have no idea why I need a union contract. Dealing with HR is bad enough, now we have to throw in another dump-ass manager into the mix?


Union?

If you’re one of the best, why would you want to be equalized with your peers?

No way I would want this. Why is it my problem that some introverted programmer can’t get themselves together enough to throw together a portfolio, some OSS contributions and ask for what they’re worth?


Because outside US, unions are not about only salaries, rather about being treated as human being while at work.

And it may be surprising to US mentality, that they are for all people on the company, from the janitor to the 10x coder that is now recovering from an accident, instead of trying to sue someone to get some income back.


A major issue with the labor movement in America is that folks only join a union when they are weak and/or threatened by bosses.

The best time to negotiate is when you're strong, it amazes me that big tech was caught colluding to depress wages and nothing occurred in terms of a labor movement.

Many industry wide issues could be addressed through collective bargaining: age discrimination, training material, a strong voice to counter tiered voting shares (cough Facebook), guaranteed ergonomic tools, the list goes on.


But if you’re one of the best, oss contributions, speaking engagements, you have plenty of leverage.

No need for the collective power, you set your own individual terms.

None of the items you have listed are enticing enough for me to forego 30% so that the collective are equalized. I am my own responsibility. You are your own.


My own experience as well as discussing with various leads at other local businesses tell me about 50% of candidate will hard pass take home projects.


Well, it just depends on whether those 50% that take a hard pass are more or less likely to be quality candidates in the first place.


And that's not counting one the ones who didn't apply


Except the “have them show off personal projects” route can be discriminatory. At least by giving people standard questions/puzzles your team (hopefully) determined as being relevant you are giving everyone the same chance at success.


I think it's important to clarify what you mean by "discriminatory". I think many people equate that term with "criminal" and I'm not sure if that's what you meant to imply.

After all, to discriminate can also mean to accurately select the good programmers from among the bad.

The law (which varies by country) says which things you are not allowed to discriminate based on, but after that it's up to the employer, is it not?


I don’t think hiring managers really want to hire the best programmers. They want people they feel comfortable managing, someone who isn’t going to be challenging them. There is no risk in leaving roles open, in fact it contributes to their job security as long as there is VC money to burn. That is why the coding challenges are so popular, it communicates “here, do what I say.”


I have been freelance for years, recently I did some interviews for full time positions and I can't agree with you more. Companies that need freelancers are primarily concerned with can you do the job, there's a deadline, there's a contract, there's some urgency.

Most companies I have interviewed with for full time roles advertise that they are a hiring for several roles but often are just hoping that someone who speaks at a lot of conferences or is a ex-FANG higher up will apply (I've heard this from friends on the inside).

I have been very open about what my experience is and what I'm looking for. Somehow every full time job interview feels like getting picked apart to pieces while most freelance interviews feel like someone genuinely trying to assess if you can be useful to them.


You and me both. I just went through the Triplebyte process after my last contract wrapped up. Passed their exam and interview and went on-site at multiple companies. In the end it was a total waste of time and very stressful. I would go so far as to say that if you have been successful with startups and equity that it would be a net negative for you because the 5 peers you will be interviewing with will feel threatened as well. Rinky-dink organizations really don’t want very good people, they want people they feel comfortable with. Luckily I have a network which allows me to bypass all this.


Yes, I've encountered managers like this before. They value loyalty and obedience over skills. They don't hire "smart" people because then these "smart" hires would point out how ignorant they actually are and make them look bad. Or worse, they would become direct competitors and possibly take their job. These managers are abundant especially in large old enterprise companies where accountability and oversight is non-existent.


I'm not sure I agree with the conclusions. Sure I really want to grow as an engineer, BECAUSE I want to make more money. When I think of professional growth, I think of a company that will give me large pay bumps equal to what I could get if I left, because as time goes on I get more productive and more knowledgeable.


I have seen employers grossly misunderstand "professional growth" to mean paying for tons of random seminars telling you the basics of being a professional like taking care of your appearance, carrying yourself, setting goals, etc. I don't think they understood that growth == promotions and income advancement.

I would have much rather taken home an extra $5k, or get a promotion two months earlier, than waste time sitting through self help seminars


Because the cost per employee of a useless self help seminar would be way below $5K and the HR might even get a kickback.


I don’t think so because they also paid for hotels, airfare, food etc for multiple days. But yeah probably a kickback involved


I love these kind of surveys. They just demonstrate time and time again how gullible people are, especially those that hire companies like TB to help with hiring.

Want to hire best programmers? Pay. Them. More. Money.

"I want to grow" is a polite way of saying "I want my compensation to grow".

P.S. Do you know why people bend over backwards at interviews for Google/Netflix/Facebook and do not for a Domino's? It is because if they do well on interview at FAANG they would be making mid to high six figures while they would be making sixties as managers at Domino


There's no such thing as growth in the technology field. Most of the organizations just want a specific and narrow expertise in a particular technology. If you think your 7+ years of experience in certain technology is something then you are wrong. There'll be an 18 year old who has been programing in that technology since he was 12. You'll eventually get pushed over. Employers don't want a well-rounded person. They just want someone who know enough to do maintenance and their current products.


Your downvoted but there is some truth in this.


I've been in the technology field for 20 years. I'm also a female coder. I was a Java Expert. Then start again with entry level with other technology. Then start again with entry level web development in my third job. Whenever you start again with a different technology stacks you become an entry level. You cannot really climb higher or grow in this profession. And that's the inherent problem with information technology. It's changing to fast.


I think you can climb higher and grow, but not necessarily in ways most technologists would enjoy. For me I see the growth opportunities as

1. Become a team leader, then manager, CTO, .. etc.

2. Become an "architect". I.e. move away from coding and design systems, choose technologies and suchlike.

3. Very rare: Become a very senior individual contributer with lots of freedom.

I can see why side hussles are popular as a way for developers to express creativity and try to make some money a completely different way.

> Whenever you start again with a different technology stacks you become an entry level.

Totally. I can't (generally, there might be exceptions) get a full time non C# job without taking a paycut that would put me on the streets. Confounded with the fact that because of this people are going to lie about experience to change jobs to another tech stack, which I wont do, so I'm competing against those people too.

I too am (almost) 20 years in. Male (but I think these problems apply to everyone).


Growth is good, but it means different things to different people. Someone might want more money, another opportunities to attend and present at conferences, third a path to management, fourth a path to "technical expert at large", etc. etc.

And mistakes can backfire: offer a management path to a person who wants more technology and he may think "ouch, bureaucracy and PowerPoint ahead". I think a general (and genuine) statement of support for technical leadership, management and whatever other paths a company offers would go further than a generic "support growth" mantra. My 2c.


What does technical expert at large mean to you? I have some idea from my experience, but it seems like it's usually a nebulous role that nobody asked for.


This, in my experience, often means advising on several ( >3 ) projects with no (or very minimal) explicit technical commitments. And "no explicit commitments" means you get more freedom to attend conferences, close the door for a generic "I am working, please do not disturb" stretches, take vacation when convenient to you and generally be a master of your time.

Getting there may not be easy. IME the best path, especially in larger companies, is to:

1. Be effective and gain wide domain knowledge, so your time is valued and multiple diverse projects want as much of your time as you can spare. This is (relatively) easy.

2. As requests for your time rise, negotiate advisory instead of worker bee roles. Avoid writing code, even when you can do it quickly. Instead architect, mentor, advise, assess, etc. This is tricky. As you transition to advisory roles you need to stay valuable and not turn into one of the folks just hanging around with nothing meaningful to do -- those heads are first on the chopping block. If you stop getting invites to new projects, lean hard on #1 for a while.


This kinda fits what I do at my current job. I've learned over time that this is a role that a small company really can benefit from and one most companies will not hire for. My current employer did, and it's a genuinely engaging role for me while also providing broad benefits to the engineering group overall. You're right in that it often de facto devolves to somebody who can sorta do it; my M.O. in my career has been instead to chase those roles, to be wide and deep and to plug as tightly as I can into the actual business hierarchy to understand how to solve high-value problems while exposing the results to the business to validate the time/effort/money expended.

My current job is the most fun job I've ever had and I'm excited to be making stuff that people actually want to use, both in terms of our B2C product and the tools I work on for developers internally. I run our infrastructure team, with my focus there being around developer empowerment and developer-managed cloud resources for apps and services, and the necessary downstack education that that implies. But I've also done a lot of the formative work on our new APIs because I'd open-sourced a bunch of stuff in our stack and I've been building a lab so we can figure out what makes some web filters think our device (we sell in-home exercise equipment) is an "IoT device" that needs to be blackholed away from our API.

I think you kinda have to run towards the fire, though. If it's high-value and requires pretty broad understanding of a grab bag of topics, I tend to move towards it--and it is always tremendously interesting and a lot of fun.


> “Opportunities for professional growth” is the clear winner, appearing 13 percentage points above even “salary”.

Ofcourse professional growth is the winner as more often than not is directly proportional to one`s salary.

As a s/w engg. "professional growth" is a hybrid of bunch of things - learning new tech, Cloud knowledge(k8s, docker etc.), and well summarized in the lines below by the author:

> In short, software engineers of all stripes want, more than anything else, to develop their abilities as engineers. They want it more than pay, more than work/life balance, and more than autonomy.


I strongly agree - to me the term "professional growth" is synonymous with higher income and greater future employment opportunities. Not with learning a new framework or language.


'opportunities for professional growth' is also a signal for 'growing company' and 'lower risk of layoffs' which helps explain why it is a winner


When someone offers me “Growth” at work, it makes me cringe. We’re all grown ups here - offer me either mission/things I’m passionate about or money. Ideally both. Don’t offer me bull shit.


Is it just me, or did they twist the data in order to put "inclusive workplace" at the first place in the rating? Even the adjusted table shows that only 15% of women care enough about inclusivity at work, but the summary puts a lot of emphasis on how women prioritize it...


TBH I would settle for working on a sane codebase. Almost every codebase I have worked on except for my own are a complete mess. Basic things aren't done right e.g. Reproducible builds, source control, code review etc.


It blows my mind that there are still projects managed without git. I've seen entire production projects in a shared network drive with

appname_april_3_2014

appname_april_4_2014

appname_april_4_2014_new_order_schema


My wife is a traditional "professional". When she has a 1:1 with her boss, her boss gives her advice on how to move up. They talk about what she needs to do for a promotion etc. I've never personally experienced that. If I talk about growth, my bosses always think i'm talking about what new kinds of technologies I want to work with. I've been writing code professionally for nearly 14 years, it's still interesting, but I've increasingly become less interested in the technical aspects. I've worked with my current boss at 3 different companies. He's always took care of me, and he trusts me to write code, but the one time I talked about moving my career along to the next step to something beyond what I am today he was ready to let me go. His exact words were "I'd be happy to provide a reference for you". It became clear that he had no interest in helping me grow unless growth meant learning a new technology. I've just avoided the topic since then.


May because your boss sees you as an asset? As 'his' asset. And once you decide to grow out of that role, he'll slap you right back to 'where you belong'.

I'm being a bit uncharitable with my perception of your story, but it shouldn't be a stretch to believe that given how tech workers are generally perceived by 'business type folks'.

As I see it, his response shows his complete disregard and lack of respect for you as anything other than 'his IT guy'.

I'm way too proud to continue working with someone that thinks of me that way.


Why did you not get another job?


What would be the next step? Being a manager?


If you want growth as a programmer, you need to learn how to see the business model of the company you are applying to and how your work integrates into it.

It wouldn't be very wise to expect growth if your job is to keep a legacy system running on the minimum possible budget. Or to maintain a "leave us your email" website where the business is all about sales talking to the prospects and all they need from the devs is to make certain a database entry gets created when a user clicks "submit".

You could expect growth if your job is about finding efficient ways to solve a business pain. Or creating a model that makes it easier to understand and navigate domain-specific data. Or anything else where the decisions you make affect how much the paying customers will appreciate the product.

Unfortunately, most developers don't want to go into that domain, and so most of the developer jobs focus on pretty much CRUD where "growth" could at best mean learning a new framework that will get obsoleted in a few years anyway.


In my opinion this line of thinking may be good for the employee but bad for the company and its users. I bet a large chunk of the “Google Graveyard” is comprised of projects designed to get a few people a promotion or keep them around. And we’re worse off for it.

My takeaway is that companies need to start focusing on matching jobs to skill level instead of always competing for the best


I have seen the opposite issue too, which is where if someone has sat in a chair in the company for X number of years and isn't terrible at their job, they are almost guaranteed advancement. And usually this is a bad recipe for stagnation and you end up with bad middle management (the Loser-Clueleess-Sociopath hierarchy comes to mind). Whereas if you force people to execute a project decently, at least you have the opportunity of those paying off even if most don't; for every 10 failures maybe you get a Google Maps or Google Docs.


> We’re arbitrarily defining “great” candidates as those scoring between 95th and 98th percentile on our technical interview, and “the best” candidates as those scoring at 98th percentile or above.

This is an important qualifier. I'd argue that the most technical candidates are not necessarily the ones who offer the most value to companies. In fact, I would argue that "notably de-emphasizing ambition" will cancel out your technical superiority in the overwhelming majority of cases.

Here's a choice for your company's next hire:

1. A technically superior but comfortable candidate whose top priority is maintaining work-life balance and flexible work arrangements

2. A technically adequate but hungry candidate whose top priority is moving fast and learning tons

Who would you choose?


1., 2. Sounds like a pain in the arse to manage while I work at maintaining my work-life balance.

You're presenting a false dichotomy. There is also

3. Technically superior whose top priority of learning things got them where they are. Maintaining work life balance is just one of the many tools this person has learned over the years to be consistently effective over the long term instead of running into burnout.


I'd choose the first and I don't consider "moving fast and learning tons" very compelling.

That might just mean that the 2nd person would try to shoehorn projects into new frameworks and discount working solutions for shiny new (and cutting edge) tech. All in the name of "moving fast and learning tons".


"opportunity for growth" is ambiguous. TripleByte should really be asking about more specific things like "skill development" or "opportunities for promotion". I expect that you'd see some pretty different patterns with those.


This article defines great and the best engineers by:

“For the purposes of this article, we’re arbitrarily defining “great” candidates as those scoring between 95th and 98th percentile on our technical interview, and “the best” candidates as those scoring at 98th percentile or above.”

A test that they’ve come up with internally. What makes this company an authority on determining great and best engineers purely on data structures and algorithms style interview questions that most likely a recent grad will be efficient with (for software engineers anyways*).

This article is standing on a house of cards. It’s first principles lack and the assumptions it makes on top of those first principle is highly questionable.

J


Is there a dark side to this? A lot of the "not invented here" and chasing the latest tech could be caused by workplaces not realizing that there are less breaking ways to learn new things. Agile is great at this, by encouraging self-review at all levels. Then there's getting from sufficient to masterful at all sorts of general skills such as testing, version control, refactoring, requirements gathering, presenting etc. But to advance quickly in any of these you need mentors rather than self-study, because it's easier to learn directly from someone who has done it before and who can show you examples in the work context you already know.


Is Triplebyte paying for product placement here now? They've taken over Reddit.


Nobody pays for or gets product placement on HN. You have to make something readers find interesting. I assume that's the case with the current submission, since it hasn't been affected by moderators or by any of the below.

We do sometimes place stories that we or a small number of story reviewers think the community might like. That program is described at https://news.ycombinator.com/item?id=11662380 and the links back from there. Such stories get lobbed by software randomly onto the bottom half of the front page, whence they fall off in a few minutes unless people upvote them. The purpose is to make HN more interesting (because https://hn.algolia.com/?dateRange=all&page=0&prefix=true&que...). Many good submissions fall through the cracks and this is a way to give some a second crack.

Anyone who knows of a story that deserves a second chance like this should email us at hn@ycombinator.com and we'll consider throwing it in that pool. It's ok to ask this for one of your own stories, but it's better if you just ran across something and think it's cool.

By the way, you can see a partial list of these at https://news.ycombinator.com/invited. Those are the ones that were too old to be lobbed directly when we saw them, so we emailed the submitter and invited them to repost it instead. It's on my list to publish a more comprehensive set of lobbed stories.

There are two other types of placed submission that HN does as a way to give back to YC for funding this place: job ads (https://news.ycombinator.com/jobs) and Launch HNs for startups (https://news.ycombinator.com/launches).


This (or an abstract of it) might make a good FAQ addition:

https://news.ycombinator.com/newsfaq.html


Yes, it's probably time to add that.


Again, with the demonizing PHP as a staid old language to stick with.

So silly, and completely incorrect, as PHP frameworks and the language itself continue to innovate and keep Up and in some cases are cutting edge.


Don’t worry. Give it a few years. The reason php has such a bad rap is that it was so important for low-skill web-devs, so there’s a lot of bad php out there. In 10 years, React will have the same reputation. Again, not because it’s bad, but because it’s usefulness is so high that all the worst devs will be using it.


I have never cared for PHP but I've been working in Laravel recently and it's comfy. There are definitely worse tools out there.


Author of this article here. As long as this initial data-dive came out, there are still a bunch of things we’d like to look at. Does location (say, NYC vs Silicon Valley vs affect these preferences? Does which track (generalist, front-end, mobile) a candidate takes through our process? How does this link with how candidates actually behave when given an offer? Our data set has enough information that we can investigate these questions, but this was long enough as it is.


As a Houston developer, that chart of motivating factors describes exactly what I'm looking for.

I won't work on an ancient Java codebase that has no tests or no deployment pipeline, because doing that is death. Gotta keep moving forward or find yourself sliding backwards. I would say your analysis is spot on and I could have written the same article myself.

Companies should realize doing things that seem "fluffy" and not entirely necessary, like moving to a newer tech stack, might be worth it as it will make it easier to attract new talent. And if they stay behind, they might encounter the famous "dead sea effect" and wonder why things break, and every new feature takes forever -- the best technically minded people have left for greener pastures.

However, I'd say that considering people who are great at interviewing are great engineers is flawed. There's a correlation, but it's probably a weak one. To get great at interviews, you have to practice interviews a lot. It's a separate skill orthogonal to software. Basically, you're selecting the most motivated to succeed -- but motivation to succeed doesn't necessarily translate into the best technical ability. It makes sense that they care most about salary, impressive surroundings and fast pace, as they're probably the most careerist SEs out there.

> devoting (say) $1,000 or even $5,000 to classes or other forms of professional growth is not particularly expensive, but it can have a disproportionate effect on recruiting.

I don't need classes. When I say I want professional growth, it means I want to play with new technologies and gain experience with them at work. So if you're willing to hire me to work on a new hot thing, I'll be more likely to take it.

But please, please do away with the conceit that great interviewers are great employees unless you have data that suggests otherwise. Reading this, I'm under the impression you only look at candidates and don't have any metrics to understand their actual work performance.


> Companies should realize doing things that seem "fluffy" and not entirely necessary, like moving to a newer tech stack, might be worth it as it will make it easier to attract new talent.

Why are we as professionals (myself included, I'm not immune) so obsessed with shiny new things?

Updating a product's tech stack just to attract new talent and not because the product needs it is objectively strange. Imagine if roads were torn down and rebuilt just because civil engineers wanted to try out some new road laying thingy.


I felt the same way when I closely followed indie rock, too. You have to pay close attention to all the new buzz coming out or you'll be at risk of being left behind and outed as "no longer with it." I assume the same thing goes for stuff like, say, fashion and art too.

Funny how it has everything to do with style, and far less to do with engineering.


Road-laying technology doesn't develop at the pace that computer technology does. We went from room-sized mainframes to powerful pocket computers in 40 years. Working on "new things" is objectively more interesting and pays better - modulo the COBOL devs making $500/hr now.


You are describing advances in semiconductor performance whereas the person you are responding to has in mind things like new programming languages, libraries and frameworks, many of which we cannot even confidently say are advances at all.


New programming languages, libraries, and frameworks often tend to go in lockstep with semi-conductor and hardware advances.


Advancements in semiconductor research have led to wonderfully inefficient front end frameworks.


That too :-) But front-end frameworks don't constitute the entirety of new language and framework developments.

For instance, having cycles and memory to spare made using fun languages such as Python and Ruby practical.

Advances in hardware let (and force) us (to) write applications of far greater complexity. Writing a mobile game is way more involved than a payroll application on big iron.


Roads need to be redone all the time either way so presumably if there’s new tech in the road business they do in fact put it to use.


I also don't need classes. I'd like learning new (to me) things to be part of my job, and not tacked on after the fact with third-party seminars and after-hours classes.

I can already do that, regardless of my job, and I won't owe my employer anything for it. If I can explore and experiment while working, the work feels less like work.


Yeah, they were wrong there. It should be "Cool, you're an awesome C++ dev. Want to write Node for us?"

Most recruiters don't realize how easy it is to change gears like that.

I wouldn't be interested in taking outside classes, either. I can already do that for free online.


Q: Can you solve a problem by deconstructing it into smaller, easier problems and solving them?

A: Yes.

Q: Cool. Coolcoolcool. Now... can you do that without violating a bunch of arbitrary constraints?

A: ...As long as they don't restrict Turing-completeness.

Q: I didn't hear a "yes" there.

A: Yes.

Q: So how much experience do you have with our specific set of arbitrary constraints?

A: Uhhh... I never worked here before, so none?

Q: Oof. Well, thanks for coming in. We'll be in touch. Or not. Sometimes we just ghost people. Not to be dicks or anything, it's just that they're no longer worth acknowledging their existence to us.


> Companies should realize doing things that seem "fluffy" and not entirely necessary, like moving to a newer tech stack, might be worth it as it will make it easier to attract new talent. And if they stay behind, they might encounter the famous "dead sea effect" and wonder why things break, and every new feature takes forever -- the best technically minded people have left for greener pastures.

I think when they get to this stage they outsource to small dev mills. I don't know about Houston, but here in Toronto there are plenty of those who do "enterprise" work that consists of writing something once and walking away leaving any leftover internal developers to manage it. I've worked in ecosystems where that kind of stuff will stick around for 10+ years, broken and bandaged with no documentation. Sometimes even more.

Many companies that operate that way don't want to pay for a development team. They just want it working. Hell, sometimes they can't justify the headcount of having a few developers on board but can easily get away with dropping $250 - 500k a year to outsource the work.


> I don't need classes

omg, yes. "we offer online courses" or "go to such-n-such conference budget" are _not_ professional growth to me. I want, like you, to play with new technologies and get experience working with them.


Your point about interviewing is refreshing to hear. I'm a terrible interviewee, but I know I'm a kickass developer. It's rough, but honestly I don't know how companies should find great engineers that aren't good interviewees -- just networking?


I have worked at a place that would refund up to $5k if I provided reasonable bills for trainings, conferences, coaching, theatre courses, and that was part of the perks.


Your article is a fluff PR piece for your business.


Not that I fully disagree, but with proper discipline growth can be found in maintenance work. no system is perfect and you can constantly improve, refactor, add coverage, add telemetry, reduce operations etc. It's not only Greenfield or "hip" projects that provide growth. like any endeavor it's up to the artisan to find meaning and challenge in any work


At the risk of sounding cynical, this is really the standard drive in all jobs: money and opportunity for more money and higher status.


Personally I couldn’t care less about status, but money is very important to me, because I want to “retire” (work on my own stuff and by my own schedule) by the time I’m 45.


In my experience, most managers think "If I can't objectively measure it, it doesn't exist."

Therefore, since the benefits of fostering employee growth can't be easily quantified, most managers choose to believe they don't exist.

Same goes for things like flexible work schedules, work-from-home days and generous vacation policies.


As the article mentioned, the importance of growth's influence can be explained in large part by a broad interpretation of the question. This article defined "Professional Growth" by saying:

> "In short, software engineers of all stripes want, more than anything else, to develop their abilities as engineers"

This is true, but it's also the first-order answer. The follow-up question to ask is why they want to develop their engineering ability. It may be to make a higher salary down the road (i.e. current salary is less important than future earning potential), to develop the skill set to found their own company, to gain prestige by moving up in an organization and managing other engineers.

Overall, really interesting post - definitely worth diving into the data further.


The article title conflicts with the conclusion of their analysis.

The best engineers notably de-emphasize ambition. is one of their conclusions based on their 'best' category indicating a higher priority on work/life balance than the 'great' and 'all' categories.

They say their data shows that all engineers care about growth, so the title would be more accurate written as 'Want to hire programmers? Offer growth'.

It would be nice if they included information on the source data, in order to go through their system it is my understanding that candidates need to be willing to work where they have clients, and that is going to bias their sample considerably.


Anecdotal but "opportunity for professional growth" seems like the best answer to a recruiter trying to sell you. Flexible work arrangements on a high quality code base is what everyone I know wants to do....


And here I am, 1 day after a presentation in front of the entire company, about pretty much the same topic.

Had I known about this article earlier, the execution would have been so much different (the presentation was terribad but whatever, I had good intentions). And the response would have been much better too (it's still very good, but I don't know whether that's good enough to push other people forward).

Regardless, thank you for posting this. The article and most of the comments in here echo my thoughts.


Management is an art of creating motivations to your subordinates. An art, sic!

Each of us is different. Of course we can draw charts outlining average patients temperature in a hospital... with the same informational value.

I wish all of us to experience joy from what we are doing. Let it be in the number of happy members of your team, beauty of your code, amount of salary you bring to your family … It can really be anything. Just keep your mind out of Procrustean bed of common stereotypes.


My main motivator, "close collaboration within the team", didn't even make the list.

Wonder what were the choices on offer in the survey ?


Very interesting that women consistently rate salary as a lower priority and w/l balance as a higher priority than men.


Interesting that Salary is the second most important. I think there might be an explanation for this.

I've always interpreted "Personal Growth" as basically meaning "I'll have a higher salary in the future". So perhaps "Salary" is still the main motivator.


Off topic: this company’s advertising on Reddit is beyond annoying. Has anyone else experienced this?


Isn't this conclusion only natural? It baffles me that so many people responsible for companies don't understand basic human needs and instead blindly follow trends. I just don't get business stuff.


Apparently no one is motivated by social or environmental impact


I think many people are, but it's not something that can be put first in your decision making process unless you are already successful.

If you're financially unstable, paying down student debt, etc., it becomes much harder to justify picking a lower-paying job that is more personally motivating if you have other options on the table.


I agree with you, but that's ultimately what this survey is about - how you weigh salary against professional growth, autonomy etc.


Isn't that the Product something option?


Women value good code-bases more than men. Very interesting.


Perhaps women are less likely to be given the freedom to create the codebase (or part of it) and more likely to be involved in maintaining and extending it, and/or more likely to identify with such a role.


Another possible takeaway is if you want a clean codebase, you should hire a woman to write it, since women apparently care about clean code more.


Of course they do... whose house do you expect to be tidier, an average woman's or an average man's?


I do not have anything to support it, but I think if you will be able to make such a study comparing women-into-programming vs men-into-programming there might be no difference in cleanness of one's house.


This is a go to point for me whenever I discuss how women in technology can make a substantial impact in the code base.


Have you ever seen a women's frat house?


Do they want to "grow" or just want to deploy shiny projects that showed on HN last week?


seems an odd title to the article given the analysis of "great" and "best" engineers where they highlight other factors as being more important?


Growth = new skills

New skills = more money

More money = better life


I think this means we have to address some potentially specious statistical reasoning here. Assuming that a point cloud of pre transaction questions gives you the information to ascertain the career trajectory between great engineers and the "best" engineers is likely a fool's errand. What's the data source? Is it your technical screen? If there is any possibility that your technical screen doesn't track reality accurately, then your ranking metric is probabilistically very likely to be inaccurate. This is the risk of trying to quantify skill and potential levels before you try to qualify them properly. Most recruiting platforms work on a transaction processing fee on a per placement basis. Triplebyte is no different. The entire product is set up for a candidate to land a job. It is not set up for a candidate to structure and guide their entire career. The simple way to think of a transaction is as a point: point score on an assessment test, point score on a technical screen, point offer extended or not. You see these things being measured in this blog post, but that doesn't tell the full story to a hiring manager. If you're hiring an engineer that's actually growth oriented, you care about looking at the first and second order derivatives of all of these things, and you'll see them on a project to project basis, or on a person to person basis based on how they interact with their team and other teams.

I want to repeat myself and restate that most recruiting platforms work on a transaction processing fee on a per placement basis. It's erroneous to try and draw the wrong kind of conclusions from data points gathered from enabling this transaction, especially when it's just 1. When a candidate receives multiple offers that they're interested in, it's very likely that they'll make a holistic judgment based on a combination of factors, and their gut. Is the company "good" or "sketchy?" Do they feel chemistry with the people they'll be working with? Are they stimulated by the work the team will be doing over the next year? The truth is, for most talented engineers at early stage companies, any company that makes a desirable product and has substantial growth left in building and scaling its product will allow for growth in literal terms. The limiting factors there will likely be the team, if anything. If there's juice left to be squeezed from building further product edge, and the team is good, the org is good, and the leadership is good, it's very likely that an engineer will receive more than one opportunity that is "good enough" -- good enough for them to exercise the upper limits on how far they can grow.

It's easy to pay lip service to offering growth, but it's hard to actually do. In many cases, companies shouldn't be trying to offer that with a straight face. In growth stage startups, growth as an engineer is bound to the combination of the growth of the company and the growth of the product. In most cases, if you want to hire any kinds of the best employees, you need to offer growth. But, your business model, company growth and stage of company and culture all have to offer that. That's the hard part. It's something that needs to come from the executive level as well as good timing and a ton of foundational work.

If you can offer growth, that's great. It will make it easy to hire the best. But, most companies are not in the position, and the ones that are certainly don't need this advice. So, this isn't really useful. Offering growth is not something you can turn on and off. You need to build a great company and build a great product that people want and which a great business can or is built around. If you can do that, expanding the engineering team becomes a matter of logistics instead of intractables.

I think TripleByte is a great idea, and it's at an interesting point right now. But to use your data to answer this question requires looking at things longitudinally, and that could be hard unless TripleByte becomes more of a career management platform as well as a two sided hiring marketplace. Having used Hired, Angellist and TripleByte before on both sides, I'm definitely really curious about seeing where things evolve.


nuff said


Hire database developers.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: