Sitemap
The Pythoneers

Your home for innovative tech stories about Python and its limitless possibilities. Discover, learn, and get inspired.

Rethinking My Python Developer Path

What I’d change if I could begin again as a Python developer

8 min readNov 11, 2024

--

Press enter or click to view image in full size
Image made by me , feel free to join my LinkedIn group here

I remember starting my first job as a Python developer. During the first week, I was shocked and unsure of what to focus on or what and how much I needed to know. Despite discussing my role during the interviews, I felt anxious and unprepared.

Like many who begin their journey in programming, I initially focused on memorizing the syntax, doing a few courses and building a couple of small projects just to refresh my skills. Looking back, I see there are things I would approach differently if I were to start again.

Hi, my name is CyCoderX, and in this article, I’ll share with you what I’d focus on more intentionally if I was just starting off. These reflections and tips are based on my personal experience, what I found valuable and wish I had paid attention to earlier, from mastering problem-solving and understanding Python’s inner workings to engaging with a developer community.

Let’s dive in!

I write articles for everyone to enjoy, and I’d love your support by following me for more Python, SQL, Data Engineering and Data Science content.😊

1. Master the Basics Thoroughly

When I first started learning Python, I was eager to dive into more advanced concepts and libraries. However, looking back, I believe rushing to learn as many advanced concepts might have been too much and I realized the importance of having a strong foundation on the absolute necessities. A solid grasp of Python basics — like data types, loops, functions, and error handling — is essential, and mastering these early makes everything that follows much easier. Finally, mastering how to use the most popular Python libraries and Frameworks I would say it’s much more beneficial than being familiar with lots of libraries and concepts. Being proficient in a few things is more valuable than being average on many things, besides, if something is needed at work you can do your research and act accordingly.

What I’d Do Differently:

  • Spend more time understanding core concepts and practicing with small exercises.
  • Focus on how Python structures and handles data since these fundamentals apply to all future projects and libraries.
  • Pick a few foundational libraries relevant to the types of projects I want to build (like pandas for data work, Flask for web development, or NumPy for scientific computing) and learn them thoroughly.
  • Avoid overwhelming myself by focusing on a few libraries at a time and becoming proficient before moving on to the next.

2. Focus on Problem Solving, Not Just Syntax

It’s tempting to concentrate on learning syntax and code patterns, but focusing on problem-solving skills makes a bigger difference in the long run. Syntax is easy to look up, but the ability to break down problems and design solutions is a skill that pays off across all areas of software development.

Besides, learning to create a plan for the project and breaking down the requirements into smaller tasks will make your life easier in the long term. Finally, by solving problems on coding platforms like LeetCode, you will inherently absorb the syntax anyway.

What I’d Do Differently:

  • Practice with coding challenges on LeetCode or HackerRank that emphasize algorithms and data structures, which encourage problem-solving.
  • Work through projects or exercises that push me to apply logic creatively rather than just typing out the code from memory.

3. Get Comfortable with Version Control Early

Version control, especially Git, is a core skill for every developer. In my early projects, I skipped using version control, thinking it was only necessary for team projects, besides nobody teaches you git in university, or at least that’s how it was in my university. But even when working alone, version control helps manage changes, track progress, and avoid accidental data loss.

Have in mind that lots of bootcamps and tutorials will not teach you Version Control and you will probably have to learn it on your own through additional resources or practical experience in real-world projects.

What I’d Do Differently:

  • Start using Git right from the beginning, even for small projects, to build good habits.
  • Get comfortable with commands for committing, branching, merging, and viewing project history, as they’re essential for collaboration and efficient project management.

Hey, did you know we have a LinkedIn Group? Join us to connect with like-minded professionals and stay ahead of industry trends!

4. Learn Testing from the Beginning

Testing is a crucial skill for every developer, yet it’s often an afterthought especially from python developers! YYes, I said it, and again, I’m speaking from my experience. I’ve seen plenty of developers, particularly beginners to mid-levels, never testing their code. When an edge case arises, their code often fails to perform as expected.

Not going to lie, when I first started coding, I would write entire projects without writing a single test, only to spend hours debugging later because something went wrong after deploying my code haha. Learning how to test the code you write from the beginning could have saved me a lot of time and effort.

What I’d Do Differently:

  • Start using testing frameworks like unittest or pytest right from the start, even for small scripts.
  • Develop a habit of writing tests for key parts of the code, which not only prevents bugs but also makes it easier to refactor code confidently.
  • Always test for edge cases as they can cause code to fail unexpectedly.

