Categories
Uncategorized

Why I have failed as a programmer

I have built my interests in anything computer related stuff way back in 2005. Hence, leads me to the programming world. I felt like being fond of mathematics, science and technology will be my biggest advantage on it. And yet up until today even when I became a Tech Lead, I still feel I didn’t fulfil my goal to become an expert. And I have wondered why.

In school, we used to juggle many things which was my edge when I first got my telecommuting job as a PHP programmer. As I go on with my career, I realised I became a generalist which cover backend and frontend. I provide solutions to anything that my employer needs. This includes architecture, security, tools, and even long-term solutions for their businesses.

Throughout my career I haven’t specialised anything. I guess it was due to the nature of the job I have been to that provides solution to the client’s problem. These cover from architecture down to the tools. To supplement that, I need to keep myself up-to-date with the technology out there. Hence, being “Jack of all trades, but master of none” which is not applicable anymore today! (sigh)

So, what I have realised that I should’ve done?

  1. Focus on one programming language and root from it
    This includes learning the core features, concepts, design patterns and practices.
  2. Learn related tools and libraries in line with your chosen programming language
    Pick related tools that will help you to level up your solutions. And at the same time open up to more opportunities without leaving your root language.
  3. Practice and execute more
    Build a habit of teaching yourself to be better by executing what you have learn every day.
  4. Build a product
    Come up with the product you want to build and apply everything you have learn.
  5. Find people that shares the same passion
    Programmer shouldn’t stay behind the closed door and code. You need to go out and look for people and collaborate.

Once you have the solid fundamentals, you can tailor your career in a much better way. You can support your career with less problem and always provide a quality work.