Live data from Hacker News

Optimize Onboarding

staysaasy.com

21–30 of 66 posts

Re: Optimize Onboarding

#21

I once got told by a manager that they didn't expect new hires to make big contributions in the first year. That was after I complained I was feeling very unproductive and wanted some help to speed things up. I quit after a few months because the slowness of everything around me was making me depressed. This was at a top5 website company.

But this is still something we should teach youngsters. Interns this summer started again they second-day standup with “Yesterday I installed my computer, and today I’ll finish bug 1”. Which is good until you notice that he intends to stay all night long and do more than expected, to exceed expectations. And that is how you burn out. In fact, exceeding expectations takes a lot of talent, because you need to exceed in…

It's important to teach juniors the importance of avoiding burnout. As a manager, it's not very difficult to gauge burnout by keeping an eye on time spent in the company Slack, when e-mails are spent, timestamps on commit messages, and so on. More importantly, building a genuine relationship with the employee is important for keeping the conversations open.

Having someone try to stay all night to get work done on day 1 isn't reasonable, obviously, but I wouldn't go so far as to discourage people from trying to exceed expectations. I'd always love to tell young people that they should relax, never work more than 40 hours per week, never stay late under any circumstances, avoid on-call, and so on, but then I remember that much of my early career success came from exceeding expectations when the situation called for it. That doesn't mean everyone should be crushing it 100% of the time or sacrificing themselves for the company, obviously, but in the real world it often requires going above and beyond if you want to move up and get ahead.

Many interns have no baseline, so they're constantly in fear of getting fired. I think it's most important to set clear expectations and to provide constant, honest feedback. Once they get over the irrational fear of getting fired, they can start deciding how much, if any, additional effort they want to put in to the job. I'd be lying if I told the interns they're all guaranteed return offers, so I can't honestly tell them that they don't need to do better work than their intern peers. It's best to explain the situation as clearly as possible and let them make their own decisions.

Re: Optimize Onboarding

#22
I agree with pretty much all the OP has to say.

In my experience, onboarding is something that is usually an afterthought, if it is considered at all. Which is why, when starting from scratch as CTO at two companies, I set it as a top priority from day one. In both instances, onboarding was optimized as much as possible. In one company, we used Okta, and 90% of accounts needed to be productive (Git, Jira, Confluence, the HR system, etc) were auto-created prior to the start date. We reduced, as much as possible, the need to manually create or request access to needed systems. Instead, based on your job function, we already knew what you would need access to and automatically made those requisitions. I realize this is easier to do when you are starting from scratch, but it demonstrates that it is feasible. It’s simply a matter of will and valuing the importance of a smooth onboarding experience. After all, you spent a ton of time and money finding this candidate - why not get them productive as fast as possible?

Setting up the development environment was also scripted. We had scripts for setting up and installing the tools needed for frontend and backend development. Common aliases and scripts were shared via a shared “dot files”. In most cases, it was possible to checkout the relevant repos, run unit tests, commit code and deploy to production on the first or second day. There is no reason one can’t have all you need ready to go on day one. Certainly things get out of date as time passes, but the expectation of every new hire was to improve the documentation and fix any flaws. This “onboarding as code” mentality also made it easier when an experienced engineer needed to set up a new laptop. Documentation is like a garden - it needs to be constantly weeded and pruned.

Finally, there’s the matter of learning the tech stack, code base and current toolset. Again, this needs to be a deliberate, well thought out experience rather than an ad-hoc, thrown into the deep-end of the pool, sink-or-swim challenge. A manager needs to make it their top priority to figure out how to get new employees (or internal transfers) up to speed and confident as quickly as possible. This requires special skills in writing good documentation and figuring out the various learning styles of engineers.

I agree - if you onboard, and struggle getting code to compile, can’t find the right documentation about how things work - then it sours your experience with the company. In some cases it feels like onboarding is a struggle and it’s a badge of honor to have survived. That you “made it through” and “paid your dues.” This may work with certain engineers, but I don’t think it is healthy or wise.

Re: Optimize Onboarding

#23
post #10

Committing code on day 2....I guess the author had never worked for a Fortune 500 company. It usually takes at least two weeks before you get a level of access that allows you to commit code.

I work for a non tech fortune 500 company and was committing code by day 2. It's really about being willing to figure out what the blocker's to access are and making sure they are taken care of before hand.

I've heard this a few time about submitting your first PR within one or two days at a company. It's cool and all for you to get code out there, and if you've got good CD it probably won't screw anything up, but I know my stack at work. I know there are nuances, and deliberate details, and designs, and prioritize and a million other things. How can a person be expected to write a bug fix and truly understand what is happening, when they may not even yet full understand the product yet?

Re: Optimize Onboarding

#24
post #8
post #3

Personal anecdote: Started in a developer position a couple years ago to work on an internal corporate app on an isolated network. Week 1: Get to the desk; meet my neighbors; submit request for necessary network account; and start on mandatory security training for the systems. Week 2: Finish the mandatory training; ping the network owners a few times about the account request; start reading up on unfamiliar parts of…

