How to NOT become a software developer

The internet is full if not overloaded with videos, books, articles & other forms of materials on how to learn programming. This article is not going to give you another “10 things to avoid” or “7 things you MUST learn in 2020” with flashy thumbnails. What will be mentioned below is my direct experience.

I am a self thought programmer & I have done a lot of projects both for my clients, companies I worked for & personal ones. I want to reach out to other individuals out there who might find themselves in my boat currently and perhaps give them a bit of advice. My twitter is always available to you should you require more information about a problem you are facing, I would be excited to help you.

Why do you wanna do it?

This is a question that seems so obvious to the person but the answers are usually not the right ones. I often hear answers such as :

“The job market is growing for IT so I wanna have a piece of the cake”

“I don’t like my current job & I heard IT businesses pay more so I wanna become a developer”

“A high school friend of mine became a developer & I also wanna be one too. I think if he could do it then I can do it too, no?”

I am not going to judge these answers however, let me give you my own answer if I were asked 7 years ago why I wanted to become a programmer :

“I want to build a video game because I love playing & I was always fascinated with how they were made. I also have an android phone & wanna make some apps because I love the platform”

As you can see, I had measurable goals & the decision was personal to me. I never ended up making any games but I did make many android apps. Programming is not an easy task because it requires hundreds if not thousands of hours of dedication to learn & practice certain skills. This is true about almost any skill worth of any value such as a sports & arts. No matter how many resources are out there to facilitate, the facts will not change. It might become “easier” as a result but it will never be “easy”.

So my first advice to any fellow human being interested in this subject is this, have a goal and make sure it is something you are passionate about because it needs to keep you motivated & behind your laptop for a while. Everybody is different & we don’t always know what made it work for them so do not use others as your reasons because most probably they do not know either why it worked for them.

There are no shortcuts

Sooner or later you need to come clean about this fact. We usually start a course & enjoy doing the small tasks in the beginning but there is always a bell curve where it becomes intimidating. In those moments we tend to look for another course at best or delay the learning process. I have been victim to this & perhaps still am. The truth is that there really are no shortcuts & even if there are, we end up spending more time finding them rather than learning the thing we need to learn in the first place.

When you are faced with something that is difficult to comprehend, do not give up. Use the internet to get your answer. Remember that nobody was sent from the skies with the knowledge you are seeking & if you reach out to people who have already acquired it, they will be happy to help however, most of your answers are a google search away but the key is not to give up.

It is all connected

Programming is about solving problems. One huge part of finding a solution is defining the problem as clearly as you can. I am not a neuroscientist but there is something I believe in. If you solve problems in one area, you become a better problem solver in every other areas in your life because it’s all connected. Imagine the brain as another organ of your body with muscles. When you train your muscles in the gym lifting weights, It’ll be easier for you to lift weights even outside of the gym.

Find problems in your own life and fix them. Is your desk bombarded by stuff? Organize it. Is your room messy & dirty? Clean it. Are you getting up late & sleeping late but you don’t know why? Get up early & sleep early. You need to train your mind to become a problem solver. The quicker you react to a problem that occurs, the easier it is to find a solution for it. Don’t get fooled by the myths about genius people & their terrible life styles & remember to only focus on your own. You probably are a genius yourself & not all geniuses are the same.

Conclusion

This is part of my daily blogging activity & I am going to continue this topic more with part 2 very soon. As you might have guessed the tips mentioned above are not exclusive to programming per say but to life in general. In next parts there will be more technical knowledge involved into different languages & domains of programming.

Finite Attention

Loqman, being asked from whom he had learnt civility, replied: ‘From those who had no civility because what appeared to me unbecoming in them I refrained from doing.’

The Morals Of Dervishes Story 21, Saadi Shirazi

Learning from mistakes not the right moves of others as a strategy for decision making is counterintuitive to our ever lasting desire to find the easiest, most enjoyable and quickest way possible to get to what we want. I wonder how much of this strategy is predicated by the technologies we use and the mindset that exist in the minds of our society.

Ideas are copied from each other and with a bit of tweaks and gimmicks are presented back to us. We even do that most of the time because that is the quickest answer but we seem to think everything is of the same nature. A new service or product emerges in almost identical manners to the competition & since we live in a world that is surrounded by this cheap & easily mutable products, we become the same.

Is our attention finite or infinite? Let’s imagine we have a unit for things we can pay attention to during every day. I pick 1000 subjects just for the sake of argument. How many things can we pay attention to with our jobs, personal & public lives, the social norms & regulations and so on. Could it be that we can continue to process information forever without ever overloading the information processing unit? Do you believe otherwise in an age where there’s no shortage of content and all you need to do is swipe in a direction for more?

Conspiracy theories about world dominance & control always sounded childish to me and very dissatisfying way to interpret complex systems. The incentives do not look right. Attention though is a great incentive but after you decide to think of it as a finite or infinite resource.

Let me put it this way, is every part of our life connected to the other and does doing terrible in one part affect the other? Can you do meaningful work on time and to the best of your abilities when your desk & room are messy? Do we choose what to pay attention to?

These are the questions I ask myself and others because it fascinates me how black & white people are in regards to their answers. Some say different parts of one’s life are not connected to each other and they give examples of dysfunctional geniuses while others clearly can see the relation between our environment to our psyche. The former group focus on the success of others and sometimes are even encouraged to copy their lifestyle without knowing anything more than trivial bits of info about these geniuses’ life. My favorite quote from a conversation I had a long time ago was “all artists’ rooms are messy”.

Do we see what we pay attention to or do we pay attention to what we see?