I wanted to share some advice on how to get started programing based on my experience. It’s an ambition of mine to one day be an iOS developer and for about a year I’ve been teaching myself Swift to make that happen.
The first step in my opinion is to find out what kind of developer you want to be. It doesn’t make sense to learn Swift an iOS language if you want to be an Android developer or vice versa. After you have a good idea of what kind of developer you want to be see what programing language or languages they use. Once you have that determined look at what resources/tools you will use to learn that language, it must be tailored to you. If you learn with textbooks buy programing books on that language. If you are like me and need something different try websites like Treehouse or Codecademy. Of the two Treehouse was better in my experience for helping me learn. Make sure you find a resource that appeals to you. And don’t be afraid to change what resources you use to learn if somethings not working.
Stop research. Start coding!
More research can actually stop you from coding.If you found the type of software you want to develop and the language it uses then you need to start coding in that language. In my experience its very easy to get into the idea of learning programing and never get out of the research stage. Looking into developer interviews on podcasts, blogs, and other mediums. There is an endless number of these and its easy to get lost in doing nothing but research. There is plenty of amazing stories to be told but everyone’s experience is personal to them. Chances are you can’t become a developer the same exact way as someone else. For me its been the idea of focus and what kind of developer do I want to be that has helped me to get started. Instead of asking how did they do this, have a mental state of mind(im going to figure out how to do this).
Set topics and concepts you want to get familiar with, but put rough deadlines on them. Dont rush through something just to hit a deadline you set only to look back and feel like you only got half of the knowledge. I think putting deadlines on learning programing concepts is a bad idea. Often times I can work on something for hours but I always ask myself did I feel like I learned something today? If you realize you put in 3 hours of practice and still don’t get it that’s OKAY! The quickest way to stop learning is to get discouraged because you put in tons of effort and don’t get it the first time.
A mental shift that happened to me and helped tremendously is this. Instead of getting frustrated with not getting the topic or concept your currently learning. Take a step back and realize in the future this concept will seem obvious and you will question why it stumped you in the first place. Keep with it and don’t give up once you figure out the problem you will wonder why it was confusing in the first place.
Consistency is essential. For me what I’ve done to keep myself consistently coding is to take the 100 days of code challenge. Take a portion of your day and set aside time to coding and working on your projects. The challenge has you focus on building a habit and dedication.
Coding is kind of like math(you don’t need to be a mathematician). Its something that you need to be actively doing to understand and learn it. Treehouse has lots of great videos and code challenges. But I wouldn’t learn anything if I just watched the videos and didn’t write the code at the same time. That is why finding time to practice is so essential.
Plan your coding sessions. Everyone has different circumstances and not everyone even has their own computer but that’s okay. So make sure you can have a schedule of when you will code. If you can fit multiple coding sessions into one day that’s great. If you have to wake up early before work to code then make sure to wake up early and get some coffee to help you out. You got to just find some time that works for your schedule. After every coding session ask yourself what did I learn today?
If you do these things I think it will be easier for you to get into programing. It should also let you know if programing is something you enjoy doing. You can also end up not liking it and that’s okay too.