5 weeks, jeeez. I spent around three days trying to get the 802.1x wired ethernet authentication to work* at one organisation and felt completely useless for that period. I'm not sure I'd have coped well not having any network access for five weeks. *It turned out the ports I'd been directed to use hadn't even been patched in (in hindsight I should've figured this out a bit quicker from my EAPOL frames seemingly goin…

Having contracted at many big corps, I know this situation very well. The worst issues are the fact that nobody really knows what you're supposed to be requesting, the systems you have to use for requesting them are a complete maze, and a lot of the time, you have to request one thing before you can request the next thing (waiting for those tickets to be serviced sequentially, with their multi-day SLAs).

But don't stress over it. Your manager definitely knows how bad their onboarding is, and isn't expecting you to be able to do anything about it.

Re: Optimize Onboarding

#25
post #3

Personal anecdote: Started in a developer position a couple years ago to work on an internal corporate app on an isolated network. Week 1: Get to the desk; meet my neighbors; submit request for necessary network account; and start on mandatory security training for the systems. Week 2: Finish the mandatory training; ping the network owners a few times about the account request; start reading up on unfamiliar parts of…

Hey at least the company knew that they had hired you. I had that once, the joy of contracting agencies I guess.

It was a 6 month contract and at the end of it they still had not gotten me badge access to the area I worked in.

Re: Optimize Onboarding

#26

>It takes roughly 2 weeks to form a habit; it takes roughly two weeks to get comfortable in a new environment. A common mistake is to treat a new report’s first couple weeks like college orientation - social, light hearted, get-to-know-you stuff. If your report spends the first two weeks reading C# documentation and having lunch out on the town with the team, guess what, they’ve just normalized that behavior as what…

Quite so. In addition, as a manager of a new employee I make an absolute point of being a "helicopter mom" from the moment they hit the area until about week 2 or 3.

Payment at the hotel will foul up. I want overcharges and idiocies on my card and not on my employee's.

Access cards and tokens will foul up. I need to meet the new employee the first day on the morning and probably for lunch.

Network account provisioning will foul up. I need to see what the problem is and go escort the process through.

Lots of people will blow them off for asking beginner questions. I need to be around so that people answer the question properly.

The presence of a manager means that everybody who normally just fluffs off onboarding will pay fscking attention.

As for timelines, it takes about three months for a new employee or intern to no longer be actively hazardous. It takes another three months until they become a positive force for productivity.

Yes, during that time they're doing something useful otherwise they won't learn, but they're generally a productivity drag until about 6-8 months in.

Re: Optimize Onboarding

#27

>It takes roughly 2 weeks to form a habit; it takes roughly two weeks to get comfortable in a new environment. A common mistake is to treat a new report’s first couple weeks like college orientation - social, light hearted, get-to-know-you stuff. If your report spends the first two weeks reading C# documentation and having lunch out on the town with the team, guess what, they’ve just normalized that behavior as what…

[deleted]

Re: Optimize Onboarding

#28
post #26

>It takes roughly 2 weeks to form a habit; it takes roughly two weeks to get comfortable in a new environment. A common mistake is to treat a new report’s first couple weeks like college orientation - social, light hearted, get-to-know-you stuff. If your report spends the first two weeks reading C# documentation and having lunch out on the town with the team, guess what, they’ve just normalized that behavior as what…

Quite so. In addition, as a manager of a new employee I make an absolute point of being a "helicopter mom" from the moment they hit the area until about week 2 or 3. Payment at the hotel will foul up. I want overcharges and idiocies on my card and not on my employee's. Access cards and tokens will foul up. I need to meet the new employee the first day on the morning and probably for lunch. Network account provisionin…

I 100 percent agree that it takes up to 6 months on average for most developers to become super productive in a code base and at least 2 months for them to be at the comfortable but still not sure on everything phase.

I also agree with the helicopter aspect as well, that’s a key insight on your part and I bet your team likes your mangement style (mostly :)

I dislike when employers don’t structure their expectations accordingly. I once worked somewhere where we almost lost one of our most talented developers (in terms of productivity and quality and insight, a real rock star) because initially failed to understand this. Thankfully our director stepped in and made it right.

Great lesson to have learned early in my career

Re: Optimize Onboarding

#29
post #10

Committing code on day 2....I guess the author had never worked for a Fortune 500 company. It usually takes at least two weeks before you get a level of access that allows you to commit code.

I work for a non tech fortune 500 company and was committing code by day 2. It's really about being willing to figure out what the blocker's to access are and making sure they are taken care of before hand.

Good for you! (not being sarcastic)

Culture plays a huge role as well. I have seen the environments where existing folks are un-willing to help out new guy. This could be due to lack of time, getting territorial, just-being-jerk, lots of attrition, etc.

The best way to get started is to start writing tests for the team and work your way up. I find this useful for all levels of hire.

Re: Optimize Onboarding

#30
post #10

Earlier quoted context omitted.

I work for a non tech fortune 500 company and was committing code by day 2. It's really about being willing to figure out what the blocker's to access are and making sure they are taken care of before hand.

I've heard this a few time about submitting your first PR within one or two days at a company. It's cool and all for you to get code out there, and if you've got good CD it probably won't screw anything up, but I know my stack at work. I know there are nuances, and deliberate details, and designs, and prioritize and a million other things. How can a person be expected to write a bug fix and truly understand what is h…

If you're working at these big companies then working in a codebase you don't fully understand will just be a fact of life. I worked at a Fortune 500 company for 4 years, but of course I didn't understand even half of the million-line Scala codebase I was working on by the time I left.

The way you make people productive in that environment is you have, and enforce, good coding and design standards so that code will do what you expect and you can rely on parts of the codebase that you don't necessarily understand the internals of. Frankly, having to consider "nuances, and deliberate details, and designs, and prioritize and a million other things" is not a good use of people's mental capacity, and you should aim not to have a codebase where people have to do that. Write your codebase like a tower of libraries/DSLs, where each layer presents a solid abstraction to the layer above it, and the topmost layer is just the business logic written in the language of the domain; then it's easy to make a simple change to that business logic because you just have to make the same simple change to your code.

Post reply on HN