I originally posted this post on my blog.
"Focus on learning one thing."
A coworker told me that every time he got to my desk. At that time, h...
For further actions, you may consider blocking this person and/or reporting abuse
I remember before landing my first job, I was mostly like that, chasing everything that to me seemed important at that time, cause it was shiny and interesting. At some point during that time, I started reading a book called "Essentialism" by Greg McKeown, and one chapter addressed the point that "Energy is Finite", and he used two circle drawings
At that point, it kinda dawned on me that I'm the one represented in the first circle, that's when I shifted my perspective and started focusing solely on the essentials, things that I needed to improve and the knowledge gaps I had with one tech stack.
The funny thing is, when I landed my software engineering role, the onboarding deck had a quote from the same book, about focusing on the essentials!
Such inspiring and interesting comment, Rasheed. I like the concept of energy being finite. Sure, there's a lot of things to do but scarce energy to do them all. Thanks for the book recommendation. Noted!
When I began in coding, it was always one thing. At first, it was Turbo Pascal. The Turbo Pascal family of compilers gave you the ability to create compiled apps for MS-DOS. Time passed, and the next big thing was dBASE III+, followed by Clipper. Compiled applications primarily focused on databases. Then, we all knew about Delphi and Borland C++.
Until then, it felt all incremental.
Suddenly, the possibilities grown exponentially. Web programming arrived, once JavaScript was JITted and programming on the browser became a thing. At first, you could create your own web apps with anything (even C++), but then Java became the king.
Python was the next big thing. and with the improvements in performance, it was feasible to do serious programming using it, even if it was not JITted. And you could use it for everything, from web apps to desktop.
Fortunately, I always had been conscious of my own limitations: never seriously followed the trail of web apps (fortunately). I very much like Python, but I also jumped from the C++ wagon when I saw where it was headed, and landed on C#.
So I know a little of web programming with Python, and desktop programming (that has always been my thing) with C# and Java (for Android).
While focusing is essential, I also feel that knowing a couple of programming languages is also good. I mean, just for the change of perspective.
Wow, what a journey! I've only heard about Pascal, never used it.
100% agreed. My problem was I wanted to learn them all at once :/ just barely touching the surface of each one. And I'd add: learn a couple of programming languages that challenge our view of programming. Learning Java coming from C# won't teach that much. :P
Agreed!! It's very interesting to learn a programming language like Lisp, or Haskell. A functional language, in one word.
it is so true specially junior software engineer or any IT roles is going be in demand in the near future. It will not change specially in the age of AI. You need the human companion to make the decision
I totally agree with the main idea! As a Computer Science student, I find that the biggest trap is rushing to learn new frameworks before fully grasping Data Structures and Algorithms. Those basics are the true 'shiny objects' that actually pay off. Focusing on clean code and robust problem-solving skills is much more important than just listing 10 different frameworks in your CV.
IME, we can always learn the shiny frameworks with a hands-on approach at work.
Great advice. It’s so easy to get distracted by new tools, but going deep on the basics really does pay off long term. This is something a lot of junior devs need to hear.
Absolutely! And that's something my younger self also needed to hear.