What problems should new programmers expect?
Tags: tech, computerscience, programming, coding
Published: 2017-12-12 22:38:27

---
title: What problems should new programmers expect?
published: true
description: 
tags: tech, computer science, programming, coding
---



![](https://cdn-images-1.medium.com/max/800/0*EJ1RriyjYAESxPBb.jpg)

#### The struggle of every programmer

Your first program starts off exciting. But after a couple of months coding, the downsides start getting to you. Sooner or later, you will run into problems which will make you bewildered how on earth did people before you get to manage them. The good news is that you are not the only person with the same feeling!

In fact, all the problems and mistakes you run into have also been made by others who just kicked off just like you. actually isn't programming about knowing how to deal with problems in order to overcome them?

I will present to you some of the most common problems new programmers may face and a set of solutions the way I think one should deal with them for the purpose of mitigating time and effort loss. Note that this is influenced by my personal preferences and it's nothing but my personal opinion after all.
#### Setting up :

![](https://cdn-images-1.medium.com/max/800/0*DAnGO3gQsiYXXXeQ.jpg)

Learning programming is definitely arduous itself, and tripping is easy wearing no shoes. Thus, holing your horses and understanding how everything fits together is of central importance. For this reason, I recommend watching this video before proceeding any further.
[![IMAGE ALT TEXT](http://img.youtube.com/vi/QXjU9qTsYCc/0.jpg)](https://youtu.be/QXjU9qTsYCc "How do computers read code?")

If you are still stumbling with arranging your development environment, I suggest Visual Studio as it contains almost all what you will be needing to get started.

* * * * *

#### Debugging:

Walking your way out of the 'Hello, world!' zone, programs get more and more tortuous. You may not realize that until you receive your first issues on GitHub; grammar problems, unclickable buttons ... and before you know it that perfect project you were working on becomes a plethora of bugs...


![](https://cdn-images-1.medium.com/max/800/0*JFpDr_OjHWP-V_0c.jpg)

Don't worry! Even though debugging seems so overwhelming and a critical skill to master, some bugs are easy to spot and fix. The good news, they are more common than you know, that even good software may contain them (that's why usually there's a bugs field in most support/contact-us pages on the web), and that they can be fixed. However, the bad news is that we all agree that debugging is not only frustrating but also tedious. Narrowing down the problem in a long code you're sure it should work is darn hard! And believe me, some debuggers are not your friends when it comes to that ...

A good practice is to craft the best debugging strategy. A successful debugging process cannot be possible without trying to reproduce the same error at first. In fact, understanding the way a problem was born is half of the solution . [for more about debugging strategies](https://web.stanford.edu/class/archive/cs/cs106a/cs106a.1134/handouts/250%20Debugging%20Strategies.pdf)

* * * * *

#### Thinking like a programmer:

![](https://cdn-images-1.medium.com/max/800/0*e5xi7TA71wOrefKT.png)

Some of you may find this obvious but 50%(when it comes to importance) of a given task is solving it in your bain. Writing the code down, fighting the interpreter/compiler errors, reading the documentation, code snippets ... is the other 50%.

It is indisputable how fast smart devices are nowadays. Nevertheless, they are incredibly stupid! They do exactly, what you tell them to do, making it dull to think through every single step and convert it into commands/instructions in the code. Actually, that is no longer a problem, as millions of programmers are building libraries which provide a lot of pre-existing functionality.Yet, working on your algorithmic, data structures' skills is a must by training yourself which will help you plan more systematically.

I advise learning python at first for its friendly syntax (or JS) and then solving some tasks @ HackerRank to get familiar with real-life tasks and how to fix them in the most efficient of ways possible.
* * * * *

I hope you found this article helpful if you are new to programming or willing to get your feet wet soon. If you want to ask questions feel free to leave a comment below.
May the power be with you! Stay positive.