What's it like to think like a programmer?
This post contains affiliate links. I may receive compensation if you buy something. Read my disclosure for more details.
We'll let Kyle take it from here:
1. Tell us about yourself.
Before I became a full time teacher I was a full stack developer working at a small local contracting company. During my time there I worked with a wide variety of companies from small local companies with no on staff engineers to large technology giants like Disney.
2. Where did you learn web development?
I learned web development in a combination of multiple ways. I went to a 4 year university for a computer engineering degree and during that degree I learned a lot about programming as a whole, but didn't learn anything about web development.
Once I stumbled upon web development while in school, though, I immediately fell in love and devoted most of my free time to building projects and studying web development. Pretty much everything I learned about web development in my first 3 years came from blog articles, YouTube videos, and just building tons of projects I found enjoyable.
You don't even have to explain it to anybody. Just grab a stuffed animal and explain it to them. By doing this you will easily be able to see where the holes in your knowledge are.
Rubber ducky debugging with the nearest stuffed bear
They make working with functional programming so much easier and they also make working with functions that return arrays/objects easier. On top of that you can use destructuring to write out the explicit properties of objects that are parameters to functions such as an options object passed to a function.
7. On your YouTube channel and your courses, you emphasize thinking like a programmer. What does it mean to think like a programmer?
Thinking like a programmer is simply the ability to break down large problems into smaller problems.
Usually as a programmer you will receive a task such as "Build a login page." This sounds like a daunting task on its own, but if you can break it down into small pieces such as setting up a user's table in the database, creating a login page, integrating password hashing, etc. then it becomes much easier.
You can then break each of these tasks into smaller steps such as breaking the login page down into create an email input, create two password inputs, etc.
This ability to deconstruct large problems into smaller and smaller problems is the most vital skill for any programmer and if you can master it you will be a great programmer.
Creating a login page is a lot easier to do when you break down tasks into smaller chunks
8. For newbie developers, why is it oftentimes so easy to build a project with the help of an instructor, but so hard to think of one on your own?
The hardest part of building projects on your own is not knowing where to start. With a tutorial you are always told what to do next, how to start, and which problems to tackle. When you are on your own you are left with a blank text editor which is daunting.
You have no idea where to start and it can feel overwhelming.
This is where it pays to have the ability to break problems down into smaller pieces. If you can go from the problem of building an entire app to the smaller problem of creating a login page it is much easier to get started. It also helps to break down the logical portion of a problem separate from the code portion.
What I mean by this is to write out what you are planning to do in plain English first. That way when you are ready to write the code you don't have to worry about the logical portion since you already wrote out what the logic should do in English and now you just need to translate English to code.
9. Is there anything else you'd like to add?
The only other piece of advice I want to give is don't get discouraged.
Learning to code is hard and nobody learns it overnight. I have been programming for many years and I still am learning new things nearly everyday. I also make tons and tons of mistakes that you never see.
For every mistake that makes it into one of my tutorials there are hundreds or even thousands of mistakes that are behind the scenes that you never see.
Developers are also reading: