# Should I Become a Developer?

If you didn't study programming in school, it might feel like it's too late for you. It might seem that there's too much to learn and you're at a disadvantage. But that's not true. Pretty much anyone can learn how to code.

Usually, people worry that the syntax and the words used in a programming language are the hard part. But that's actually the easy part. The questions you should be asking yourself are: "**Will I enjoy programming? Will I get satisfaction from solving problems as a developer? Or will I find it frustrating?**"

At its core, programming is when you break down a big problem into very small steps that the computer can understand. Here are a few signs that tell you you might enjoy being a developer and might even turn out to be a great one:

**1. Math always made sense for you.** You found it easy to understand, and logical. Generally speaking, math is also about breaking down a big problem into smaller, connected steps. So solving a math problem is very similar to solving a programming problem. If you were good at math you'll probably be good at programming too.

You can still be a decent developer even if you didn't find math straightforward. But, generally speaking, math wizards will write code fast and easily. Their fingers will fly on that keyboard. While people that found math a bit harder to understand will struggle with programming, at least on some days, or complex projects. They'll take a longer time to come up with that same piece of code.

**2. You always loved logic games**. For example, when you play PC games, you find solving puzzles a bit more enjoyable than action sections. You like both parts of the game, but it feels slightly more satisfying when you figure out some smart way to open a door, rather than when you shoot up a bunch of aliens. And that's why you'll see this big trend among developers: most of them are also pretty passionate video gamers.

**3. You're a linear, well-organized thinker.** There are usually two kinds of people when it comes to thinking. Some go from A to B to C to D, and so on, in an organized, step-by-step fashion. This is linear thinking. Other people jump all over the place, start from A, think about D, come back to B, go to C, and then back to D again. It's not necessarily a bad way to think. Creative people are usually like this, as this chaotic type of thinking generates new ideas more easily. But to find programming easy, you should be the A, B, C, D type of thinker.

**4. You lean more towards logic rather than feelings. **The emotional side of the brain and the logical one are sometimes in conflict. Some people trust the emotional side more, others the logical one. For you, the choice is easy. Even if you feel a certain way, you still analyze the situation and take a cold hard look at things. And if logic says to do the opposite of what you feel, then you do that. In your view, logic is rarely wrong but feelings often lead to bad choices.

**5. You're a fast learner.** You can quickly connect the dots and make sense of how something works, even if it's the first time you're using that new thing. As a kid, you probably disassembled your toys trying to figure out how they work.

**6. You can easily think of algorithms to simplify problems.** For example, imagine this scenario. A user can type a number between 1 and 1000. If he picks 1, the screen should turn red. If he picks 2, it should become green. Finally, if he picks 3, it should become blue. Then the same applies to the rest of the numbers. 4 is red, 5 is green, 6 is blue, 7 is red, 8 is green, 9 is blue, and so on.

Now imagine the user types 500. What colour is this? It would be pretty time-consuming to count each colour from 1 to 500, just to see what the answer is. But you can think of an algorithm that lets you more easily solve such a problem. Basically, you find a system that lets you answer this question faster, without counting from 1 to 500. If you always looked for "hacks" and "tricks" in school, to learn easier, or solve problems faster, you will probably be in your element as a developer.

Now, could you think of an algorithm to solve this task with the three colours? Pause reading if you want to solve this yourself.

Here's a possible solution:

We can see that numbers that divide perfectly to 3 are blue: 3 is blue, 6 is blue, and 9 is blue. What about red? 4 or 7 are red and we can see that the number 3 fits into 4 exactly one time, but we get a remainder of 1 if we make that division. And we see the same thing by dividing 7 to 3: 3 fits into 7 two times, and we're left with 1, our remainder to that division. With similar logic, we'll see a similar story for 5 and 8 which correspond to green. 5:3=1 with a remainder of 2 and 8:3=2 with a remainder of 2.

So we can sum this up:

If the remainder to a division to 3 is:

- 1, the colour is red
- 2, the colour is green
- 0, the colour is blue

If we divide 500 by 3 we'll see that 3 "fits" into that number 166 times. And 166*3=498 so we get a remainder of 2. Which means the colour should be green.

So here we have an example of how math-type logic can be used with programming. And if you can think of such an algorithm then coding it into software is rather easy. It's just a matter of telling the computer:

Divide the number picked by our user, by 3, and remember the remainder of this division

If the remainder is 1, the colour red

If the remainder is 2, the colour green

If the remainder is 0, the colour blue

And once you're familiar with the keywords and syntax of your programming language, this is as simple as typing some sentences into a text editor. Coming up with the algorithm is the hard part.

If this example made perfect sense for you, you should probably become a developer. There's a high chance you'll enjoy this job and become quite good at it, relatively fast. And, of course, you'll earn a nice income while you're doing it!

So what do you think? Is programming for you? Don't know where to start? Well, how about learning Python and Go? These two programming languages are very hot and in demand right now. You can check out KodeKloud Programming Learning path. These courses are very easy to understand. And if you need some practice too, we also have interactive labs in there. As soon as you write a few lines of code in those labs, you'll see programming is intuitive and easy to learn.