Want to hire the best programmers? Offer growth
triplebyte.com
triplebyte.com
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.
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.
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.
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.
I’m not sure what argument you are making.
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.
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.
But still a blip overall, that can be ignored.
"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.
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.
Adding to that, without too much risk or responsibilities.
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".
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.
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've yet to be called with this strategy.
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.
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.
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.
To get to that level you will need to go through levels where you can’t do that without jeopardising further promotions.
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).
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.
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.
I can't stress this enough. The more I charged as a consultant, the more my clients would shut up and heed my advice.
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.
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.
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'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".
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.
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.
It's kind of sad that in the US and Canada, 4 weeks vacation is special, and 2 weeks vacation is legal.
No one keeps tabs on your hours, but you better get stuff done!
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.
I was curious what made you pick your cities, though. Data availability? Boulder and not Boston surprised me.
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.
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.
You aren’t jobless; you are successful. Even as a bluff, with a now-empty bank account.
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.
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.
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.
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.
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.
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.
1) Pay me 2) Autonomy
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.
Where are you living and what will you eat?
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 all for growth myself, but I've always found that people who have some confidence in what they're doing also want autonomy.
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.
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.
Or full-time remote.
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'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.
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.
[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 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.
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.
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.
That's a question that I don't think has been explored.
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.
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.
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.
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.
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.
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.
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'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
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.
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.
We're not allowed to say it work because someone thought it was a race thing but... 'pay peanuts, get monkeys'
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
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...
Your boss has revealed they have no opinions on your growth options. Do you have any ideas of your own? Offer them up.
I'll think about what you said, make a list and bring it to the table next time.
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.
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.
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", ...
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.
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)
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.
Hell, most of the value I bring as a senior is well outside the realm of coding.
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.
> 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.
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...
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.
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 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.
I'm guessing no.
And the pay for a senior Doctor is what 4 to 5 times what a senior developer would get
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.
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.
* 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?
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?
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.
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.
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.
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?
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.
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
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
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).
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.
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.
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.
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.
appname_april_3_2014
appname_april_4_2014
appname_april_4_2014_new_order_schema
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.
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.
My takeaway is that companies need to start focusing on matching jobs to skill level instead of always competing for the best
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?
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.
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".
“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
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).
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.
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.
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.
Funny how it has everything to do with style, and far less to do with engineering.
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.
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.
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.
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.
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.
> "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 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.
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.
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.
Wonder what were the choices on offer in the survey ?
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.
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.
New skills = more money
More money = better life
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.