Education Methods for Development Newbies
2024. 08. 07.
Recently, I learned to drive for the first time at a driving academy. Starting the engine, releasing the handbrake, changing gears, lifting off the brake, pressing the accelerator, turning the steering wheel. Before going to the academy, I had never even sat in the driver's seat, so I couldn't even imagine driving on the road, but it turned out to be possible. It was a truly amazing experience.
However, what surprised me more than the fact that I could drive was that this could be taught. I never knew that driving could be learned so easily and quickly. Not just me, but other students at the academy pass the closed course test and move on to road driving tests in just a few days. The instructors, sitting next to students who have never touched a steering wheel before, deliver precisely the information that needs to be known, and when something is being operated incorrectly, they immediately notice and correct it. After a few such instructions, students can move while staying in lane, perform perpendicular parking, change lanes, and make U-turns without the instructor's help. Maybe not perfectly, but well enough to pass the license test.
I think we can tell a similar story about learning development. Even someone who has never attempted coding before could quickly reach the stage of setting up a development environment with an appropriate manual, learning just the minimum concepts, and solving simple algorithm problems on their own. And by learning how to use git, they could apply basic version control to their code and share it online.
So, how should we deliver development knowledge to create developers who can solve algorithm problems on their own and upload code to GitHub with minimal feedback, developers capable of the most basic self-improvement? How can we convey that feeling of 'Wow, I didn't know it could be this easy' that I experienced?