What Should I Build?

Created on: February 22, 2017   |   Last Updated on: July 21, 2017

what Should I Build?

The ability to learn is one of the most important things that anyone could learn, but this is especially true for developers and software engineers. As developers, our technologies are always in a constant state of perpetual motion, and if you're not moving with them, then you're going to get left behind. One of the best ways I've found for learning is Project Based Learning. Project Based Learning is in simply self explanatory, it is learning by doing projects.

What projects should I build?

I know what you're thinking, the same question has come across my mind many times. What should I build? Well, the answer to that is simple, yet complex. You should build something that you would want to use. Build something that you WILL use, and build something that you can have fun with. To help you get started, I'll list a few apps you could build with certain languages while teaching yourself.

HTML/CSS

I'll start with the basics. Every developer should know the very basics of HTML & CSS even if they want to be a Back-End Developer using nothing but server-side languages, and knowing these languages are essential for front-end developers. So what can you build with HTML/CSS?

Build a Static Website

First you can build a static website. Put a design together and build it, or copy one of your favorite sites using the developer tools within Chrome (if you're not using Chrome, use your current browser to download Chrome. It's 2017 get with it!). With HTML/CSS alone, you're pretty much limited in what you can build. That's when we add more functionality with JavaScript.

JavaScript

JavaScript is a programming language, not a scripting language, that is 'THE Language of the Web'. It happens to be the most popular programming language in the world, and reigns king among all other languages on Github. With JavaScript you can do pretty much anything you would want to do with any other programming language, yet it's most popular feature is manipulating the Document Object Model (DOM), otherwise known as DOM manipulation. So what are some things you can build with JavaScript?

Build a Chat App

How about building a way for you and a few friends to talk secretly in a chat app. Using services like Socket.io you can build your own chat app. Start basic and build various features on it as you progress.

Build a To-Do App

I know, another to-do app. They're the most easy to find tutorials but there's a reason for that. They are useful for learning. Put your HTML/CSS skills to the test and make a great looking app together, and then added along with amazing functionality with JavaScript you can have a to-do app that you will use, have fun with, and be proud of.

Animations/DOM Manipulations

Working with the DOM to some can sound like a daunting task, but this fear can be conquered by practicing DOM manipulation now, so when the time comes that you would have to do this, it won't be such a challenge. Build your own clock, build a app that changes color based on the location of the mouse pointer, there's a myriad of things you can do.

Your work is going to fill a large part of your life, and the only way to be truly satisfied is to do what you believe is great work. And the only way to do great work is to love what you do. If you haven't found it yet, keep looking. Don't settle. As with all matters of the heart, you'll know when you find it.
- *Steve Jobs*

PHP

PHP is a fairly popular programming language to learn. With the rise of frameworks like Laravel it has become even more easier to work with. For more information on Laravel check out my article on why I chose Laravel for this site here. So what can you build with PHP?

Build a Blog

This site that you're on right now is built using the PHP framework Laravel. It features, image uploading, the ability to write posts, authentication, and an admin so I can effectively manage each post. I've also duplicated the blogging app to manage the ability to add projects easily. While also handling emails to send to prospective clients.

So, build a blog to chronicle everything that you're learning, Help others with tutorials, or what ever you want to write about (it's your blog, write what you want).

Build a Membership/Social Media Site

Have a great idea for a new social media platform? Build it a combination of PHP and MySQL. Or maybe you have a idea that has "Members Only" restricted access to the public. These things are achievable with PHP. This project will be challenging but it will also be very rewarding.s

Build a Forum

Forums have been popular since the dawn of the internet. Reddit and HackerNews in the most basic explanation are forums. Your forum can have any main topic you want. Remember the goal here is not really to gain popularity, which is an added benefit, but to learn so your skills increase.

Conclusion

Teaching yourself how to learn is the utmost important skill you can learn. Project Based Learning is just one of those ways to accomplish the task of learning certain skills. Udemy, Codecademy, and FreeCodeCamp all follow the principles of Project Based Learning also to help you. Feel free to check them out also.

Now, I know I didn't touch many other languages like Python, VisualBasic, Ruby, etc. but these principles apply to those languages as well. I also know that there's many other things you can build with these languages. So in the comments below let me know some other projects that be built.


Posted In: Web Development