3 Things Every Developer Should Know
Don't get it twisted. As a developer, you need to learn and know about a million things 😂 Notwithstanding, I think there are some fundamental concepts that are absolutely a must if you want to have an above average understanding of what you do.
Number #1: Computer Networking
I don't mean to ask you to go so deep into computer networks and how they work. That is someone's full-time career, but you should have a hold on the basics. For example:
How is DNS configured?
How does load balancing work?
What are VPCs?
How do you configure servers on a network?
If you happen to work in a big company, you will have dedicated personnel handling these and you will probably never have to interact with a production server or a network.
If you do not know about networking, you begin to experience challenges when you are working in a medium-sized company or a startup where you are very likely to be managing these aspects of the company as part of your role, when you are a freelancer working on a project for a big client or even your own business/project. You will find it hard to troubleshoot issues, optimize costs and configure applications for scale.
For example, a client wants to migrate their application from shared hosting to AWS. Meanwhile, you have zero knowledge about how to migrate their site or configure their new DNS. That becomes a problem.
Number #2: Data Structures & Algorithms
I have never had to code a doubly LinkedList or a merge sort in my career on the job, but you can bet that understanding how these things work has a way of fine-tuning your reasoning and problem-solving skills in a way that you will never expect.
You don't need to be able to memorize all the algorithms. You need to be able to understand them at the fundamental level. Truth be told, it's hard and time-consuming to study DSA. My advice is that you don't try to cram it all at once. Tackle one or two algorithms every month. The consistency accumulates over time. Personally, I suck at my own advice but at least, I believe I'm trying. You can never be done learning.
Number #3: Linux
Yes, you are not getting anywhere as a developer with only Windows as your operating system. That's just the hard truth.
Tons of application servers run on Linux simply because of its economic, and developmental benefits to companies. About 68% of the web runs on Linux servers. You can go a long time in your career without ever touching Linux but at some point, it will come calling and you don't want to be caught lacking.
In ending
In this article, I have talked about the 3 things you should know as a programmer. Networking, DSA, and Linux. There is definitely more but these are the core 3 that I believe give you an edge over the competition in the industry.
Let me know what you think of these three things or if you have a different opinion.
Don't forget to subscribe to my website to get instant updates anytime I publish new content!
Member discussion