Readit News logoReadit News
msluyter · 6 years ago
I officially mentored someone at my previous company and helped him move from a support tech role into a software dev position. It was incredibly rewarding.

But to play devil's advocate for a moment, isn't there something of a natural disincentive to level up one's employees in such a tight labor market? To follow the author's analogy, by mentoring someone, we're effectively "adding a fish" to the pond, and if someone else "catches" the fish, that effort is largely wasted. One might argue that if everyone put more fish in the pond, then we'd all be better off (true), but we have a standard collective action problem where the free riders benefit at the expense of the fish growers.

I see two (partial) ways out of this trap.

1. Pay more than everyone around you. (Obviously, not generally viable.)

2. Make the culture of your company so awesome that people will want to stay, even if you can't pay the most. Make mentoring/growth a central strategy at every level so people will see a path to grow.

I'd be curious to hear other possibilities.

wccrawford · 6 years ago
>To follow the author's analogy, by mentoring someone, we're effectively "adding a fish" to the pond, and if someone else "catches" the fish, that effort is largely wasted.

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.

So these companies put all this effort into raising a better developer, and then refuse to pay them what they're now worth and basically force them to go elsewhere.

It's not "what if they go elsewhere" under that situation, it's "when".

I'd argue that you don't even have to "pay more than everyone around you". Simply coming close to parity is enough to stop most people from going through the pain of a job search. But these companies don't even get that close.

The last time I switched jobs, I got a 40% pay increase. That's ridiculous. I even told the company I was underpaid and they asked if I could wait a year for a raise. I didn't even answer the question. I just walked away and started looking for a job.

They weren't surprised when I found one and quit.

And a couple weeks before I left, they put in a job ad for 7 developers, offering what I was making at my new job for each of them. I've been at this new job as a senior developer for 8 years now.

Could I make more? Almost certainly. But they gave me decent raises and have a good culture (almost zero overtime in 8 years) and benefits, and I don't feel like leaving.

salarycommenter · 6 years ago
Currently switching jobs for a personal record 57% increase in total compensation.

And I was NOT poorly compensated before. I was already in the 99th percentile for individual income.

The harder I push on comp the more I get each time.

I am not going to lie and say that it didn't take years to build to this point in terms of skill, work record, professional network, and interview ability. It took three FAANG companies bidding against each other.

Meanwhile I get offered nothing in terms of growth from every employer I have ever worked for ever. Literally never happened my entire career. Just this time after I already had an undisclosed offer in hand I got a promotion with no meaningful compensation increase. It was the first promotion of my 15 year career!

Sure they were willing to match, but who wants to try and soak blood from a stone.

ukoki · 6 years ago
> 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.

This is not just IT, this is the entire job market. The reason is because jobs are "sticky" — it's a pain to apply for jobs, arrange interviews, deal with the possibility of getting rejected. If you're successful you also have to deal with possibility of leaving colleagues that may be friends, the risk that the new position is less stimulating, or having to move house or deal with a new commute.

There is a very real salary range between "low enough that I'll think about applying for other jobs" and "so low I'll actually start applying for jobs". Employers are aware of this and are paying salaries accordingly. It sucks for everyone in that salary band but — ethics and long-term viability aside — it's still the rational economic choice for employers. Every now and again someone will quit and get their deserved 40% increase, but many will delay leaving for years, or simply put up with it indefinitely.

edit: Side-note: if you happen to find interviewing and changing jobs more tolerable than most then congratulations! — You've won the job-market pain-of-change-vs-salary arbitrage game and will enjoy above-average year-on-year salary increases.

onlyrealcuzzo · 6 years ago
I think the problem is largely isolated to companies in decline or stagnant -- which unfortunately is most companies.

At a growing company, if you're a growing individual, there's room for you to rise.

At a stagnant or declining company, if you're outperforming your boss, there's a strong incentive for your boss to want to keep you down to keep his/her job.

In a growing company, your boss might be happy to get your promoted to his/her level. Instead of subordinate, now you're a potential ally on the same level. I think in a healthy environment almost anyone would see that as appealing. In a stagnant company, that could be mean your boss loses the job. Almost anyone would see that as unappealing.

stcredzero · 6 years ago
It's not "what if they go elsewhere" under that situation, it's "when".

This is gold. It's just a specific application of, "You shouldn't fight market forces, if you can help it."

