When there is a voltage across a wire inside a computer and it's carrying an electrical current, it represents a binary digit (1) else binary digit zero (0). Well, relax👋! I am not here to talk about logic gates! I am here to help us increase our actual & formal logic in programming.
Logic is a crucial aspect for programmers. Many programmers/developers are usually tested with small trivial tasks like FizzBuzz to prove if they can actually code logically.
I often tell my friends that programming is more about logic and problem solving than just coding! Today, I will share with you just five tips that have helped me personally in my programming journey as a self-taught developer.
If you are a self-taught dev like me, you know it's really hard for us because we have to actually foolproof beyond theory and paper that we can actually deliver or program.
So let's get started;
🌟 Understand First
Sometimes we have a lot of bugs in our code because we shouldn't be coding yet. Take a step back to try to understand the problem before you start coding. Everyone can write code but not everyone can program. Yeah you heard of GIGO...
If you can think logically, you can write your solution in any programming language by just learning the syntax and rules.
Truth is that if you don't understand the problem, you may fail or have a hard time implementing the solution and I usually try to draw and write on paper nowadays which takes me to tip number two 👇.
🌟 Pen & Paper
I recently incorporated this and I am surprised that it actually works so fine! So, I usually first write code on paper and sometimes do pseudocode first. Understand the problem, break it down into sub-problems and then merge them into one.
I had a habit of just rushing to my keyboard to start coding without actually having to write or think. These days I have reams of paper in my bag alongside blue & red pens because I truelly embraced pen & paper.
🌟 Practice & Consistency
Yes, at first things usually don't make sense but when you develop a habit of resilience and not giving up, they will finally do.
Programmers must be consistent. This is applicable to programming in general and not just logic building. One must practise building solutions to problems daily.
Checking for solutions & Googling is probably the most important method of learning how to handle programming challenges and facing them on a daily basis.
Just like the muscles in your body, you need to exercise your brain regularly in regards to programming so that neurons are fired & get used to programming.
🌟 Data Structures & Algorithms
Well, I can't skip this one! I was recently using python lists in solving a problem but when I replaced them with deques, my program reduced time & space significantly because deques were actually faster than the normal python lists.
I can't stretch this enough, knowing the right data structure to use and which algorithm to implement will save you a bunch. Almost everything we do as computer programmers rotate around DSAs.
🌟 Lifelong Learner
Lifelong learning is a form of self-initiated education that is focused on personal development. To me, if a day goes by without learning anything, it's a wasted day.
As programmers, we should embrace learning and especially on a daily and I usually don't limit myself. I can read about Space, Chemistry, Fantasy & Fiction, watch programming videos, edutainment memes etc...
With this developed, you can easily learn a framework or library that could save you a tone of time in your development and programming.
Yeah, hope this helps increase your PROLOG... Obviously, there are many other tips that can actually increase your prolog like reading a lot of code, gaming, code challenges etc but those 5 stand out for me personally.
I am also still learning new ways and everyday improvements. Feel free to share yours in the commentt section.
Once again, hope you learned something today from my little closet.
Please consider subscribing or following me for related content, especially about Tech, Python & General Programming.
You can show extra love by buying me a coffee to support this free content and I am also open to partnerships, technical writing roles, collaborations and Python-related training or roles.
📢 You can also follow me on Twitter : ♥ ♥ Waiting for you! 🙂 </center