5. Avoid Using AI or auto complete tools

This tip is for everyone but when starting out as a Python developer or any other engineering or developer role, it’s tempting to rely on automated tools or code generators to speed up learning or complete tasks. However, relying too much on such tools can hinder your growth especially if you are a beginner or mid experienced developer.

Get CyCoderX’s stories in your inbox

Join Medium for free to get updates from this writer.

Writing code manually helps build a deeper understanding of programming logic, syntax, and problem-solving techniques. By tackling challenges directly, you strengthen foundational skills that will pay off in the long run, enabling you to write more efficient, reliable code without shortcuts.

  • Writing code manually builds a deeper understanding of programming logic and syntax.
  • Over-reliance on chatbots and other automated AI tools can hinder growth and learning.

6. Build Real Projects, Not Just Tutorials

Tutorials and courses are a great starting point yes, but it’s easy to get stuck in a cycle of just following along and waiting for the instructor to give you the answer and thus not fully absorbing the material.

I would suggest working start working on some personal projects. This is because they force you to make decisions, solve unexpected issues, and understand how everything fits together in a real-world context.

If you are not yet comfortable with starting your own personal real project with actual data on your own then start watching tutorials and doing courses but try a more hands on approach. Instead of waiting for the instructor or lecturer to give you the answer attempt to solve the problem yourself and compare the answer or even go an extra step and add more features and functionality to the current code you are working on.

What I’d Do Differently:

  • After completing each tutorial, apply the knowledge to build a small project from scratch, using the concepts learned.
  • Choose projects that address a real need, even if they’re simple, as they give a sense of ownership and improve practical coding skills.
  • Adopt a hands-on approach rather than waiting for answers from instructors.
  • Attempt to solve problems independently before checking provided solutions.

7. Join a Developer Community Early On

Coding alone can be slow and limiting. Early on, I hesitated to engage with developer communities, but being part of a community provides many benefits — from learning new techniques to gaining insights from experienced developers. Communities also offer a support system for tackling challenges, getting feedback, and finding opportunities.

What I’d Do Differently:

  • Join developer forums, attend meetups, or participate in online communities where Python developers share ideas and solve problems together.
  • Take advantage of mentorship, either through formal programs or informal connections, to speed up learning and gain real-world insights into software development.

8. Understand How Python Works Under the Hood

Python is known for being straightforward to learn, but understanding how it actually works can make a big difference in writing efficient, reliable code.

When I started, I didn’t take time to explore Python’s memory management, the Global Interpreter Lock (GIL), or how data is passed in functions. These details matter, especially when working with larger projects or optimizing performance.

What I’d Do Differently:

  • Spend time understanding how Python manages memory and how data types like lists and dictionaries are implemented.
  • Learn about Python’s GIL, which affects multithreading, and explore alternatives like multiprocessing or async programming for handling concurrency.

Conclusion

Looking back, there’s a lot of things I would do differently if I could start my Python developer journey again. From focusing on problem-solving and mastering the basics to understanding version control, testing, and Python’s inner workings, each of these steps would have laid a stronger foundation. Additionally, building real projects and joining a community of developers provide valuable experience and connections that help in the long run.

For anyone starting out, consider these lessons and be patient with your growth. The journey of becoming a skilled developer is ongoing, but by setting solid habits from the beginning, you can make steady progress and avoid some of the common pitfalls along the way.

Good luck and Happy Coding!

Note that I am not sponsored or affiliated with any services or products mentioned; my advice comes from my own experiences. Always conduct your own research and verify online information.

Final Words:

Thank you for taking the time to read my article.
This article was first published on Medium by CyCoderX.

Hi, I’m CyCoderX! I’m a data engineer passionate about sharing knowledge, I write articles about Python, SQL, Data Science, Data Engineering, lifestyle and more!

What did you think about this article? Let me know in the comments below … or above, depending on your device!

Please consider supporting me by:

  1. Clapping 50 times for this story
  2. Leaving a comment telling me your thoughts
  3. Highlighting your favorite part of the story
  4. Connect with me on LinkedIn and join my LinkedIn Group

--

--

CyCoderX
CyCoderX

Written by CyCoderX

Machine Learning & Data Engineer | Data Science | Python & SQL | AI | Software Developer | Azure & AWS Cloud Specialist | Blogger simplifying Big Data & Trends

The Pythoneers
The Pythoneers

Published in The Pythoneers

Your home for innovative tech stories about Python and its limitless possibilities. Discover, learn, and get inspired.