News for hackers. Stuff that matters.
Re:Great developers are raised, not hired by brandall10 on Friday April 12, 2019 @03:53PM (#19648395)
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.

Re:Great developers are raised, not hired by vetinari on Friday April 12, 2019 @06:06PM (#19649476)
> 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.

That's too early. You made an investment, that investment has to break even. With your suggestion, it would never break even.

Re:Great developers are raised, not hired by teddyh on Friday April 12, 2019 @06:35PM (#19649652)
But that’s not the trick. The trick should be that you train your employees how to do your business, and then you pay them more than what they’re worth to someone else. Since you’ve trained them in the ways of your business, they’re worth more than that, but only to you, and that’s the trick. Nobody else could squeeze as much value out of these people as you could (since the training is specific to what your business does), so you can afford to keep them, and the people have no monetary reason to leave.
Re:Great developers are raised, not hired by scarface74 on Sunday April 14, 2019 @12:03PM (#19660153)
I never thought about this, but this definitely seemed to be the original thinking at one company I worked for.

As far as I know, the company was started in 2003. The founder wrote a custom IDE, VM and compiler. This was the only company that used it.

He hired a bunch of people from a well known but not well regarded private for profit college and paid them below market rates. Of course developers on this proprietary platform were completely useless anywhere else.

By the time I came aboard in 2008 and the rest of the “adult supervision” - a new CTO and developers - they were in the process of transitioning to C#.

Once the bottom fell out of the market with the 2008 recession, they laid off most of the developers working on the proprietary stuff who hadn’t learned C# on their own. They also forced the founder out. They kept me around because I was the only person who both knew C# and knew enough C++/MFC to maintain the old system.

Re:Great developers are raised, not hired by teddyh on Sunday April 14, 2019 @02:35PM (#19660896)
Yes, when digging a moat you have to be careful that it does not drown you as well.
Re:Great developers are raised, not hired by cableshaft on Friday April 12, 2019 @06:41PM (#19649692)
If they keep leaving because you won't pay them what they can get elsewhere, you won't ever break even that way either.
Re:Great developers are raised, not hired by brandall10 on Friday April 12, 2019 @09:34PM (#19650506)
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.

You pay them market when they need to be trained, you pay them market when they move up the skill food chain.

Re:Great developers are raised, not hired by ebiester on Sunday April 14, 2019 @03:28PM (#19661183)
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.

Re:Great developers are raised, not hired by brandall10 on Monday April 15, 2019 @10:33AM (#19665585)
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 difficult I've done in my career.

It's a failure of the organization to not utilize entry levels from the first week. At any company. After all, the FAANGs of the world have a different bar of entry.

People keep talking about this like you're literally training people how to program. That's BS. Every org has refactor work, tests to write, processes to improve, tasks to research, low hanging fruit bugs to tackle, systems to blueprint, all sorts of stuff that's a strain on the more sr. staff that's been pushed aside but needs to be addressed. You can strategically bring entry levels up in a way that's a net gain in any environment.

Re:Great developers are raised, not hired by ebiester on Monday April 15, 2019 @03:22PM (#19668077)
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 by brandall10 on Monday April 15, 2019 @04:06PM (#19668435)
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 < 6 devs.

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 by vetinari on Saturday April 13, 2019 @11:55AM (#19653709)
He is a loss in short term. He is supposed to be a net gain in long term.

If he leaves prematurely, the loss is realized and the gain never happens. If he stays for long enough time, he is a net gain.

Re:Great developers are raised, not hired by brandall10 on Saturday April 13, 2019 @01:12PM (#19654317)
Again, if an entry level dev is a loss then don't hire entry level devs; your company does not adequately utilize them.
Re:Great developers are raised, not hired by vetinari on Monday April 15, 2019 @05:09AM (#19664094)
Not every company is using popular, widely available tech, that folks can learn in their spare time.

In this regard, unfortunately, we are using a proprietary platform and there is no chance to learn anything until you have access to the bits and docs. Due to that, fresh hires are completely useless to be utilized in any way, until they learn at least basics.

Re:Great developers are raised, not hired by brandall10 on Monday April 15, 2019 @10:24AM (#19665504)
You're conflating ramp up time of business domain knowledge with skill level. Yes, a sr. dev will come up quicker than an entry because they have the wisdom and experience of past companies, but all devs need some sort of ramp up in an environment like that. You don't hold back pay from your sr. staff until they've ramped up, right? Of course not, they would take a better offer elsewhere. As would your entry levels that have now risen to mid-levels once they get the chance.

But all the same, any company should be able to make any dev useful from pretty much the very beginning. Whether it's rote refactoring work, research tasks that are too time consuming for more sr. folks, tasks that are in the domain of data entry that can be automated with simple scripts, low-hanging fruit bugs, etc. It's a failure of the org not to properly utilize the abilities of a smart person who knows how to program.

Re:Great developers are raised, not hired by reallydude on Monday April 15, 2019 @02:17PM (#19667476)
> 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 by bosie on Friday April 12, 2019 @06:37PM (#19649666)
> pay people by the value they bring to the company upon every annual compensation review.

how do you determine the value they bring to the company? Presumably it must be a % of the revenue or valuation growth but I cannot come up how you derive the value.

Re:Great developers are raised, not hired by brandall10 on Friday April 12, 2019 @09:25PM (#19650487)
How do you determine the value of any candidate you interview? You have a job req. Do they match that req? Yes, good, you make them an offer. What level of pay do you negotiate? What is market. If they're otherwise happy going toward the bottom of market is feasible, esp. if it's a large bump.

If this person goes out the door, you're going to be paying their replacement roughly the same as what they'll negotiate elsewhere... and on top of that, you have to deal with the cost of turnover. You basically just lost a ton of $$ by letting them walk. This is not hard. Just run the thought experiment of what it would cost to find a suitable replacement.

Re:Great developers are raised, not hired by scarface74 on Saturday April 13, 2019 @08:08AM (#19652510)
Simple. How much would it cost you to pay someone to replace them at market rates and then add the amount it would cost you to give them time to ramp up on the institutional knowledge and codebase.
Re:Great developers are raised, not hired by bosie on Saturday April 13, 2019 @08:37AM (#19652653)
Well, not really. The phrase was specifically about how much value they bring to the company. Market rates have no meaning in this context. E.g. how is "if a team works on a product that no customer seems to use/purchase/pay for, what is the value that team brings to the company" connected to market value? I would say it isn't.
Re:Great developers are raised, not hired by scarface74 on Saturday April 13, 2019 @08:46AM (#19652704)
If you want to keep the employee you have to pay market rates or they can easily leave. If the team works on a product that no one wants, that’s the fault of the business side. It’s up to the business to either find something for the tea to work on or let them go.
Re:Great developers are raised, not hired by brandall10 on Saturday April 13, 2019 @11:28AM (#19653525)
You’re taking the use of that word too literally. I meant it as what perceived impact would the addition/omission of an engineer of that level have on a company? The stuff that factors into determining annual budgets.
Re:Great developers are raised, not hired by bosie on Saturday April 13, 2019 @06:51PM (#19656251)
Fair enough, thanks for the clarification.