Simply coming close to parody

parity

Though, this started me thinking on what "parody bits" would be.

dba7dba · 6 years ago
> 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, which gets expensive.

This seems to be why they really really hate giving out meaningful raise. They'd rather lose an employee and suffer the consequences, than give 10% raise to one and inevitably end up raising salary for the entire team/company.

And yet, they want to higher senior devs, who obviously left old company to seek higher pay.

reading-at-work · 6 years ago
> 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.

Can confirm. I just got a 54% raise by switching companies. It's absurd. I think a lot of companies just get complacent and don't keep up with the pace of developer salaries, then start leaking talent until it becomes a problem.

mamon · 6 years ago
My personal best was a 100% pay increase, when I went from being young and naive to "know your worth and negotiate aggresively" attitude :) That was almost 8 years ago, I changed the jobs few times since then, for additional aggregate 50% increase in salary.
wwweston · 6 years ago
> The last time I switched jobs, I got a 40% pay increase. That's ridiculous. I even told the company I was underpaid and they asked if I could wait a year for a raise.

As far as I can tell, management that can see beyond the idea that your current payscale is what you should be payed is pretty rare. There's just something about anchoring on a price once it's negotiated.

hinkley · 6 years ago
My experience is that one of the reasons people will leave is feeling trapped. If they feel like they can easily leave they will stay longer. Not a lot longer, maybe six to eight months. But that’s still up to 20% longer.
wolfgke · 6 years ago
> 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.

This is a very US-centric perspective. At least in Germany, the situation is somehwat different. Here, changing companies too regularly, often bears a social stigma.

skookumchuck · 6 years ago
> 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.

There's nothing curious or special about the IT industry. It's the same effect as you getting gas at the local gas station rather than driving a few miles to the cheaper station.

rhizome · 6 years ago
And a couple weeks before I left, they put in a job ad for 7 developers

All "Senior X," right?

reureu · 6 years ago
I've worked for enough crappy managers that I know how much that affects my job satisfaction and work-life balance. I'm at a point where I'd probably (and, currently do) sacrifice 10-15% of my salary just to work for someone who is respectful and interested in my development and wellbeing. I'd bet others are like me, and if you truly mentor and develop someone, you won't need to pay Netflix-level salaries to retain them.
abc_lisper · 6 years ago
This. I stay at my current work because of this.
bpyne · 6 years ago
All that and it's important, for me, that the organization's mission aligns with my values.
hashhar · 6 years ago
You've articulated it much better than what I tried to in another comment ITT.
Fordec · 6 years ago
"CFO: What happens if we train them and they leave?

CEO: What happens if we don’t and they stay?"

std_throwawayay · 6 years ago
An employee wants more than money. If I have the feeling that I grow, I stay longer. If I get the feeling that they want to keep me down, I leave sooner. Simple as that.

If you increase the skillset of your employees you get back something along the way, so it's not just money wasted but also collecting a lot of interest. Also you become attractive for employees who want to grow. It's easy for the beancounters to count all the wasted money but it's not so easy to evaluate the real productivity that such employees give back. Maybe if companies were allowed to trade employees like cattle that mindset would change.

techcode · 6 years ago
Perhaps msluyter was thinking of big companies that smaller ones can't match on spending power.

Either way - if you trained/grown someone to become much more valuable for other companies and still can't create enough value working for you... Then you have a different problem.

SamuelAdams · 6 years ago
> CEO: What happens if we don’t and they stay?"

It's quite simple, you lay them off. I've seen it happen more than once.

squallleonhart · 6 years ago
#2 doesn't work if the company can't get anywhere close to #1.

With no work experience, I was hired as a junior dev with a $40k salary, which I gladly accepted. A senior dev mentored me throughout the year and it was fantastic.

Coming up on my 1-year anniversary with the company, I was thoroughly enjoying my job, the people, and the culture. I was hoping to get a raise up to at least $60k, though, since I was significantly more valuable to the company than I was when I first joined. They offered me $50k.

I started applying for other jobs and got an offer for $90k and I accepted it. I still talk with my mentor from my previous job. He's pissed that his company won't pay enough to keep the developers he mentors.

x2f10 · 6 years ago
Do you have a mentor at your new job? If not, what would you consider his continued mentorship worth?
gorpomon · 6 years ago
IMO that devil's advocate argument is incorrect. There is no trap in working to increase an employee's skills.

