Project Ideas to Make You a Better Developer

There’s no secret method in becoming a better developer.

There’s no substitute for hard work.

You gotta study, and simply grind it out.

But sometimes you can speed up the process.

One way is to create “good” projects

But what are good projects?

L…


This content originally appeared on DEV Community and was authored by Tamerlan Gudabayev

There's no secret method in becoming a better developer.

There's no substitute for hard work.

You gotta study, and simply grind it out.

But sometimes you can speed up the process.

One way is to create "good" projects

But what are good projects?

Let's dive in.

What makes a good project?

All projects are good.

But, some are better than others.

How do we judge projects?

Before I begin listing out the criteria by which I judge projects, I just wanna say that this is very subjective and at the end of the day it totally depends on you, if you think a project is great, then it is great, no arguments needed.

Now with that done, let's go over what I find important in a project:

  • Tech Stack — We can judge a project by the tech stack it's using. That also depends on you, if you wanna learn Java, then simply create projects using Java. I'm not advocating using the latest and greatest tech, but it's good to experiment with different tech stacks and see which ones you enjoy programming in.
  • Size — The bigger the project, the better it is? In most cases it is, big projects force you to think about architecture, file structure, and lots of other things that you might ignore. On the other hand, small projects are good if your focused on learning one specific tech. For example, if you wanna learn web sockets, you would create a super simple chat app, with the basic needs just to learn web sockets.
  • Challenge — An easy project is no fun, you won't learn much. That's why it's important to have a project which is slightly outside of your comfort zone. Make sure it's not too outside of your comfort zone for you to be overwhelmed.
  • Fun — In my opinion, a fun project is always a good project. It just motivates you to write code, and simply have fun.

Now that we know how to judge projects, let us answer a very common question that most beginner programmers have.

Should my projects be recruiter oriented?

This is another common question that junior developers have.

The simple answer is no.

Most companies don't look at your personal projects UNLESS they are super outstanding such as a popular open-source project or equivalent.

What I'm trying to say is that you should create projects because you genuinely want to do them, you might want to learn some new technology, or simply have fun.

Projects

That the theory is over with, let's move over to more practical advice.

Here are the projects I recommend every programmer to at least try doing.

PS. I probably have missed some other great project ideas, if I did make sure to leave them down in the comments.

Clones (Netflix, Google, Amazon, etc...)

You got no project ideas?

Clone apps?

What apps?

Any app., it can be Netflix, Google, Amazon, etc...

Cloning apps is a great way to learn how these giant apps were made.

You essentially reverse engineer these apps and learn their trade secrets.

Visualizers

Visualizers have become super popular lately.

Mainly because it teaches you core CS fundamentals.

It's also a nice project to put on your resume.

You can visualize lot's of things, sorting algorithms, shortest path algorithms, etc...

Bonus points making this much more beautiful

Video/Text Chat App

I don't like putting specific projects, but I couldn't skip this one.

I like this project, it's fun and it teaches you trending topics such as web sockets and WebRTC

It's also a very cool project to put on your resume.

CMS System

This is a classic.

CMS systems can be very simple or complex.

If by any chance your CRM system is useful, you can turn it into a full-fledged SaaS (Software as a Service) making you some side income.

Cloud Computing Project

Lot's of companies are moving to cloud providers for their infrastructure needs.

What better way to learn the cloud, than creating a cloud-based project.

You can create a small project that uses some sort of cloud service:

  • Storage: AWS S3
  • Database: AWS RDS
  • Functions: AWS Lambda

PS. You don't have to use AWS, it's simply the most popular one currently. You can check other cloud providers such as Google Cloud and Microsoft Azure.

Games

If you enjoy playing games, why not make one?

It might be tough but make sure to pick something that isn't too hard, you won't be making the next witcher.

You can make a 3D game that will teach you lots about physics, or even a multiplayer game that will teach you about networking.

You can start off by learning Unity, or my personal favourite Godot.

Distributed Systems Project

This one might be a bit hard to do, but it will immensely help you because most companies are moving to a distributed architecture.

You can create simple microservices that communicate with each other using HTTP or gRPC.

You can add a reverse proxy, as an API gateway, maybe even a load balancer, and you can host this on the cloud using some cloud provider.

Online Code Editor

This is another fun and challenging project.

Personally, I've never done this but would assume that it's no easy feat.

Your gonna have to be able to work with files, and syntax highlighting.

Don't forget about running the code, probably gonna use some sort of compiler underneath.

Regex Query Tool

This will probably be a frustrating project due to how annoying regex is.

Nevertheless, it's a great project, your gonna learn how regex works (finally!!)

You can add features like having test cases for regex, and even a history

File Manager

This is another fun project to do, it teaches you how the file system works.

It will also teach you basic data structures because your gonna have to use them to implement some features.

Machine Learning Project

Machine learning is hot.

People think it's too hard, but in fact, there are many ready-made libraries that abstract all the hard stuff for us.

You can create a mask detector app or handwriting detector app.

Your Own Framework

This is a great project because it will make you appreciate the frameworks your already using.

To start you can choose a framework to clone.

You can start off by cloning basic functionality and slowly start implementing more features.

Conclusion

That was long?

I sure hope you got an idea for your next project.

If so, tell me which one your gonna make down in the comments below!

Thanks for reading!

The Plug

If you want more content like this, follow me on dev.to or even check out my personal blog.

I also publish small snippets of content on Twitter, follow me @tamerlan_dev


This content originally appeared on DEV Community and was authored by Tamerlan Gudabayev


Print Share Comment Cite Upload Translate Updates
APA

Tamerlan Gudabayev | Sciencx (2021-08-17T07:00:26+00:00) Project Ideas to Make You a Better Developer. Retrieved from https://www.scien.cx/2021/08/17/project-ideas-to-make-you-a-better-developer/

MLA
" » Project Ideas to Make You a Better Developer." Tamerlan Gudabayev | Sciencx - Tuesday August 17, 2021, https://www.scien.cx/2021/08/17/project-ideas-to-make-you-a-better-developer/
HARVARD
Tamerlan Gudabayev | Sciencx Tuesday August 17, 2021 » Project Ideas to Make You a Better Developer., viewed ,<https://www.scien.cx/2021/08/17/project-ideas-to-make-you-a-better-developer/>
VANCOUVER
Tamerlan Gudabayev | Sciencx - » Project Ideas to Make You a Better Developer. [Internet]. [Accessed ]. Available from: https://www.scien.cx/2021/08/17/project-ideas-to-make-you-a-better-developer/
CHICAGO
" » Project Ideas to Make You a Better Developer." Tamerlan Gudabayev | Sciencx - Accessed . https://www.scien.cx/2021/08/17/project-ideas-to-make-you-a-better-developer/
IEEE
" » Project Ideas to Make You a Better Developer." Tamerlan Gudabayev | Sciencx [Online]. Available: https://www.scien.cx/2021/08/17/project-ideas-to-make-you-a-better-developer/. [Accessed: ]
rf:citation
» Project Ideas to Make You a Better Developer | Tamerlan Gudabayev | Sciencx | https://www.scien.cx/2021/08/17/project-ideas-to-make-you-a-better-developer/ |

Please log in to upload a file.




There are no updates yet.
Click the Upload button above to add an update.

You must be logged in to translate posts. Please log in or register.