
Introduction#
Every April in Japan, many tech companies kick off their “new grad engineer training” programs. Fake project development, technical lectures – the content varies by company. At first glance, it seems like a great system for providing “essential learning opportunities for new hires.” But I’ll say it plainly:
“New grad engineer training? We don’t need it.”
Especially at companies like major tech firms or well-known startups that already hire highly skilled engineers through rigorous selection processes, this feels even more true.
If someone asked me whether I’d recommend new grad training to junior engineers, the answer is no. Absolutely not. Watching new grad engineers spin their wheels in training makes me feel sorry for them, and sometimes even frustrated.
In this article, I’ll lay out the reasoning and context behind this view, and share my thoughts on what nurturing engineers should look like beyond the “training” format.
Context: What I Mean by “New Grad Engineer Training”#
Let me set the stage.
By “new grad engineer training,” I’m referring to the group training programs that many tech companies in Japan run for several weeks to months starting in April. This typically includes things like:
- Team development using fictional projects
- Lecture-style technical instruction (Git, databases, AWS, etc.)
- Hands-on workshops for internal tools
The companies I have in mind (I won’t name names) are those with a selective hiring process – companies generally considered “hard to get into.”
Given this context, the question arises: “Is there really a point to running group training?”
Why I Think It’s a Waste#
1. New Grad Engineers Are Already Highly Skilled#
Recent new grad engineers are genuinely impressive:
- Many have practical experience from long-term internships (tech decisions, design, operations, etc.)
- Some have built and shipped their own services
- Others have contributed to open source projects
There are plenty of engineers at this level. For people who already have strong technical skills and can work independently, lecturing them on “how to use Git” or “database fundamentals” is simply a waste of time. It’s not just unproductive – it might actually be boring for them and robbing them of growth opportunities.
Additionally, skill levels vary widely among new grads. Some are entry-level, while others have skills rivaling mid-level or even senior engineers. Running a one-size-fits-all training program for people with such different levels of experience and ability is simply not rational.
2. Real Work Provides Overwhelmingly More Experience#
Of course, training isn’t completely without value. But compared to learning on the job, it pales in comparison. In real work, you learn through experiences like:
- Practical feedback through code reviews focused on product quality and readability
- Asynchronous communication involving many stakeholders
- Specification design that considers consistency across multiple microservices
- Infrastructure design with scalability in mind
These experiences simply cannot be replicated through “fictional projects” or “classroom lectures.”
3. Earlier Placement Benefits Teams Too#
From a team perspective, having new grads join sooner is actually helpful. If training takes one month, and that month were spent in real work instead:
- They could ramp up through bug fixes and small improvement tasks
- They might even start PoC work on new features
- The team gets productive members sooner – that’s a huge win
Conversely, spending a month on training means a month’s delay in real output. And since training deliverables don’t directly solve production issues or create user value, they rarely count as meaningful achievements.
4. There’s No Need to Keep Everyone at the Same Pace#
New grad engineers come with vastly different skill levels. Some have years of practical experience; others are just starting out. Compensation varies too. In this environment, having “everyone start from zero, learning the same content at the same pace” inevitably wastes time on things people already know. This doesn’t just fail to contribute to growth – it risks killing motivation.
Rather than insisting on uniform training, providing the right environment and tasks matched to each person’s skills and experience will accelerate growth far more effectively.
So What Should Companies Do Instead?#
Saying “training is unnecessary” doesn’t mean “just leave them on their own.” What matters is moving away from the rigid training format and building systems to develop people through real work. Here are some things you could start doing tomorrow:
1. Prepare Onboarding Tasks at the Team Level#
First, regularly stockpile tasks suitable for onboarding. For example:
- Small bug fixes
- Minor improvements to existing features
- PoCs for new features
Tasks that “aren’t urgent but naturally teach new members about the service and codebase” should be kept ready. By giving these to new members, they learn the codebase, design philosophy, development workflow, review culture, and documentation practices through real-world context. I believe this hands-on experience provides far deeper learning and faster growth than group training.
2. Maintain Internal Documentation#
Another crucial element is keeping internal documentation well-maintained. Whether new grads can work independently depends heavily on “how quickly they can access the right information.”
- Development environment setup guides
- Deployment flow and CI/CD documentation
- Infrastructure architecture diagrams
- FAQ and troubleshooting guides
- Service overviews and responsibilities
Having this information always available, accessible to anyone, and accurate matters not just for new grads but for all engineers.
To New Grad Engineers#
You’ll grow far more by getting into real work as early as possible rather than going through training. It’s not unusual to completely forget what you did in training a year later. I’ve forgotten mine entirely. But strangely, things I learned through real work stuck with me.
Also, if something feels pointless, respectfully share that feedback with HR or the training organizers. Providing feedback on existing systems is an important step toward making the organization better – for everyone, not just new grads.
To Companies Running New Grad Training#
Are you running training on autopilot – “because they’re new grads,” “because that’s what we’ve always done,” “because other companies do it too”? Today’s new grad engineers have the skills and self-direction to perform in real work. And your company hired them for exactly those qualities.
That’s why providing “learning through real work” instead of “cookie-cutter training” benefits both the company and the new hires themselves. Earlier placement means earlier productivity, creating a positive cycle for everyone.
Instead of going with “business as usual,” why not reconsider: “What would truly be valuable for today’s new grads?” Development doesn’t only happen in training. It’s through real work that new grad engineers grow the fastest.
Final Thoughts#
This article is based purely on my personal experience and opinions. I know that new grad engineers, training designers, and others will see things differently depending on their position. That’s exactly why I’d love to hear different perspectives and experiences. If something resonated, felt off, or reminded you of your own experience, please share in the comments.






