Categories
Career DevOps Personal

DevOps is indeed necessary!

Should I say? My day of being a programmer is expiring. And I have found a new career path that benefit both development and operations. You heard it right. To be a DevOps engineer!

I was so naive to think that my whole career will always be within my control. “Client requests to have this feature”. “No problem, I can do that”. “Done! Please check”. “Alright! It’s working. Please deploy it to live”. “Give me a sec! I’m doing backup now… Deploying… Done! Whew”. And it goes on like that for years. Later I realised, I need to step up my career and I cannot do it like this forever.

As I become a Tech Lead, I see frustrations to my teammate’s faces every day. Working for long hours. “Ugh! I hate it! I have to do something… Hmmm… Aha! If we can automate it, then we are able to reduce our frustrations and go home early”. Here comes continuous integration (CI).

We have started scripting our builds and put it in CI tools like Bitbucket Pipeline and Jenkins. Everyone were thrilled and asking for more. We have strengthen our skills by learning more everyday. Master our source code management (Git), unit testing, and packages. So that we can leverage on continuous delivery (CD) and continuous deployment (CD).

We have seen the importance of CI/CD in our operations. And we still have a long way to align everyone, not only tech people but the whole company, to adopt DevOps. I’ll be more than happy if everything we do is fully connected and automated.

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.