Let us discuss some common misconceptions about learning programming.
While at a cafe yesterday, working on other blog posts, I began to ponder about the life as a programmer. We spend a lot of time learning new things. Not just related to programming, but also other areas of interests. Programming actually taught me a lot about the process of learning and how to learn quickly. However, I believe still that we can often fall into the trap of not harnessing our full learning potential. Not because of laziness or other negative habits, but due to misconceptions about learning programming.
In the hopes of aiding myself in the future, and those that come across this article, I have put together a list of 4 common misconceptions about learning programming. I put this list together in the hope of aiding all programmers and aspiring programmers, regardless of where an individual is at in their journey.
Misconceptions can be made by the very best programmers. What makes misconceptions elusive is the fact that we are unable to determine for ourselves whether or not it is a misconception. It needs to be pointed out by somebody else. Some misconceptions are downright dangerous, because they create bad habits which will continue to haunt us and generate a negative snowball effect if left to go rampant in ones life as a programmer.
Without further ado, let us dive straight into these misconceptions. Please bear in mind that the order has nothing to do with the degree of significance.Continue reading
We will be walking through the singly linked-list implementation in C++. Readers, be warned: this post is NOT on the theoretical aspects of the linked list. I am assuming that readers have a basic understanding of what the linked list is about. The post will be more focused on the implementation details. However, for those that don't fully understand linked list, a bit of theory will accompany some of the explanations.
For those that are interested in the the theory behind linked-lists, please check out my other post on linked lists in Java. In the future, I will write a language agnostic post on linked lists.
As mentioned in my other post, the linked list is a fundamental data structure. Therefore, I believe every developer who is serious about data structures and algorithms should fully understand it.
In the real world, the linked list is not an ideal data structure to use in most cases. Its use cases are very situational. However, understanding how it works, what it does and when to use it train developers to write better code. It also equips the developers to become better problem solvers. Furthermore, the concepts involved in linked lists is used to create other useful data structures such as the stack data structure.
Metaphorically, the linked list is one of the stepping blocks to greatness in the world of data structures and algorithms.Continue reading
This post is a detailed introduction to the red black tree data structure. For those that are interested in data structures, the red black tree is a self-balancing binary search tree.
Before reading further, let me warn you. This tutorial is not going to be a light read. As mentioned in the title, the tutorial will dive into the depth of the red-black tree. However, if you read through the entire tutorial, you will understand the red-black tree. And most likely, you will never forget it again. This is assuming that you spent a good deal of time thinking about and applying the theory in this post.
To readers who want to learn programming, data structures and algorithms. You may be surprised, but this post will not be about any of these topics.
In this post, I want to give a special shout out to John Sonmez at simpleprogrammer.com. For those that are interested, right now, I am currently taking an online email course titled How to Create a Blog That Boosts Your Software Development Career.
Don't get me wrong. I am still focusing on software developers and programmers. However, unlike other posts, I would like to talk about why every Software Engineer or Programmer should start a blog. Funnily enough, the reason why I started this blog is not because I read
Without giving away a large amount of content in this course, let me give you three specific reasons why you should sign up for this course.
If you guys have any questions/queries regarding your career or what the software engineering industry looks like, John's website is a great place to go to for resources.
If you are visiting this website, chances are, you want to learn how to code. You most likely have an interest in algorithms and data structures. In this post, I will be discussing 5 effective methods for learning how to code and become a better developer. I strongly believe that these points apply to developers throughout the entire life, regardless of how many years of coding experience one has under their belt.
So far, in my career, I have made tonnes of mistakes when it comes to choosing a method of learning. Therefore, I want to share with many people as possible about my mistakes. Hopefully, by reading this post, I can save some software engineers and programmers a lot of time, energy and willpower.
For learning mistakes, please refer to my article on common learning mistakes made by programmers. The majority of these points are from experience. Therefore, I sincerely hope that everybody reading these posts will be able to benefit from me sharing about past mistakes.
If you have been following me, you will know that I am very dedicated and passionate about learning and empowering other developers to maximize their potential. If you find this article helpful, please share this article with other developers so that they will not make some of the mistakes I have made in the past. Developing good habits from the get-go will save you a lot of time, money and effort which could be invested elsewhere.
So, without further ado, I present to you 5 effective methods for learning how to code or a new technology.Continue reading
Take the developer type quiz for fun or to find out what kind of area you have a natural affinity for.
Those that have been programming at least for a few months will have come across the following terms
For the sake of completeness, I will go through the key points, roles and responsibilities of each type of developer. Please do take note that this is just simply my take on the roles and responsibilities of the different types of developers.
I am also fully aware that there are other types of developers/engineers such as the cyber-security, network engineer, database engineer, etc. I just wanted to keep this quiz simple and somewhat specific.Continue reading