← ALL POSTS

Learning to Code Like You're Already on the Job



Recently, I was helping a friend who decided to learn Python so that he could change careers in the future.

Like me when I first started learning programming, he faced the same problem: the learning process usually ends with pushing another feature to a small personal project that does not reflect the workflow of a real company at all.

It made me wonder whether there are courses or mentors who offer something more than just learning a programming language and a few tools like PostgreSQL, Redis, and so on.

For my friend, I ended up setting up an environment with GitLab, Kubernetes (yes, it is difficult for a beginner, but we are talking about tools he may see at work), PostgreSQL, Redis, and RabbitMQ. Ideally, we would also need some kind of task tracker and a corporate messenger. And yes, how could I forget a couple of calls every day? Without them, the workflow would not be complete. I suggested that I would create tasks as they might appear in a real project, and he would solve them. His code would go through code review and then through a CI/CD pipeline, including linter checks, unit tests, building a Docker image, and pushing it to a container registry. After that, the application would be deployed to Kubernetes, where he could see the result.

He had to study each of these steps on his own. I was there to give advice and explain what each tool was for, why it was needed, and how it worked. In the end, another learning project was wrapped in a workflow that was much closer to a real working environment.

I am not a mentor or a teacher, so I also have doubts about my teaching approach, but it seems to me that this kind of practice-based learning is much more effective.

I still remember my first day at work and how surprised I was by how different everything was from the way I usually worked on my small personal projects.

Comments

Comments are coming soon.