If you train someone at work and level them up-- they're not in class 8 hours a day not contributing. They are working on a project.

All software mentorship is based around the idea of growing skills while meaningfully contributing to a project. Actually it's much harder to train someone without a project. I have never once in my career seen a scenario where a person isn't contributing and just learning skills.

After said project is done a trained person might leave. But an untrained employee might leave as well-- for a place that offers meaningful mentorship.

dfrage · 6 years ago
> There is no trap in working to increase an employee's skills.

There's absolutely a trap if the now bigger fish stays in your pond for a while and the even bigger management shark decides you can be replaced by him for much less money. As I detail in another subthread in this discussion.

Given the near absolute absence, at least in the US, of rewarding employees who have become much more valuable because of the experience they've gained in doing very real work, you're absolutely right that it needs to be tied to a real project, what you should generally do is complicated even before you factor in the vastly increased probability of it getting you fired. Is the greater productivity your company enjoys for a short period of time worth the shorter tenure of the mentee in it?

> But an untrained employee might leave as well-- for a place that offers meaningful mentorship.

How many of these places exist in the real world?

brandall10 · 6 years ago
If you have a culture of leveling up people you consequentially level up your whole team... and no matter who leaves, that culture and standards you've set for the team remains.
scarface74 · 6 years ago
To follow the author's analogy, by mentoring someone, we're effectively "adding a fish" to the pond, and if someone else "catches" the fish, that effort is largely wasted.

The question is why would someone leave your company once you train them? If someone is more valuable on the open market than you are paying them, pay them market rates. HR compensation policies need to be in line with the market, not the old “we have a policy of not giving more than 5% raises”.

I’ve been working in development for a $long_time but I restarted my career about 10 year ago and my rise is about the same as you would see from someone just graduating from college 12 years ago. Out of the four job changes I had, two were partially because the next company was willing to offer me $25K more (not talking crazy west coast salaries here).

One other went out of business and the other because they decided “they didn’t want to be a software company” and they just wanted report writers a year and a half after I was hired as the dev lead.

1. Pay more than everyone around you. (Obviously, not generally viable.)

You don’t have to pay the most, but don’t pay so much under the market that everytime the employee sees a random job posting or a recruiter call they know they can make signifactly more just by picking up the phone/responding to an email.

2. Make mentoring/growth a central strategy at every level so people will see a path to grow. I'd be curious to hear other possibilities.

That helps. But why would I spend a year a two “growing” at your company, when I could both “grow” and make a lot more money some place else?

I’m at a happy place where I work now, and I am decently compensated compared to the market, but even now if someone was willing to pay me $25K more, all other things being equal (work life balance, no travel, short commute), I would jump ship. But the only realistic way I could make significantly more is by going into management (not interested) or being a consultant (not interested right now).

ergothus · 6 years ago
> if someone else "catches" the fish, that effort is largely wasted

Not only is this a self-fulfilling prophecy, if you don't invest in your employees, the level of waste is larger.

I recently posted an article on LinkedIn about this very topic: https://www.linkedin.com/pulse/most-common-web-dev-hiring-mi...

Note: I shamelessly plug one of my new-developer friends at the end.

enraged_camel · 6 years ago
>>Not only is this a self-fulfilling prophecy, if you don't invest in your employees, the level of waste is larger.

In the long-run, yes. The issue is that most companies optimize for short-term. Managers and executives can receive significant bonuses for keeping their costs down, and by the time the disadvantages of that approach (i.e. people leaving) become obvious, they too have bailed for the next gig.

snowwrestler · 6 years ago
People choose where to work, and money is only a small part of that decision.

Invest in an employee, give them meaningful and interesting work, and the resources to grow, and you will generate a lot of value that doesn't show up on the books: loyalty.

From the financial perspective, it is almost always cheaper to get more out of a current employee than to go into the market and find someone new.

IMO there are two types of companies: those that know how to develop talent, and those that only know how to import it. The former are often the ones that have a long bright future and create a big impact on the world.

> by mentoring someone, we're effectively "adding a fish" to the pond, and if someone else "catches" the fish, that effort is largely wasted.

This only holds true in a zero-sum game, which the economy is not. Improving the skills of employees actually makes the entire pond bigger.

