I wish I knew this when I started
2 min read
last update: 31 December 2024
Switch to Linux
- The command line is powerful; there are plenty of useful tools that can save you a lot of time and teach you a lot about computers and programming.
- It’s highly customizable which allows your productivity to go brrrrr!
- Linux is much more secure; unlike Windows, you don’t have to worry about viruses, malware, or needing to install an antivirus.
Read the Market
A very good mentor is job requirements. Look for senior and junior job postings you want to hold in the future and read the requirements. The skills listed are your targets for development.
Find Unique Projects
The last thing you should do is pick up boilerplate projects or follow generic tutorials. The only thing you will learn this way is how to rely on other people to show you what and how to do things, and since everybody can do that, your projects won’t stand out.
You should instead pick out-of-the-box ideas that interest you and work with the mindset that you will realize this project no matter what it takes. Find the right tools to use, learn a new programming language, a new framework, or libraries along the way.
Balance Theory with Practice
- Learn theory as you need it; don’t try to learn everything at once, you will forget most of it.
- Give a lot of importance to the basics; it’s the foundational knowledge that you will build everything on.
Showcase, Showcase, Showcase
- GitHub: Use special repos, and write good READMEs for your projects.
- Personal site: Write blog posts, and make demo videos.
- Social: Use social media to show your progress on your projects, share original ideas, and experiences. Your posts should not be for bragging but actually a medium where you share what you learned with others, so keep it short, informative, and write it yourself!
Learn the Good Practices
- Stop using Jupyter notebooks for everything, really! Learn from the best
- Start writing modular code.
- Learn how to make your programming environment reproducible (Docker, pyenv, virtualenv).
- Document your code (docstrings, comments, README).
- Learn programming conventions and best practices.
- Learn to lint, type, and test your code.
- Here thank me later!
- Learn how to use Git for version controlling and collaboration.
Learn How to Write Professional Emails
This one may sound basic, but believe me when I say, most of the emails I get from junior students are terrible.
A well-written email makes all the difference.