The real reason you won't become a lord

A story about sparrows, correct feedback and everyday problems

Four evils

In 1958, Mao Zedong initiated the Great Leap Forward, a campaign organized by the Chinese Communist Party to transform the country into an industrialized state.

Image created by the author

Image created by the author

The Four Evils Action was one of the first steps taken as part of the Great Leap Forward. Under the motto “Man must conquer nature,” the authorities have targeted the eradication of four pests: rats, flies, mosquitoes and sparrows.

Pest control was widely practiced throughout the world, and its methods were considered scientifically based. But, contrary to expectations, most of the measures taken, at least three times scientific, had a detrimental effect on food production.

The extermination of sparrows has led to a serious ecological imbalance. The lack of natural predators led to the invasion of insects into fields and damage to crops, which ultimately served as one of the causes of the Great Chinese Famine of 1959-1961.

The Great Chinese Famine is considered one of the deadliest disasters in human history, and the death toll from its consequences is in the tens of millions (from 15 to 55 million people).

Scenarios of great uncertainty

Too many bright minds have suffered from the reckless pursuit of useless knowledge. — Seneca

There are three skill levels in software development, each with a number of distinctive features:

  • Junior developers tend to focus on learning how to write code, how databases work, and how to build everything in a row. They often feel buried under a mountain of knowledge that they need to cram into their head, and most of the time they are, frankly, just trying to survive in this chaos.

  • Mid-level developers must understand the more advanced features of the language being used, they have to review code, guide junior and have a good understanding of the framework they are working with.

  • Senior developers must quickly understand complex systems, have a deep understanding of clean architecture patternsknow how to scale systems that require significant amounts of data, and, preferably, be able to fly.

In all three stages you will have to deal with architectural problems, the solution of which can exterminate many sparrows. And just as during the Great Leap Forward, rushing through web systems can cause an application to lose important financial data or, for example, force a company to spend hundreds of thousands of dollars in additional resources to implement an unreasonably complex system.

Interviews with programmers are extremely difficult because when conducting them, companies first of all try to weed out those who may accidentally (or even knowingly) kill sparrows.

Image generated by the author

Image generated by the author

But how do you know where to start? There are, without exaggeration, thousands of courses in the world for junior programmers that promise to turn you into a middle programmer in six months or a year, but in reality, even after graduating from a whole university, you will still remain a fledgling junior. How to understand what you need to learn first? What should you be prepared for?

When you find yourself at the middle level, a huge gap appears between you and your senior colleagues: it is impossible to get either clear advice or quality feedback. This is the real reason that most middles cannot become seniors, and some do not strive for this at all, being disappointed in the interaction with their colleagues.

Feedback

If you're interested in entrepreneurship, you've probably heard about the many ways to test a business idea.

A common beginner mistake that not only programmers, but also novice entrepreneurs make is trying to test their ideas using a questionnaire or by simply asking friends and family. People easily say, “Yes, I would buy that,” but then, when the product goes out into the world, they come up with a thousand reasons to refuse it.

This creates a chicken-and-egg problem: you don't want to start developing a product without making sure people need it, but people won't know if they need it until it's available. This makes life extremely difficult for entrepreneurs.

Image generated by the author

Image generated by the author

The right feedback loop makes the learning process possible: your mentor knows the right answer and can correct you when necessary. Modern AI works the same way: you can train a model if you know the correct answers.

However, middle developers have the same problem as entrepreneurs: they do not have a feedback loop to adjust their work and learn in time. And a colleague pointing out a problem to you won’t teach you patterns, resiliency, or scaling.

Oracle

If only there was a free tool that stored all the content on the Internet and could instantly correct everything we do.

Popular meme from the Internet

Popular meme from the Internet

To be honest, I don't really believe in prompt engineering, mainly because it's not “engineering” as such, but I always appreciate creative examples of interactions with ChatGPT.

Here's one interesting example of chatting with ChatGPT that you probably haven't heard of:

Image generated by the author

Image generated by the author

Here's what's interesting: the chat will monitor your progress, and in case of failure, you will be able to get feedback that companies usually don’t give:

Image generated by the author

Image generated by the author

Image generated by the author

Image generated by the author

Already the first line suggests the right thoughts. I wouldn't have become a leading software engineer without books like Clean Architecture.

Real life knowledge

To sum it up, the main problem separating you from becoming a senior software engineer is that you are not working on complex projects with the right feedback.

Books like “Cracking the Coding Interview” will help you understand how FAANG companies recruit employees – such knowledge can only be obtained from an insider, there is not much of it in the public domain. But beyond that, you also need to take on real projects or get real interviews to internalize the knowledge after years of practice.

In one episode of The Big Bang Theory, Sheldon explains that he “learned” how to swim through mental exercises from the Internet and practice on the floor. Like, he has no interest in swimming in real water.

Don't forget that you also need to be humble in order to learn from others and accept their comments.

Programmers are always open to criticism and discussion of other people's code. So take advantage of it. This is useful, although sometimes it can be annoying.

Not a destination, but a way of life

Mastery is not a destination, but a path of continuous learning and tireless practice. You will only become a senior software engineer if you get to the bottom of things and challenge yourself severely.

Image generated by the author

Image generated by the author

Let your work be a testament to perseverance and objectivity, because time will pass, you will become a senior, and in this role you will take on significant responsibility – not only for creating high-quality applications, but also for shaping the development vector for a small part of our world.

Similar Posts

Leave a Reply

Your email address will not be published. Required fields are marked *