Newbie Thoughts: Coding Struggles

As a beginner and aspiring software engineer, you’re probably thinking about what kind of programming language you should be learning at first and which one is better to start with, and if it’s a good idea to remember all of the terms and methods you have encountered to be a great programmer in the future.

I remember my dad taught me how to open DOOM (a first-person shooting game) from a terminal one time during the windows 95 era, and I did the same thing the next day and the day after because it looks cool.

When I first thought of learning how to code, my imagination was someone in a movie typing hundreds of numbers and letters in a matter of seconds. Definitely looks cool, but you also think to yourself “How do you even know what to type and what does it mean?”

Having just moved to the United States about 5 years ago after graduating college, one of the greatest struggles for me back then was keeping up with all the information in a different language and getting used to it. Jumping into the coding world gave me that same feeling, and trying to keep up is definitely a struggle especially if you’re not from a technical background.

Enter, “Hello World!”

“Hello World!” is used as a starting point for most programming languages. It has inspired people to try out coding and get excited by just printing it out. Then things start to get more and more complex as you continue to make progress, and sometimes you start to hit a wall and feeling a little overwhelmed with all the new input and get stressed out.

Coming across problems during the learning journey is also crucial in making us improve to be better learners and problem solvers.

Here are a few things I found helpful during my learning journey in Flatiron School:

Take notes!

When you’re in a lecture and listening to your coach explaining a rather difficult subject, do take notes of things that are hard to remember or maybe draw a graph that makes it easier for you to understand.

Instructions unclear

Read instructions properly

For the ones with experience, there’s no doubt they can manage without step-by-step instructions, but it is very important for starters to read the instructions and test accordingly.

Do your research.

This generation of programmers is blessed with a tremendous amount of information over the internet. Trying to figure out how to do something? Google it. More often than not, you will find someone else who had the same problem and got it solved or made a detailed post on how to deal with it. Stack Overflow and Ruby Doc are examples of great sources especially if you’re working with Ruby. Not to mention plug-ins, gems (a library of codes that contains a specific piece of functionality. More info on that here) that can be installed on our local computer to run applications and make our life a lot easier.

Take breaks every now and then.

Yes, it is very tempting to continue coding when you’re in a streak of successful tests and built more codes that do more than you need, but looking at the computer screen all day takes a toll on your eyes and might make you feel stuck. You’re probably thinking about the codes you currently have a problem with, so taking a break and be with your thoughts gives you time to deal with that one problem and not be distracted by all the other codes on the monitor.

Ask that “Dumb” question

Do yourself a favor and ask that question. Sometimes I thought to myself thinking “it might sound stupid”, only to hear someone else read my mind and asked that question first.


Overthinking can be caused by a lack of experience and self-doubt. It also makes enjoying life harder. Give yourself a day-off from the monitor to care for your mental and physical self. You need it.



Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store