6 min read

How Do I Study and Learn Programming As A Self Taught Web Developer

Last Update: 1 April, 2022

As a person who had no idea how to code, programming was this magical process that created almost everything I enjoyed. When I decided to learn web development in my free time, it fascinated me. I could create something and other people around the world could use it. With this excitement I started getting deeper into programming and web development. This post mostly consists of my personal experiences and some suggestions for you. There are some mistakes that I did that I think you can avoid easily.

§Why Did I Start Learning Web Development In The First Place

Considering that I was in marketing, programming and web development is a career change for me . Even though in my opinion marketing and web development are closely related. I believe in essence they are both about meeting the people with the right product. Well, nowadays when we want to look for the right product, we go online. We can almost always get an answer for our questions or find the right product we are looking for. This is where SEO, the reason I started learning about HTML, comes into place. I remember reading about "important tags for SEO" and thinking "what the hell is an h2 tag!". That was the point I decided I was going to learn HTML and get some practical knowledge for my marketing career. After realizing how much fun web development was I researched the possibility of working as a developer. I remember finding out it was actually possible to get a job in tech without a degree made me really happy. I could work for one of those cool tech companies, become a digital nomad and travel the world while working or I could just work on one of my own ideas and start my own business and get rich. I still find marketing very helpful and necessary. I believe everybody needs to learn some level of marketing. No matter what you do, what business you are in, you will be selling your skills, knowledge or products. Understanding the marketing principles will do wonders for you.

§Being Self Taught Developer

Being a self taught can be very challenging, no matter what you are learning. Keeping myself motivated and focused on your goal has kept me on track. So I suggest that find a clear goal. Your goal can be career change, it can be a cool idea you want to see realized or it can even be an awesome game you wanted build. My biggest challenge as a self taught developer was the problems and errors I came across in my projects. Most of the errors and problems I had to deal with was thankfully common enough so a quick google search would suffice. The websites such as stackoverflow help as well. There are just so many people who are eager to help newbies who are trying to learn programming. Of course not all errors were this easy to solve. Some of them were so bad that I spent days trying to fix them. But the feeling I got (and still get) after figuring out solutions is just great and totally worth the struggle (or I just like torturing myself, idk).

§Many Resources and The Confusion

I love the internet and all the possibilities it created for all of us around the world. Information has never been easier to reach. This situation creates the confusion that comes from over abundance of information. There are so many guides about how and what should you start learning. This is the reason you must just pick one guide after a quick research. Are you looking for a job? Check the recruitement websites, see what they are looking for in a candidate. Do you have an idea you wanna create yourself? Do a some research about what might work best for you. When you don't know anything about an area going with the popular choice probably won't be the worst choice. In my case this choice was the freeCodeCamp. Go give it a look, you will probably find something useful there. If you want to follow a clear road, here you will find a very clear roadmap. You can also download the pdf in the description. You need to sometimes make an effort to silence the noise and focus on what you wanna achieve.

§How Long Do I Study Each Day and Why

Well in the first couple of months, learning web development felt very tedious. I was just reading about the various HTML tags without actually understanding how they were used and why. Until I found freeCodeCamp it went on like that. In order to avoid burnout I decided to study for two and a half hours each day. After learning about CSS and some javascript, the learning experience became a lot more fun. At the time I was also teaching myself French and I wanted to get better at drawing as well so I only studied web development for four and a half hours each day. If you wanna learn web development and become a web developer I think avoiding burnout should be your main focus. Overworking is a real problem in the industry. There is always that one thing that you feel like you need to handle. Keeping your working/studying time in check is crucial if you wanna do programming long term. Nowadays I code or learn programming for around eight and a half hours only because I believe that is the maximum I can sustain in the long term.

§Why Did I Go With MERN Stack

Well the short answer is, it is the most popular one there is. React is very easy to learn and makes it a lot easier to work on relatively bigger projects. With Node.js you can create the necessary backend functionality for your web apps without having to learn another language. Express allows you to effortlessly create middlewares that let you handle the logic in the routes you want to intervene. MongoDB is a NoSQL database that is very beginner friendly, the documentation is also very helpful and not hard to grasp at all. Even though I love using other databases, frameworks and languages, my favourite still remains the same.

§The Importance of Creating Your Own Apps and Websites

You can watch videos and tutorials all day. You may understand the logic behind and how everything works together while you are watching the videos or following the tutorials. But believe me when I say this, it will never stick unless you develop your own project using what you learned. When you create your own projects, the information just persists longer. You have a better grasp on workings of whatever you are using to develop your project. Just go through the documentation real quick, if it is hard to understand watch a video or two on youtube. Do something similar to what you just watched and implement something new. Add something you think that will make your project more useful. This way you can create projects for your portfolio early on and learn a lot faster. Well at least that was the case for me. I realized that I would forget if I didn't create an app with what I've learned. I feel like going through the struggle while creating an app and reading the docs over and over again when I was stuck, made me understand why it had to work the way it worked. I would definitely get a better grasp on what I was working on and wouldn't make a similar mistake again.

§Make It Fun To Learn

Learning can be very very boring at times. So try to turn it into something fun. Listen to music, develop fun apps. Make stuff that you would like to use yourself. I personally love to listen to metal when I'm developing a project using something I just learned. In my free time I develop games. Transforming fun hobbies into web development practice makes your learn a lot faster and helps you stand out from the crowd.

§Documenting your journey

If you are a self-taught developer it's especially important to show the recruiters what you can do. Remember people you are in competition with have degrees and maybe much more experience than you. Documenting the problems you are facing and how you overcame them is very important as well. It shows that you are capable of coming up with creative solutions to the kind of problems you will be facing in your professional life. Clear documentation of your learning journey will serve you as the proof of your learning. Plus, if you decide to write a blog about the stuff you are learning, it can help other developers in their learning journeys. You can guide them with your own experience. You will be giving back to the community while helping yourself grow as a developer. Win win.

Ilker Akbiyik