Share
 

Hey Pythonista,

One temptation aspiring (and bettering) developers fall into is studying too hard for data structures and algorithms.

While they're important, it is sad that they've become crucial for almost all coding interviews.

This is where we think the coding interview is flawed (which we discussed here). In short, are they really representative of the real job you will do as a developer?

In this email we want to leave you with 5 ideas that we hope make you re-think your approach if you're currently hitting the books and leetcode exercises.

These ideas will explain why building projects could be more beneficial than solely focusing on algorithm study.

1. How much knowledge of algorithms do you need to be effective?

Speaking in the context of a Python developer, remember that a lot of algorithms and design patterns are already cleverly embedded in built-ins, the Standard Library and key PyPI libraries.

Manage those well and you can perform a lot of tasks, even advanced tasks, stuff employers are waiting for and paying well for.

2. Practical use case and the human aspect of software development

Studying algorithms gives you a solid foundation, but it's also in part theoretical knowledge, how does this apply to the real world?

Building projects takes a more holistic approach in which you solve real-world problems, debug, and optimize code, which are crucial skills in a professional setting.

It also develops critical thinking and the ability to design solutions that meet user needs and business goals, skills that are essential for career advancement.

Remember software development is for humans and by humans. You're developing a solution for stakeholders with changing demands and requirements. Focusing only on the tech (algorithms) does not address this critical skill set.

3. Portfolio building

You can study algorithms for eternity, but what do you actually have after all of that time?

Completing projects end-to-end results in tangible outcomes that can be added to your portfolio, which you then can show to employers.

We have worked with clients that used this technique to skip coding interview rounds.

Although we cannot fix the coding interview being too algo-centric, there are companies that are happy if you show you have the relevant skills!

So, take a moment and think what projects could showcase your unique skills.

4. Develop a wide set of skills

Another problem with overly focusing on algorithms is that you narrow your scope.

Software development is about so much more, e.g. version control with Git, database management, API integration, testing, refactoring, debugging, writing clean code, UI/UX design, etc.

Developing this broad skillset will make you a very sought after candidate in the tech industry, being eligible for more roles and better challenges.

5. Networking and career opportunities

Working on projects encourages you to connect with other developers and professionals in the field.

This network can be a valuable resource for learning, collaboration, and career opportunities.

Again, don't forget the human aspect of this. Yes, the tech skills are important, but a lot of your career success is proper networking and your ability to collaborate effectively - a key skill in any developer role.

---

So, there you go, if you're overly studying the craft, which is great, we hope you reduce that effort a bit and start building real world projects.

What to build?

See what annoys you and automate it, where can you scratch your own itch?

Nothing? What about friends and family or your colleagues and work department?

Find something in the real world and start building it, there is no better way to develop the wide and holistic skillset a developer needs.

If you need help with this, reach out to us, we can get you there in a matter of months, if not weeks:

  1. Community: https://pybites.circle.so/

  2. Quick call: https://go.oncehub.com/pybiteschat

  3. Check out our coaching services: https://pybit.es/

Best,
Bob & Julian


Email Marketing by ActiveCampaign