johngalt · 6 years ago
A business that pursues a poaching strategy will not develop the practices to identify in-house talent. Ergo, you have a hard time understanding anything about employee performance other than you pay a lot.

When you are the one adding the fish to the pond. You know exactly what type of fish it is as it grows. Whereas the fish that you catch may be a catfish rather than a sockeye. The free rider problem is a real thing, but so is the market for lemons.

wisty · 6 years ago
> But to play devil's advocate for a moment, isn't there something of a natural disincentive to level up one's employees in such a tight labor market? To follow the author's analogy, by mentoring someone, we're effectively "adding a fish" to the pond, and if someone else "catches" the fish, that effort is largely wasted.

Most good employees don't quit for at better job unless there's a dysfunctional workplace. Partly they don't know if there's better jobs, and partly it's just a lot of effort, but mostly because other companies don't know they're good employees. The labor market is a market for lemons. If you own a $2000 car that drives OK you don't sell it because other people won't believe it's any good.

aiisjustanif · 6 years ago
That doesn't seem to describe the IT market currently, at all.
hashhar · 6 years ago
What I have personally experienced is that since I had an awesome mentor, I've been willing to follow them along anywhere they go and which in turn helps the mentor to get into a leadership role since over time they are effectively leading a group of mentees.
dooy · 6 years ago
> Make mentoring/growth a central strategy at every level so people will see a path to grow.

I have been following hackernews for 15 years. 20 years since I saw an stallman interview in local pc magazine, blown away by the intensity of the man. I am an artist. I love to read plt stuff and haskell lisp code, I cried over sussman lectures.. It expands my mind, finding ways to express my thoughts so that common people in my world can understand me better, for their sake. I dont write programs, a lot of the code feels unmusical, not ergonomic, my musical background made me aware of how unmusical a keyboard feels like. Learning functional programming has made me aware how most people use imperative chain rule sequences to generate their thought patterns. I would love to work with inspired people just building new ways to express thoughts. But I quietly read and try to translate visions and feelings into code. Writting linear sentences is becoming a drag. It feels as if the time is ripe to raise our conversations to a more constructive functional level. It is happening. It is a slow progress. I can't see myself working in IT because of business deadline material oriented approach. So I continue to quietly read plt stuff. I do not want to understand anything because the other is usually limited to a smaller temporal frame. I read code and apply different real life variables to it and see how the interactions develop within my interaction space. How would you mentor me? /rant

LolNoGenerics · 6 years ago
I don't think everyone leaves with the next best salary upgrade if you pay fair. Leveling up a junior should be rewarded in time. Part of the mentoring is to teach them how to fight for your upgrade, right?

Good culture is good, but no culture fits all personalities.

In the end you probably have to accept that some portion of mentees will leave and try to minimize the rate.

What I would be afraid of that grown up juniors may get stuck in their learning environment and remain junior for way too long.

patagonia · 6 years ago
I’m surprised there is not a compensation scheme something like what follows:

Setup: Bring on promising “apprentice” and have 3 year roadmap to reaching “solid individual contributor” status

- year 1: pay at market rate for standard recent college grad but payout 60% in year 1, 10% in year 2, 10% in year 3, 10% in year 4, 10% in year 5

- year 2: beginning of year give merit raise to full salary amount based on market rates but payout 75% in year 2, 5% in year 3, 10% in year 4, 10% in year 5

- year 3: beginning of year give merit raise to full salary but payout 90% in year 3, 5% in year 4, 5% in year 5

- beginning in year 4 get merit raise and receive 100% of salary cash that year as well as the 10% from year 1 and 5% from year 2

- year 5: includes 10% from year 1, 10% from year 2, 5% from year 3

If you can’t keep your employee after that, it’s on you, but they’ve def stuck around long enough to pay you back in productivity

(edit: I realize my math is a bit off but I’m on a cellphone on the move, you’re gonna have to mentally fix the math, but you get the idea)

chadash · 6 years ago
> Make the culture of your company so awesome that people will want to stay, even if you can't pay the most. Make mentoring/growth a central strategy at every level so people will see a path to grow.

I think this only goes so far. There are better companies and worse companies, sure, but even the best companies have their issues and after enough time, most people want to move on. People also change, and what seems awesome to a fresh graduate may not be great for someone older, so it's always hard to keep everyone happy.

