For the past month or so I have been somewhat in limbo, I feel comfortable following along with tutorials and can get things working with relative ease, but they are starting to feel less and less challenging and in turn less and less interesting. Once you have the basics down it becomes pretty tedious to basically copy and paste what someone else is doing. You soon realise you are not really learning too much at all and the things you do learn are harder to retain because copying somebody else is not challenging enough.
Step Away From Tutorials
To ensure you keep learning, progressing and challenging yourself I recommend avoiding tutorials and building something of your own. Now you don't have to reinvent the wheel here and make the next Facebook, it can even be something that you planned on using a tutorial for, just without the tutorial :). At first this is pretty overwhelming and getting started can be the hardest part, so below I'm going to provide a few tips on how to organise your thoughts and make a start on your own projects.
My First project
First, I thought I would share my first project without a tutorial. First off, this is not a brag, the app looks terrible, which is fine, it works, I use it daily and I made it from scratch. I could have followed a tutorial and ended up with something that looks better but I most certainly wouldn't have learnt as much with that approach.
Check out the finished product here - Todo App
Take a look at the code in the GitHub Repo
A few things to note. The styling is very simple, which is intentional. I just wanted something that worked. The list saves to your browser via localstorage and is good until you clear your Cache. In the future when I have a fully fledged portfolio I plan to make it look a little nice, but for now it is fine.
How You Can Get Started
So, hopefully the above example shows you that you don't need to be some programming maestro or design gur to make your own projects. You just have to go do it. Here are some steps you can take to make that process easier:
Find something that you want to build. You could be replicating something like Instagram, Twitter or maybe solve a problem you are having. I picked a Todo because I knew I would use it and lots of the current options are too bloated with features I didn't want.
What Do You Want Your Something to Do?
Next up is to work out what features you want your app to have. List everything that you would like your app to be able to do, even if you have no idea how to do it yet.
How Will it Look?
Next up think a little about how you want it to look, maybe sketch out some designs or at least just have some idea in your mind.
Now up until this point your app may seem unrealistic in terms of your ability and this is where we get to narrow things down and make it more achievable. Make a very simple list of what you need your app to be able to do to be functional, so take off all the fancy features from above and just list what is essential for your app to work at it's most basic level. Once you have that list repeat the process and break down each section into sub sections. Now things will look a lot more achievable to you. You will already be able to do a lot of the small tasks in your project and when you get stuck you can figure things out, but at that point you will be well on your way to a finished product.
Go Make it
Finally, go make it. You have your list, broken into small chunks, go work on them one chunk at a time. `
Oh, and don't forget to have fun!