I have recently begun my journey as a programmer. I did go through a self-paced bootcamp, but for the most part, my programming skills are all self-taught through various tutorials, courses, and a whole lot of practice. At my current job I get asked a ton of questions about programming all the time. I thought that answering some of these questions in a blog article would be an excellent way of addressing the top questions that I am constantly being asked.
1. How did I learn to program?
I first got interested in programming when I took a web page design course back in high school, many many years ago. The class was focused on the fundamentals of HTML and CSS, and did not touch on JavaScript, and responsive design was not even a thing yet. This class got me interested in learning everything that I could about web programming and the Internet.
After high school, due to some legal and family issues, I pushed programming aside and pursued my other passion for food and cooking. While I built a few WordPress sites and poked around with JavaScript a bit, programming wasn’t a big part of my life after high school. It wasn’t until 2019 when I stumbled across Brad Traversy’s channel - Traversy Media - on YouTube that I got back into programming and realized how satisfying I found it.
I started getting back into programming by watching and coding along with YouTube tutorials - starting with Brad Traversy, then moving on to other channels, and later taking some web development courses on Udemy. I brushed up on my HTML and CSS skills, learned enough JQuery to get me going, and then studied PHP a bit. However, after watching Brad’s videos and taking a course by Colt Steele, I discovered my love for JavaScript.
When I finally found the time to devote to learning to code and sticking to a schedule, I enrolled in the Devslopes coding bootcamp, where I learned more advanced JavaScript and the basics of React. From there, I immersed myself fully into learning React, Next, and Nodejs, and whenever I wasn’t working my “day job”, I was coding.
2. What is my favorite programming language - and why?
If it isn’t obvious after reading my first answer above, my favorite programming language by far is JavaScript. It is a very versatile language that can be used across both the frontend and the backend to build complete, full-stack applications and websites. JavaScript has climbed high in the rankings as the preferred language among web programmers, with over 63 percent of developers reaching for it.
Beyond the web, JavaScript can also be used to build desktop applications (with the help of tools such as Electron), and Command Line Interface tools and applications. In fact, at my current role working as a systems coordinator at a public school district, I am able to use JavaScript to build processes and applications that automate data handling and some other tasks that make my life easier.
Not only is JavaScript very versatile, it is also a relatively easy language to learn. I would not say it’s easier to learn than something like C#, but it is definitely easier to learn than a lot of other languages, due to its multi-paradigm nature. If you are wanting to learn web development, I believe that JavaScript is definitely the way to get started.
3. What is my favorite JavaScript feature?
JavaScript has a lot of cool features. If I had to pick my most favorite one, I think I would have to say that it would be destructuring. Destructuring is an easy way of extracting multiple values from data stored in objects and arrays. This data could be nested - possibly many, many layers deep, but destructuring offers a convenient way to access the needed values and extract them to distinct variables.
Destructuring makes functional programming and working with arrays and objects a whole lot easier. In addition to making your life as a programmer easier, destructuring and the spread operator also make your code much cleaner and a lot more manageable.
4. What does it mean to “think like a programmer”?
This is an excellent question. No matter where you look to learn programming, you are always told that to be successful, you need to “think like a programmer”. Thinking like a programmer essentially means to take a large problem or task and break it down into smaller, more manageable problems or tasks. By breaking large tasks down into smaller tasks, it helps you work through the different steps of the problem more methodically and come up with a logical solution.
Let’s say, for example, that we are tasked to build a login page for a website. This is a very common task for web developers, but can also seem like a very daunting task initially. Even in the simplest of login pages, there are a lot of “moving parts” that go into making the page not only look good, but function as expected. However, if we break this large task down into smaller tasks, it is much more approachable.
To break the task of building a login page down into smaller tasks, I would sit down with a pen and paper (or Notepad on my computer), and I would list out what is needed to build a complete login page. Some of the tasks that I would come up with include:
- Build a user’s table in the database to store user information
- Create the email field
- Create password fields
- Set up the functionality for hashing passwords
- etc.
Once I break the login page down to smaller tasks, I will tackle each task, breaking them down into even smaller steps - if needed.
Being able to break complex problems down into smaller, more manageable tasks is one of the most important parts of programming. Coming from a cooking background, this was a natural transition for me, since cooking is all about breaking single dishes down to their basic components, preparing each component, and then bringing each finished component together to create a complete, well-rounded dish that looks and functions (tastes) good.
5. What advice would I give to others who want to break into programming?
One thing that I am certain that all programmers can attest to is that programming is hard. Mastering the needed skills takes a lot of time, devotion, and practice. While I believe that everyone can become a programmer, I do not believe that programming is for everyone. It takes a certain type of person with a passion for problem-solving and creative thinking to be able to program.
If you are interested in learning to program, my biggest piece of advice would be to not give up. Keep coding! I can remember times when I felt like I was just spinning my wheels, and I felt like I was never going to learn certain skills, and I wanted to give up - but I stuck with it. Continue to build projects on your own, don’t be afraid of spending hours looking through documentation to solve your problem, and continue to build on your skills.
Do not strive for perfection, either. Instead, strive for progress and consistency. A little bit each day is the way to go. If you keep working at it, you will get it down, and you, too, can succeed as a programmer.
In conclusion, I would say that programming is a very lucrative and very exciting career choice. If you have the traits of a programmer, you can most certainly learn the needed skills to become successful. Hopefully this article has provided you with some answers to your questions about programming.
If you like this article and want to see more articles like it, don’t forget to follow me on social media and subscribe to my email list.