Live data from Hacker News

Great developers are raised, not hired

sizovs.net

331–340 of 341 posts

Re: Great developers are raised, not hired

#331
post #211

Earlier quoted context omitted.

Do you not see how there is value in having someone who is trained to your specifications? You're still getting labor out of someone but when they move to being a proper dev you don't have to worry about any training issues because you trained them. I truly doubt you hire developers who are productive from day one, when your mentees will be productive from day one as a real dev AND will probably have less growing pai…

> Do you not see how there is value in having someone who is trained to your specifications? You don't, if they leave too early. That's the point. > hire developers who are productive from day one That's very rare, true. It was meant to illustrate one extreme. But there is still a huge difference between both ends of the market.

if you pay them better they won't leave. But you've basically said that even after training they are worth less than someone you hire in at first. This distinction is why people leave. You trained these people in the way you'd like them to work, Tailor-made to your processes but you still say they aren't worth the same as the people you hire-in. No wonder they leave and go some place where they've now been hired in without needing to be trained. If you don't value your own training highly enough to pay these people the market rate, what reason do you expect them to stay and work for you for?

Re: Great developers are raised, not hired

#332

Earlier quoted context omitted.

No. If you give your current salary during a negotiation, the other end is going to come right back with that salary +5% (at best). Hidden information is your friend in any negotiation, but especially here, since the hiring folks also know how variable industry salary ranges are. You want to put the first move in their court - decline to give your current salary at all costs, and ideally also avoid offering up your p…

This advice functionally doesn’t work. They’ll just intentionally lowball the first offer and then say well they can’t read your mind so you need to tell them what you want. A better strategy is to really research competitive wages and anchor high by honestly saying what you want. If they can’t come close, then walk away. If they ask you to compromise, tell them you’re not going to negotiate against yourself by stati…

They won't lowball a good candidate. People know that lowballing is a good way to lose a good candidate, that's why most companies will try to get you to state a number first rather than give out a too-high or too-low number.

Re: Great developers are raised, not hired

#333

Earlier quoted context omitted.

Usually, the teaching/mentoring is not free either. So you can a) hire someone who needs training and then train them, or you can b) hire someone who is productive since day 1. The people in a) cannot expect the same salary as b). Otherwise, there would be no point in incurring the costs of training them. Unfortunately, once you train them, someone can snatch them as people in b). You incur the loss, someone else ben…

This is simple - pay people by the value they bring to the company upon every annual compensation review. Yes, it costs money to train people. Consequently they get paid less during that period. But once they can fly on their own, treat them as if you hired them like that.

> pay people by the value they bring to the company

That's a fun game. Most people can argue endlessly about who is responsible for what and then you get to disclose where the money (and how much) is actually coming in. It necessarily constrains the management to a whole new slew of in-fighting and disclosure control. Never gonna happen.

Re: Great developers are raised, not hired

#334
post #314

Earlier quoted context omitted.

What infrastructure do you have in mind? I guess if you employ people from everywhere, there's a bunch of overhead for handling international work contracts, payment etc.

> What infrastructure do you have in mind? All kinds. From your mentioned international work contracts and payments over structuring the work/code so that in can easier be distributed worldwide,using standardized hardware and software configurations so that adminstration/updating can be done automatically etc.

There are organizational issues that make it hard @ FANG to be a full remote company.

Re: Great developers are raised, not hired

#335

Earlier quoted context omitted.

And as such, junior developers don't get hired, because the first 2-3 months of their career, a junior developer is at negative productivity, considering the work the team is doing to start getting them up to speed. Some of HN works in areas that are harder than the bog-standard CRUD app. So, do you give up on hiring junior developers at all? I believe our whole industry suffers if we come to that conclusion.

This whole CRUD app crap is a cop-out - please don't insinuate it's my lack of experience that has me making this assertion. I've been an engineer for 23 years and spent the first 16 years largely working on large enterprise systems in C/C++, then C#, primarily in the health care space often with some hardware component. Regardless, the work I've done over the past 7 years with modern web tooling is some of the most…

The truth, however, is that a senior developer is $140,000 and a junior developer is $80,000, and that same junior developer will be $100,000 in two years. (This is assuming salaries in one market.) That junior developer will take 3-4x the time to handle the same task as a senior engineer, and will take some of the senior engineer's time to guide the solution, provide feedback, and mentor.

That doesn't mean that we shouldn't hire junior developers - in fact, it's our duty as an industry to hire and mentor. However, it is with open eyes knowing that junior developers are not cost efficient in many areas for the first year.

But we go back to the original statement: "With all due respect, if hiring an entry level dev is a loss for your business then perhaps don't hire them? A dev should be a net gain regardless of skill level."

If you have $320,000, and can have 3 junior developers or two senior developers with the same budget, the 3 junior developers will be a net loss for the first year. They can be productive, but you have to compare on budget.

___

But I find that as a bizarre set of work that you call out.

* Refactor work is often the largest need from senior developers. Learning how to refactor safely is a separate skill that is not a skill junior developers have without instruction and feedback.

* My senior developers write tests as they develop. If there is test debt, it means sitting down with a copy of Michael Feathers and that is definitely not an introductory text. Trying to write tests for code that wasn't written with unit tests in mind requires a set of skills that many senior developers don't have, much less junior developers.

* I'm curious what processes you see that junior developers can improve.

* Researching tasks can be something useful, but what are these tasks that aren't done while a senior developer needs a break?

* Low hanging fruit bugs are likely the most obvious thing for junior developers, but a highly cohesive team that is writing tests has fewer bugs that are low hanging fruit.

* What systems can a junior developer blueprint? A senior developer understands patterns and quickly solves the problem.

Re: Great developers are raised, not hired

#336

Earlier quoted context omitted.

Majority of the hi-tech companies here are SaaS product companies that use AWS/GCP. But the scale isn't there. I'm referring to million sctive users of messaging app.

Why is that the only definition of complex? Most complexities in business comes from process complexities or even business complexities. I once worked with a software as a service company that provided software for the car repair industry. We had to translate these rules for both the repair shop and the car owner. https://www.railinc.com/rportal/documents/18/260737/CRB_Proc... There is more to it than this. Did we ha…

Because that definition of complex opens tons of doors to companies that are leading tech industry?

My background has always been in Enterprise software (healthcare, insurance, BI, etc, almost a decade). At some point I felt that translating complex biz reqs are no longer interesting.

I find dealing with scalability (and hopefully build my own system library) is more interesting and challenging that the Enterprise market.

Consistent Hashing algorithms, Distributed Systems, System programming, build your own programming languages, maybe build my own messaging/background processing?

YMMV.

Re: Great developers are raised, not hired

#337

Earlier quoted context omitted.

This whole CRUD app crap is a cop-out - please don't insinuate it's my lack of experience that has me making this assertion. I've been an engineer for 23 years and spent the first 16 years largely working on large enterprise systems in C/C++, then C#, primarily in the health care space often with some hardware component. Regardless, the work I've done over the past 7 years with modern web tooling is some of the most…

The truth, however, is that a senior developer is $140,000 and a junior developer is $80,000, and that same junior developer will be $100,000 in two years. (This is assuming salaries in one market.) That junior developer will take 3-4x the time to handle the same task as a senior engineer, and will take some of the senior engineer's time to guide the solution, provide feedback, and mentor. That doesn't mean that we s…

Pretty much all the things you call out as bizarre I've seen some better interns slice right though.

* Refactor - Sitting down with a jr. dev for 15-30 minutes at a time going over the scope for something that is about a day or two of work. Done this many times. We're not talking high-level architecture work, just tech debt the team has let slip away.

* Great. I've never been in a situation where there wasn't lack of coverage though. Focus on things that are somewhat repeatable in nature. The point is doing tests is a great way to learn how the system operates, and basic unit tests cornering edge cases are easily repeatable patterns. Validate w/ PRs, you don't need to hand hold the entire way. No books needed, tons of other tests in your suite serve as guidance.

* Build/deploy system issues. 3rd party integrations. Better approaches to update dependencies. A better approach to documenting an API, automating code documentation, etc. Some particular lack that isn't crucial to operations but is fine letting a cheaper resource tackle as a research task.

* Can blueprint anything that lacks proper documentation. If they can do research for their CS degree they can research and document your system. Yes, you will be giving them little tidbits along the way on how to properly debug or set things up.

AFA 2 seniors vs. 3 juniors, totally dependent on your team structure and the work that needs to be done. If you run as tight a ship as you imply the sr. devs will be a better bet every time from a value basis - but that's rarely the real world. I wouldn't add more than 1 junior at a time to a team of Lastly, addressing "that junior developer will take 3-4x the time to handle the same task as a senior engineer". Well duh, don't give juniors the same work as your seniors. The whole point of hiring lower level staff is you have work that is better suited for lower level staff, or rather, work that is too costly to give your sr. staff. This whole it's our duty to train the next generation... you're running a business, not a charity. And then you get caught up in this cancerous notion of people being in debt to you because you don't know how to properly utilize them.

Re: Great developers are raised, not hired

#338

Earlier quoted context omitted.

Any advice on learning your true worth? Assume for a minute that Glassdoor is useless, as the "salary range" it displays shows that the maximum is 2-2.5x the minimum.

There is no "true worth" that you can look up on a website. Your salary is your cost in the labor market. And like any market, worth is determined by what people are willing to pay. Go out and interview, get some offer sand see who is willing to compete for you. That's how you get your true worth.

Right, the entire point of the question is to find out what people are willing to pay.

Re: Great developers are raised, not hired

#339

Earlier quoted context omitted.

> during that time the trainee not only isn't making you any money They're training full-time? They're not even doing junior-level work? Why are you paying them a salary then? > other people, who otherwise would, are not either Senior folks are getting valuable experience of mentoring and growing people too.

Yes, they train full time. That's what a proprietary platform (not ours, third party, but hey, at least it has its own wikipage) will get you. Not even the build system is standard. Yes, they are paid salary. Very few people can afford to go several months without salary, that would filter out some candidates that proved to be right match in the end. And that's the reason why the wage ramp up is slower, even after fi…

That's a different situation then. A lot of companies make trainee employees sign a bond. To my knowledge all the Indian software consulting giants have one. If an employee leaves before the term is fulfilled (typically 2 years) they have to pay the company. It's usually on the order of 20-40% of an entry-level employee's annual salary. Otherwise the company can withhold references and experience letters, which are usually needed in future.

If you already have a bond/contract system in place and employees are still leaving, then IMO you're still paying them too little. If they are happy to pay 20-40% of their annual pay just to leave the company, it means they can make 50-100% more elsewhere. Loyalty is worth something but it's not worth passing up a pay raise that high.

Re: Great developers are raised, not hired

#340

Earlier quoted context omitted.

> Even more curious is that IT culture is basically that if you want to get paid what you're worth, you have to quit and go to another company. From what I've noticed, companies really want to avoid raising salary of an employee in a meaningful way, because it means they will have to increase pay of others also So 10% increase of salary of 1 employee would eventually equal 10% in crease for the whole team or company,…

Unrelated to the topic at hand, but have you used speech to text to write this ?

No. :)
Post reply on HN