Pay, however, seems to be a motivator that keeps a lot of people in place (certainly not everyone, but a lot). I know plenty of talented people who feel trapped at their jobs because their jobs pay very well. It's common enough that there's a term for it, "golden handcuffs".

bhl · 6 years ago
Is this a free rider problem?

While a developer is being mentored and improving, they’re still contributing to the company for the same salary even though their market value is rising.

Eventually, without a raise in salary, they’ll move to a company that pays market value. So developers aren’t free riders because the aforementioned; the new companies are free riders because they pay market rates.

Edit: it may be a free rider issue if the mentorship / training is orthogonal to their tasks. For example, if Starbucks started to offer their baristas CS classes, it’d be a free ride for employees. But what are perks classified as?

pm90 · 6 years ago
> Make the culture of your company so awesome that people will want to stay, even if you can't pay the most. Make mentoring/growth a central strategy at every level so people will see a path to grow.

This is why company culture is so important. You may not be able to compete on financial compensation right away, but if you have a culture thats great, enables people to learn and grow and work with other great folks, its very attractive as compared to simply throwing more money.

Not to mention: many folks _want_ that kind of mentorship and culture. They desperately want to learn from smart, experienced developers.

hinkley · 6 years ago
I tend to mentor people I see as promising. Those with leadership potential. Folks I see as future peers with similar values (ethics, quality, teamwork).

If they get far I have a good reference or referral in my future. In the meantime I can offload some of my troubles onto them and worry about other things.

To put it another way, if you think good software requires vigilance, and you worry that there’s a shortage of it, these people aren’t competition. They’re allies.

president · 6 years ago
3. Treat all workers as cogs in a machine that can be replaced at any moment if they are disobedient or fail to do their job right. After all, there are plenty of qualified people lined up to take their place anyway. Bonus points for incorporating foreign workers that can be locked into indentured servitude for many years. If you do it right, your fish can never leave the pond!
tomaskafka · 6 years ago
2. If great people don't have growth path at your company, they'll grow by going elsewhere.
pyrale · 6 years ago
I believe there is a story along the lines of "Would you rather train people to see them leave, or not train them and have them stay?"
james_s_tayler · 6 years ago
I wonder if that's what Peter Drucker meant when he said "Culture eats strategy for breakfast"
vharuck · 6 years ago
"What if I train them, and they leave?"

"What if you don't, and they stay?"

megablast · 6 years ago
That is why you don’t mentor someone.

You provide the tools for everyone to improve.

Deleted Comment

rb808 · 6 years ago
> Your mentees will support you and promote you for the rest of your life.

The problem I've seen is that this is rarely true. We've had a big set of grads we've trained that quit for a 20% pay rise, or a project that they happen to like better. Many regretted it but it didnt stop the next guys from doing the same. I'm really burnt out over teaching green newbies again and again.

scruple · 6 years ago
It's absolutely challenging when you're mentoring people and work starts to look like a revolving door. I've learned over time to reframe my thinking around mentoring and I believe that it has led me to a better place (or, I'm perfectly willing to accept that perhaps I've just deluded myself).

I mentor the juniors and intermediates on my team (and others in the company), but I also consider the activity to be a sort of mentorship for myself, in an abstract way. By mentoring, I'm frequently discovering better ways to teach and better ways to learn. I also seek their feedback about designs and code on the spot and those conversations that I have, with people who aren't encumbered by a lengthy career in technology, help me keep a sort of "beginner's mind," as it were.

The primary motivators that most people appear to have when they talk about mentorship, i.e., tangible benefits to the company, on-boarding, leveling up juniors, etc... are the side-effects to me. The primary motivator that I have when I mentor others is instead the learning and growth, career and otherwise, that I get to experience that would otherwise be off limits to me.

edit/ words.

jsty · 6 years ago
In fairness, all other things being equal, wouldn't you move for a 20% pay rise? Especially at the more junior level, where that kind of increase could probably afford them a significant boost in living standards.
rooam-dev · 6 years ago
I don't want to sound harsh, but junior devs that think about living standards while being junior will remain junior or average at best.
chrisseaton · 6 years ago
Why don't you match their pay rise?

Or give them projects they're more keen to work on?

vetinari · 6 years ago
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 benefits.

