Starting from a Bad Onboarding Experience
- Published at
Initial Preparations#
When you join a new company as a senior engineer, whatâs the first thing you do?
If youâre in-house, maybe itâs setting up your favorite cup and keyboard. But no matter where you work, your real first task is usually setting up your development environment.
That setup might involve familiar or unfamiliar operating systems and programming languages. In such blind exploration, clear documentation is gold.
Evaluating Documentation#
When you open the onboarding doc, what do you notice first?
The logical order of the sectionsâor the environment requirements?
I tend to start with the logical flow.
If the headings look inconsistent, it might mean the author doesnât have a clear idea of how to guide the reader. Or worseâjust wrote whatever came to mind. Maybe the team doesnât have a habit of reviewing documentation; otherwise, there would be at least basic fixes, like arranging headings from H1 to H3 properly.
To me, thatâs a red flag.
Why? Because while the people writing these docs arenât always senior engineers, theyâre usually trusted domain experts. If they donât care about their readers, thereâs a risk they wonât care much about future collaboration either.
If the team accepts this, no matter how good the manager or members are, it creates variables that can complicate future work.
Sure enough, I hit my first roadblock: installing Docker.
As a frontend engineer, it struck me as odd to set up the backend locally when we already had an internal dev environment separating frontend and backend. But as a new hire, I wondered if Iâd missed something. So I gave myself two hours to troubleshoot, updating the doc as I went, and kept my engineering managerâR, who later became my long-term managerâin the loop.
After I finally got it working, I got a message:
Most frontend engineers no longer set up the backend locallyâthe documentation was outdated.
How Would You React?#
Faced with that, what would you do?
- Shrug and move on because your environment is already ready?
- Mentally mark đ for the onboarding process?
- Or think, âThis onboarding process sucks, but Iâll fix itâ?
I chose the last oneâprobably because Iâm stubborn.
Why else would this onboarding feel even more cumbersome than my previous job? Back then, local backend setup was actually necessary due to specific tech choices.
With two more years of experience, feeling stuck again made me dissatisfiedâboth with the team and with myself.
Taking Initiative#
Even though my main role was product development, I suggested using some spare time to revise the documentationâmaking it readable, usable, free of redundancy, and without dependencies scattered across multiple docs.
I didnât know this small proposal would set the foundation for the next four years.
I sent R a basic plan. He replied with questions about readability issues and expectations for future documentation.
Thatâs when I learned: to get buy-in, you have to clearly explain the reasoning. I updated my proposal, added background, and explained the logic behind the new structure.
Once it was approved, I updated the docs and went back to my normal work.
After the Onboarding#
Five months later, before a new teammate joined, R asked me to make sure the setup docs were still up to date. I invited a few colleagues to review them. They casually pointed out that the project structure and coding guidelines were also outdatedâand asked if I could refresh those too.
Would you take that on?
I did. Because it was a chance to uncover more issues worth discussing.
These topics came straight from our daily frustrations.
Each time I updated a document, I drafted a proposal, collected feedback, refined it, and made sure every team member explicitly approved before marking it âdone.â
Only later did I realize: fixing uncertainty had quietly become my unique strength in the team.
At the time? I was just fixing what bothered me.