Advice for a junior software developer

Every year, I work with a smart bunch of college kids during their summer/winter internship at HackerRank. While I’ve learned a lot of things from them, they usually ask for feedback/advice at the end of the internship. The individual feedback varies from person to person, but there is a standard set of links/books I share with them to read to become a better software developer.

Here is the list I share with everyone (in no particular order)

  • System design primerhttps://github.com/donnemartin/system-design-primer. While many use this just for the system design interview during the job interviews, this is an amazing set of system design patterns to learn. I love the diagrams and the way everything is explained and organized.
jrUBAF7.png (1348×1390)
  • 97 Things Every Programmer Should Know – Great book that helped me shape my development career at the early stage. I was lucky enough to read this book when I was getting into software development and some of the advices are still deeply ingrained in the way I work. The best part is that each chapter is just 2 pages long. Very easy to follow and remember. 
97 Things Every Programmer Should Know: Amazon.in: Henney, Kevlin ...
  • The Architecture of Open Source Applications (Volume I and II) – http://aosabook.org/en/index.html (the two books at the bottom of the page). A super hard book to finish. I’ve been trying to finish this book for the last 2 years and still not successful. Each chapter is about an opensource application (like Eclipse, Git, GDB, nginx, Puppet, PyPy, and many more). You feel fully exhausted just after finishing one chapter.
Volume 1 cover
  • UI Patterns – There is no fun in building websites with horrible UI/UX. It isn’t so hard to learn as well. All we need is a little bit of browsing and common sense. These makes you get an idea of what to use where while building a web application. Increases your common sense and something I believe all developers should know at some point. A few website I would recommend are http://uipatterns.io/, https://ui-patterns.com/, https://goodui.org/ and https://www.uxlibrary.org/.
Android UI Design Patterns — 10 Best Mobile App UI Designs in ...
  • High Performance MySQL – Gives a good understanding of how things work/move under a database. I learned a lot of query optimizations, engines, and other aspects of a database after reading this book. I would love to read something similar about PostgreSQL. You feel like the “Neo” of the database after reading this book. Highly recommended.
Buy High Performance MySQL 3e Book Online at Low Prices in India ...
The Case Of The 500 Mile Email | Nasstar

When I shared the above list with Alagu, he shared two more links with me tailored for junior developers

  • 20 Tips For Your First Job – Atul Chitnis did a tweetstorm for students joining their first job – http://atulchitnis.net/2011/first-job/ I could relate to a lot of it, wish I had known this when I joined fresh.
  • Ruby Under a Microscope – If you are using ruby for work, this is a really good read – Ruby under a microscope. It gives a very “Compiler design” perspective of Ruby. 
Buy Ruby Under a Microscope – An Illustrated Guide to Ruby ...

Leave a Reply

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

This site uses Akismet to reduce spam. Learn how your comment data is processed.