Everything I Learned by Self Taught Programmer
Tags: Coding, Programming, Self Improvement, Life, Lessons Learned

A few years before, I am a novice programmer. I hardly need help to climb one of the mountains in a programming world. To me, it became very difficult to follow some programming courses.

I decided to write my first error-free program. To my surprise, the error count is greater than the Lines of Code (LOC) in my program. That’s where my first step started correcting myself and kicking out the errors from my programs.

Things I Learned

Learning is inevitable.

I Stopped Thinking Bigger

Photo by christopher lemercier on Unsplash

At the beginning of my programming career, I rush myself to think out of the box to code and get fame in a short period of time. It brought me anxiety and sleepless nights. I did not even cross the line of basic programming. Though I read the programming books continuously, nothing has reached my mind. Then I realized and focussed on learning the basics. One must have strong basics in a programming language.

There are no overnight programmers.

No Basic No Logic

Copying Others Coding Style

Photo by Fotis Fotopoulos on Unsplash

Copying is not a shame thing at least for programmers. I can say we learn more by copying. No matter how good you are at programming, one has to copy something from someone.

Don’t copy same thing twice. Before, copying I read and understand the flow of code and residing requirement. Next time when I hit with a similar requirement, my mind automatically drives me to code in the right direction with better lines of code.

It is not a shame to copy from others, but don’t copy twice

Disable AutoCompletions

When I saw the AutoCompletion for the first time, I felt it like magic and very excited to use them. After fewer days, I forgot function names in a library. AutoCompletion has turned me into a lazy fellow. I stopped remembering things as editor is taking care by displaying available functions in a module or a class whatever.

So, I decided to disable auto completions while learning the programming language and enabled it later for fast development.

Mastering Coding Editor

Vim Editor

I started with NOTEPAD and currently using VIM. I almost touched every famous editor for coding. I have spent at least 3 months per editor. Initially, I just used the editor like a slate and that slowed my coding. I have to spend hours on just two pages of code. Then I looked at the docs for my editor using and started tweaking. I developed own snippets for a particular language of code.

I felt navigation to files in a project eats most of our time and it is where most of the time gets wasted. Instead of traveling the whole path to reach the file, my keybindings to search files at the project level and folder level helped a lot. So, the mastering editor will boost up your coding speed.

Make the Coding Editor to work fast and for you.

Daily Coding & OpenSource

Photo by Kevin Ku on Unsplash

I made coding as habit. To enjoy coding you must make it habit and no excuse. I ran out off concepts to code daily. So, I googled some coding snippets and try to re-develop using different data types and logic. It’s is just a coding exercise not creative. This improved my way of thinking about problem-solving.

I choose Github gists to explore code snippets in the language I prefer to code. Sometimes, I write gists to use those snippets for future references and this is the best place to organize our coding snippets.

Soon this habit turned me to write a library. The library is not rocket science, it should just make the developer coding easy and speedy. Writing my first library brought me more confidence. I felt like I have created something useful to fellow programmers. Now I am one of the OpenSource programmers.

Reading Code

Photo by Nicole Wolf on Unsplash

Like we all had the habit of reading a NewsPaper, programmers have to read the code from other libraries. This helped me writing an error-free code and changed my coding style as well. I read code and follow the flow of code and try to implement that style inside my current working projects. No doubt it brought me some appreciation and my code looks more like an expert-written.

From then I don’t compromise in code quality. I find it is good to be more explicit though more typing is required. Being explicit made my code easy to understand and brought more flexibility to handle and update things in the future when the business is scaling up.

Don’t just read the code, catch the flow and usage of a term

Searching is an art, develop it.

Photo by Benjamin Dada on Unsplash

No doubt the Internet is a programmer’s best friend. Whenever doubts strike my mind, I google them first. Most of them are solved. It saved my development time. Programmers are very kind in nature to help their fellow programmers.

Whenever I don’t get the relevant results, I change the way I search. I just focus on the language name and keywords. That is more sense than typing phrases in the google search bar. I realized that I shouldn’t confuse Google by providing more information.

Don’t shy to ask fellow programmers

Photo by John Schnobrich on Unsplash

There are questions in my mind with no exact answers. I don’t know how to solve them. I initially felt shy to ask questions to people as I thought that they’ll judge my coding ability. Later I realized that no programmer has time to judge another fellow programmer. I started posing various questions related to concepts where most of them start with WHY and HOW.

I kept chatting with a stranger programmer on various platforms explaining my requirement and my initial approach. I got the best answers from them directly or indirectly. This changed my approach to solving big problems. This helped me to develop intercommunication.

Stopped Reading Programming Books ( Vs ) Started Reading Articles — Journals

Photo by NeONBRAND on Unsplash

I used to read every available book for me. I just read them. Most of them taught me basics in that particular programming language. I don’t know how to level up my coding. This is where comes the online blogs, journals, and articles. The information in the book is vast whereas articles are straight to the point.

The books are good for a strong foundation and staging development. After reaching a certain level in programming, I stopped reading books for no reason until or unless someone suggests reading. I am fond of articles especially the step by step guides and tips and tricks. I followed different journals.

I don’t say I completely stopped reading books but I prefer more reading well-written articles.

Writing Up things (Blogging)

Photo by Glenn Carstens-Peters on Unsplash

Beautiful thoughts come from a Beautiful Mind. Ideas are free to think. While I am reading articles, some free moving ideas strike my mind and ask me to write down. I don’t know why I started writing, but I just followed my mind. Writing made me explore things in deep. It let me think more from a different perspective.

As a programmer, I started writing down the language I used to code. It helped me to develop my knowledge as well. To write something I have to read everything available. I started picking up the subject from various resources and framed it into useful articles. Writing about programming brought me some good offers as well. I can show my publication as a part of my portfolio as well.

Writing is very tough to start and much easier to leave. I started and stopped writing at a certain stage. I came back. This time I have chosen the language I used to code and started learning deeper insights into the language. In parallel, I kept writing what I am learning and reading.

Writing is an expressive form to an idea

Get an Identity

Photo by Olya Kuzovkina on Unsplash

Why would someone need an identity?

Name and Fame are the only things that can’t be taken from someone. I have given myself the name BLACKODE. I used this name everywhere on the internet.

The origin of the name comes from my two lovable duties. I like to code at night. Nights are black. So BLACK is the one word. I love coding so CODE the other word.

Initially, I tried putting them together BLACKCODE. It looks very normal and formal. I just want it to be more catchy. The last letter in BLACK and the first letter in CODE sounds like a letter K. So, I just removed the C from CODE and mixed them to form BLACKODE. The letter K is now an intersection. This is how I built my brand and mark. It feels something to have own brand and name.

Closing Remarks

Teaching yourself is the thing that has more value. It let you learn deeper and makes you an expert in the domain you like. Take help from your mind and be productive.

Happy Coding & Keep smiling :)

Join Our Telegram Channel Blackoders to receive coding updates. We focus mainly on Thoughts, Ideas, and Code.