By nolan grace
If you want to get better at programming, there are two things you need to do:
Write Code and Read Everything!
I have been writing software for a long time, and I’ve had the opportunity to learn about programming in many different settings. I have struggled through problems on my own, worked with teams, and I’ve even had the opportunity to learn in a University setting. Through all of my experiences I have found the best way to become a better programmer is to write code and read everything! The moment you stop doing either, you will slow down the progression of your skills.
Too many people get so excited to write code that they sometimes forget to put in their due diligence. Writing code is fun and I too have been guilty of ignoring the documentation. With old tools, or new, there will always be more to learn. You will save yourself a lot of time and energy if you make sure you have a good foundation before diving into a new tool.
To help you on your journey, I want to offer my favorite resources for reading about tech topics. Enjoy.
When you already know the tool you want to work with, the best place to start is the official documentation. When working with something new, resist the urge to jump straight in — look through the docs first.
You will save yourself time and energy, while becoming a better developer. When you read you aren’t only learning that one topic. You are expanding your understanding of an entire area of software development and making it easier for you to learn the next topic.
At the bare minimum, go through a Getting Started tutorial and work though all the examples. Make sure you understand the simple parts of a new language or framework before moving on.
Many developers don’t love writing documentation, so if you find quality information it is because the writer thought it would help.
The next places you should look for up to date information about the technical topics are online publications. Since you are reading this article, I can assume you have already discovered Medium. Medium is my all time favorite source for articles and blogs.
Medium is full of information on a massive range of both technical and non-technical topics. If you have interest in a topic, there is a good chance you can find articles on that topic on Medium.
Another great thing about Medium is that the broad range of topics doesn’t take away from the quality or depth of the information. Other publications lose depth and quality of information in an attempt at a larger audience. The inclusive and easy-to-use nature of Medium makes it the perfect place to find quality information and publish your own content.
My next favorite source for online articles is Hacker News. Hacker News is a site managed by the startup incubator Y Combinator. Hacker news allows users to post links to technical content that can be up- and down-voted by the community, depending on the quality.
Hacker News is a lot like Reddit but less overwhelming. Hacker news has only one feed of community-curated information. This makes it easy to look through and read articles each morning.
My absolute favorite source for learning new things is programming books!
With these two publishers you can be sure to find the information you need — from the newest in neural network frameworks to help working with legacy systems.
I am going to give you a piece of advice I’ve learned the hard way. If you prefer reading physical copies of books, I recommend you learn to love your
e-reader. There are too many different books and too many updates in programming texts.
I was an avid supporter of physical books and I had a very impressive collection of physical books. This was all well and good until I moved! After moving boxes and boxes of heavy books, I learned to love reading off my iPad. So learn from my experience and get yourself a subscription to Safari Books Online.
Safari books online is a monthly subscription service that gives you access to more tech books than you can ever read. It’s now owned by O’Reilly Publishing, but they continue to offer books from Manning Publishing and many other publishers. Safari Books Online was one of the best investments I have ever made.
Now to one of the more intimidating sources of information. Reading research papers can seem daunting, but it is worth your time. The world is full of brilliant people. So why not take advantage of the work of the best and brightest?
You may tell yourself that research papers are too complicated or too difficult to read. Well, a simple Google search will show you you’re not alone.
Research papers can be intimidating at first but don’t get discouraged.
Take it slow and follow these tips:
- Read the abstract
- Look at the diagrams
- Read the conclusion
- Decide if the article is worth reading
When you run into something that you don’t understand, take a note or look it up mid-article. As you learn, reading research papers will get easier and easier. If you run across an important reference to another research paper, stop and look into the reference. Sometimes it will be good to read the other article first or at least get a sense of the topic.
The best place to start looking for good research papers is in the tool documentation. Lots of applications and frameworks started out as part of a research project at a university or company. For example, Apache Spark was born out of the AmpLab at the University of California, Berkeley. You can find more information about the research, development, and history of Apache Spark on the AmpLab site or in the official Apache Spark docs.
If you are looking for a service to do more of the heavy lifting, you may want to look into getting a subscription to DeepDyve.
DeepDyve is a subscription service that puts thousands of research journals at your fingertips. DeepDyve will even recommend research papers based on your reading history. This service is extremely useful when you start reading research papers.
Other People’s Code
Last but not least you should read other peoples code. Go to GitHub. Find relevant projects and look into how other people are programming.
Seeing code for a real project will give you a different point of view from books and research papers. Sometimes programming can get messy. Using a tool in a perfect world can be very different from how to use it in the real world. So getting the perspective from someone who has been on the front lines is always useful.
Before you go, I want to leave you with one last piece of advice. The more you learn the more stupid you will feel. You will realize how much more there is to know. Embrace this feeling and treat it as an accomplishment. Learn new things one step at a time. Accept that you will never know everything. Rely on others to help you. Learn as much as you can and become someone others can rely on.
Now off you go! Read and learn something new!
If you have other sources for information that help you learn, please let me know in the comments below. I am always looking for great new sources of information! Thanks for reading. I hope this information helps you become a better developer.