madrix999 · 6 years ago
Cant lower the CEO's paycheck 8) (mostly serious sarcasm)
rb808 · 6 years ago
I'd love to give everyone around me huge pay rises each year and only work on really fun new projects but unfortunately the boss doesn't agree. :)
JoeAltmaier · 6 years ago
Sometimes their value to you is less than their value to someone else. You may need them, but the value they bring to the business has to pay off. That puts a hard limit on what you can pay for that skill.

It can suck to run a business - sometimes there's no good solution. I'd suggest more contracting for necessary-but-non-critical skills, but contracting's a jungle too.

scarejunba · 6 years ago
Takes a while for people to learn. That time is way more expensive for everyone involved because it also costs you on the mentor side. I've figured out a thing: lots of strong engineers want to work with other strong engineers. They want to execute. So I give them that and they leave places where they spend most of their time trying to support or teach other people.

And if someone is too junior based on our initial phone call, I just direct them elsewhere and hit then up two years later when those guys have mentored them. Way easier.

chillacy · 6 years ago
Assuming a perfect market (or good enough market), you could just raise the pay for the position and hire someone experienced enough to justify that price rather than grow someone into that role.

Otherwise said, at-will employment doesn't incentivize intensely investing in growing people.

dfrage · 6 years ago
In my experience, if you narrow the focus of "you" from the company to you the mentor, "will support you and promote you for the rest of your life" can happen. Although it sounds like a certain amount of delicacy is required in the vast majority of companies like your current one where they have to move to get rewarded for their increased value.

There also might be some relevant variations in corporate cultures around the world, what you say rings true for the US, but the author is in Estonia.

eu · 6 years ago
There is a saying about getting a raise: The only way up is out.
crdoconnor · 6 years ago
Of the people I've mentored I usually remain friends after we've both left the company.

The relationships I've formed with people have always been more valuable than the relationships I've had with companies.

watwut · 6 years ago
The issue here is that they should got that raise in company. It happened to me and I did stay long in that place.
freyir · 6 years ago
I feel for you, but then again, why do you keep hiring newbies? You get what you pay for.

Also, maybe the employee is worth the 20% pay bump after you’ve trained them? It sounds like you’re letting another company enjoy the fruits of your labor at a relatively cheap price.

iandanforth · 6 years ago
The distinction here is between a hunter-gatherer mentality and an agricultural one.

Are you picking and choosing or are you farming?

Currently we grow engineering skill in (often) high cost institutions with limited capacity such as traditional universities. Moocs and bootcamps are alternatives which try to address the scalability, cost, and time commitment barriers of traditional education.

The question is should there continue to be a strong dichotomy between organizations who consume the output of these growth channels and the growth organizations, or should software development companies create programs of structured education and growth that have a low barrier to entry?

As others have mentioned startups who can hunt/find/pick people with relevant, high quality skills have the advantage of not paying the time and organizational cost of training.

Personally I think that large organizations should be taking more hands-on approaches that take all, or nearly all comers, and then provide training for the kinds of skills they need.

If you look at military funding for medical educations (for example) you'll see that the organization can be very generous in terms of time and training cost as long as a candidate ends up with the skillset they need. You might not go in wanting to be a urologist, but you can end up highly skilled and very well paid if you're willing to meet the needs of the organization.

EliRivers · 6 years ago
I have, to some degree, given up trying to hire senior developers. Instead, I'm doubling down on the internal training programme (and have hired extra juniors).

5% of time is set aside for training. Works out a little over a half-day every fortnight - every fortnight, after lunch on Friday, drop the code and hit the books, pet projects, videos, experiments, whatever clearly makes you a better software engineer. If you don't spend that time on your own training, questions are asked. Nobody has been fired for not training yet, but if we get someone who simply refuses to, I could see it going that way; when we hire someone, we're not just hiring that person today - we're hiring that person next year, and we're banking on that person next year being better at this.

There is CapEx for books. We have PluralSight licences. New starters' agreed objectives include reading and thence using "Effective C++"; I will come by your desk every so often to chat about parts of it. We have short presentations every fortnight (the time of which doesn't even come out of the 5% training time) on technical topics. Once you've covered the basics, the company starts contributing towards conference attending.

The last senior dev who got internally promoted currently has an allowance of 50% of his time for helping more junior devs understand things. Fifty percent! The intention is to get his senior dev knowledge and experience out of his head and into the heads of five other people; growing ourselves five more senior devs.

