Become A Better Developer By Building These 5 Projects

Will Swan
The Startup
Published in
4 min readAug 1, 2019

There are plenty of paths to becoming a better developer, one of which is simply by building things. Building projects that you wouldn’t usually develop helps you to gain a broader understanding of the languages that you use and improves your logical and creative thinking.

I have chosen these five projects because each of them will help improve your skills in a certain area. The end product doesn’t need to be amazing, it is the development journey that is the important part.

Command-Line Application

Building a command-line application will help you to build a deeper understanding of how terminals work, and in turn how your computer works. As an added bonus, learning to build command-line applications can also improve your workflow.

I recommend finding a regular task that you complete and trying to automate it using the command line.

Realtime Messaging App

No need to implement authorisation here, just a bare bone messaging app where a user can choose a username and message another user. The important learning points here are WebSockets and Polling. Both of these technologies are becoming increasingly important as users want realtime information from the services they use.

You could use something like Socket.io, but you should try and complete this without any frameworks or services so that you get to grips with the technologies.

Simple Social Network

Your social network doesn’t need to be the next Instagram. The main thing here is learning about authorisation. Authorisation can be a tricky task to get your head around because of all the security implications involved, it is one of those tasks that has to be done right.

If you play around with different types of authorisation like password-based, single sign-on, and email-based, then you will be in a good position to decide what methods work best in the future.

Building a social network will also help you learn to work with databases, whether they be relational or non-relational.

To-Do App

One of the most common learning apps is a To-Do app, and there is a reason for this. To-Do apps need to be simple to use, quick and always work. Developers often over-complicate these apps making them slower and more fiddly to use than they need to be.

One of the main concepts you will learn with your To-Do app is state management. State management is something that can be quite confusing at first, but once you practice and understand it, then it can become a powerful tool.

Weather App

A necessity to any weather app is the ability to communicate with APIs. As a developer, you most likely will need to understand how to communicate with APIs in an efficient manner. By efficient I mean, performing as few requests as possible.

For example, if you have an app with the weather forecast for four different locations on four different views or pages. Get the forecasts for all of the locations in one request and cache them instead of getting the individual forecasts on each view or page.

Building a weather app will also help you learn the best ways to display data to users so that it is easy to read and understand.

Conclusion

I strongly believe that building things is the best way to become a better developer. Not everything you build will be great, sometimes the process will be frustrating, but at the end of the project, you will always have learnt something.

--

--

Will Swan
The Startup

Did you know that a day on Venus is longer than a year on Venus.