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.
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.
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?
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.
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 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?
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).
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
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.
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