I got all this by asking for it. Grow your own. Everyone wins. The company wins, the employees win. Just had to ask; if you ask, and your company isn't interested in improving, isn't interested in producing better products, faster and cheaper... well, is that really the company for you? :)

maxxxxx · 6 years ago
"The last senior dev who got internally promoted currently has an allowance of 50% of his time for helping more junior devs understand things. Fifty percent! The intention is to get his senior dev knowledge and experience out of his head and into the heads of five other people; growing ourselves five more senior devs."

I am pretty senior and I like mentoring people. But the incentives are generally the other way: If as an IC I transfer my experience to new people I almost get no credit. The manager of the group gets credit for building a good team but I have to justify my salary compared to the people I mentored. So sometimes I wonder if it would be smarter to keep knowledge to myself so I can look better.

EliRivers · 6 years ago
I certainly sympathise. In a strong culture, when you mentored someone, their achievements and success would reflect on you. The boss would see your cohort doing well, and give you a pay rise for your fantastically valuable contribution to the company. "Thank you, maxxxxx, for making these junior software engineers 50% more effective," the boss would say. "Why, you've had the same effect as hiring two or three more people!"

But if your culture involves ranking and paying people only relative to each other, I can understand the need to protect yourself. And everybody loses :( The company loses, you lose, the potential mentees lose :(

WrtCdEvrydy · 6 years ago
> almost get no credit

Delivered four senior developers in order to accelerate our team's velocity...

that's what my resume says.

scaryclam · 6 years ago
This is great, but only when you've already got enough knowledge and experience within the organisation to enable it. That's where you really need to hire senior developers. Trying to grow a team of juniors into a team of seniors without enough guidance, grows teams of expert beginners, which is way worse for both the team and the organisation in the long run. You won't be able to hire or retain seniors in that sort of environment as they'll see it for what it is and leave.

However, that's not to say training people up shouldn't be done! I've seen some wonderful developers grow from junior to senior and it's always great to see it happen. Just make sure the organisation is in a position to do it well, otherwise you're doing both them and the juniors a disservice.

epscoe · 6 years ago
That's a good point. One of the places I worked hired a ton of juniors and placed them under "senior" team leads, but the leads were too few, not exactly all-stars, and code quality was all over the place. I tried to have a positive influence on some of the eager new hires, with varying success (mostly because I wasn't very senior either, just a little further along than they were).

Eventually the environment became frustrating enough that I had to move on. Great people, really friendly environment, and even a product I believed in, but it felt so bad to keep having to read through awful, giant, bug-ridden code reviews with the same old rookie mistakes. I only had enough influence within my own team to slow the rate of bad code entering master, but it still came alarmingly fast. I think nobody from my team is still at that company. I really hope management has turned it around since.

anarazel · 6 years ago
Maybe I'm just a grump, but: 5% is pretty low number for training people up. Perhaps that's just the "hit the books on your own, but during work time" portion? If it includes other things (talking people though a project that's on the edge of their capabilities, discussing the architecture of important project from an educational perspective, ...) then it seems pretty low.

EDIT: non-phone spelling

EliRivers · 6 years ago
It is, I believe from talking to others and my own experience, significantly higher than the average (outside the mystical FAANG etc).

The average is basically zero.

Talking people through things at the edge of their capabilities and discussing the architecture etc that they need to know; that's just doing the actual job, surely.

ikeyany · 6 years ago
5% = 2 hours out of the entire week

It's basically 4 conversations and that's it.

maxxxxx · 6 years ago
5% is pretty low to basically nothing. I agree.
sandGorgon · 6 years ago
We are trying to build our own internal training program. Beyond the language-specific training, what books/courses have you found that are super useful. For example, would you ask someone to learn design patterns or something like that ?
neilv · 6 years ago
We're in a labor market in which CS students are focused on drilling for the FAANG-style whiteboard tests. And many will tell you their strategy is to go to Google for 2 years of experience and resume-building, and then leaving rather than grind away and play the promotion game there. And everyone has known for 20 years that you have to job-hop to grow your salary in this industry. And most employees would be naive to think that their employer would take care of them long-term.

In this mercenary environment, loyalty doesn't go very far, so, for retention after mentoring, I assume one would have to pair mentoring/training with substantial growth in compensation. Besides all the non-monetary attractions.

freyir · 6 years ago
My last company would insist that they couldn’t give promotions or significant raises. Until you came in with an outside offer, then they’d roll out the red carpet and bend over backwards to keep you.

It breeds distrust, discontent, and disloyalty.

The best people don’t like this and leave. They company is left with people who can’t land outside offers. And the company ends up needing to pay market rate anyway to replace the good people who left.

Idiotic.

msoad · 6 years ago
This works for the company because most people don't bother interviewing and coming up with a counter offer. In my previous company the best of the best would leave because company had this blanket policy that they would never do a counter offer. But in overall it was good for the company because they were able to retain most of engineers with raises as little as 1% and no stock refreshers.
decebalus1 · 6 years ago
We're in a labor market in which loyalty has and should have disappeared a long time ago. I used to have a nice stable job (7+ years), very happy with my 'arrangement' but then wall street rankings started a process involving layoffs.

I didn't get affected by the layoffs but after about 5 rounds where some of my friends/acquaintances got the boot, I saw the writing on the wall and actively started looking outside. Because it's way more comfortable to be laid off when you have an offer in hand. That's when I realized how underpaid I was. Since then, I made it a professional goal for myself to switch jobs every 2-3 years so that I don't leave money on the table, as the only loyalty I have is to myself and to my family.

Every company, after a while, will start paying you less if you don't climb the corporate ladder to go into management. They will pay you as less as possible considering the risk of you leaving, slowly transition you into working on the old stuff while the new hires will get the green projects. Ok, I'm generalizing but nobody can deny that newcomers are always treated better.

But mentoring transcends companies. I still have great professional relationships with past direct reports working in other places and more often than not they still ask for advice when it comes to their overall careers.

president · 6 years ago
> And everyone has known for 20 years that you have to job-hop to grow your salary in this industry

And this is why companies continuously lobby to keep the current H1-B system in place.

learnstats2 · 6 years ago
What if you reverse this - loyalty goes very far, it's just that companies don't offer it. If you are fulfilled in your job, why would you want to leave for a grind?
rajeshp1986 · 6 years ago
I love the point the author raised in this article. Companies are spending a ton of money on recruiting and paying commissions to recruiters. If some of that money and effort is channelized toward mentoring, a company can notice a significant change in quality in its workforce. That said, this article fails to address 2 major issues or provide any solutions for that:

1) Every decent size company spends for providing resources like books, learning portals etc. for their employee to grow their skills. There is an entire industry running which caters to provide companies learning tools, for example - safari online books etc. Mentoring is also used a buzzword in these companies. There is a difference between providing tools & books vs creating an environment where people can grow. Mentoring is very inter-personal. Unless companies create incentives for senior engineers to help mentor other engineers there won't be any real change to the way things are now.

2) If your teams or Orgs are always battling to meet the next deadline, how will mentorship happen? You can't expect people to put more than 40 hours of work and expect them to personally mentor other engineers(They still do btw).

julius_set · 6 years ago
This article assumes that the person you are mentoring is open to being mentored. I’ve worked with some engineers who were definitely junior despite having years of experience and very opposed to even a slight suggestion on how to improve their thinking process or implementation process.
ozim · 6 years ago
On the other side of spectrum there are those people who "really want to learn real programming" but you have to do all the work for them. You point them at the resources, contribute ideas and it turns out person is not following through even though when they talk they are enthusiastic.

So basically you have to somehow spot right person to spend time with, and it is hard. At least guys that don't want to be mentored are not time sinks.

julius_set · 6 years ago
This too, I’ve also worked with people like this, it is extremely frustrating to teach someone who wants to be mentored not take your mentorship advice and continue to make the same mistakes.

The counter argument here can be that I possibly may not have mentored the person in the right way using the right motivation, but methods I tried were (ranked in succession):

1.) Showing by example but asking to come up with own examples 2.) Templating examples 3.) Listing out steps 4.) Finally just directly asking to do x, y, and z

Utilizing data patience time boxing.

This is definitely a difficult problem I don’t particularly have an efficient solution to, my best answer is just find someone to mentor who will execute

twoquestions · 6 years ago
This sounds like a wonderful idea in a business culture not obsessed with burning tomorrow to a crisp for more return today. Not to mention this requires trust and loyalty, both rendered cruel jokes by the all-against-all knife fight that our (in the US) labor market is.