Categories
Career DevOps Personal

DevOps in the real world

It has been a while since I wrote my thoughts about DevOps. Well, this time it is not just my realization but the reality of it.

I started to focus my career towards continuous improvement of developing applications. I have migrated from Asia to Europe not just to see the other side of the world but to meet other brilliant people that has the same passion as mine.

As I progressed, I have learned different technologies and techniques such as Cloud computing, Containerization, Clustering, Service Meshing, Infrastructure As Code, GitOps, Key-Value Management, Microservices, Domain-Driven Design, Test-Driven Design, Event-Driven Design, Continuous Integration/Continuous Delivery/Deployment that I have only read before. These technologies are the main tools that comprise next-level application today. Hence, learning the tools like Docker, Kubernetes, Istio, Vault, Terraform, Helm, Kustomize, and more was overwhelming.

But DevOps is not just about the tools that you need to use to productionize your application. Well, in my own opinion, it is about having a culture within the organization regardless whether it is small or huge team that sets up a happy environment where everybody is able to continuously improve and deploy their work with confidence anytime of the day. That said, there are work to be done like adding automation to conduct pre and post checks of your code; build artefacts with meaningful versions; having an opinionated development environment as your Swiss army knife tool; templates for proper documentation and version control; predictable code reviews; monitoring, logging, and alerting; securing and protecting your data; and last but not the least is to keep people happy and having fun.

There are still plenty of time to achieve my goal as an aspiring DevOps engineer. Well, maybe, I’ll not be able to reach it because it is a journey that has no end. I will just continuously become better and wise on choosing the right tools and making purposeful decision.

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
Personal Programming Web Development

Seamless frontend and backend integration

It has been a while since I wrote my last post. So, before going to bed I just want to write things that is bothering me this time.

I’ve been busy working on things and try to learn something new as much as possible without compromising my time with my wife.

Early this morning, I was thinking again about if there is a way to integrate frontend to backend without huge blockages. Think about it as frontend will create their pages and interactions without worrying about backend. And then backend will do the business logics without thinking about frontend. And once we put them together with a middleware program/service then it will just work with less coding and configuration. I know this sounds crazy but for some developers who always in this situation would agree.

On top of my head, maybe there is way to do less logic coding and instead leverage more on declaring things. This idea falls to a declarative programming. As you practice this style, you know what will be your expected result but you don’t know how to do it yet. It will be ideal that you know things will end this way without exerting too much effort on building the logic first.

There might be tools out there (that I still need to find) that have already implemented this. I’ll dig more and hopefully I can find anything. Or if not, then I’ll try to create one. Hopefully! 😀 Please do drop some comments if you have any idea about this. Thanks!

Categories
Personal Programming Web Development

Who comes first? Testing or Development

While riding the train today, I stumbled with this programming article. I always think about how to become a better programmer at the same time write less and effective codes.

I still remember during my college days, one of my professor friend thought me of how to be a better programmer. He told me that I should write my code first while in my mind I assume that things will work. This will help me speed up and write quality codes. It became my principle since then.

This principle is still effective. I am able to see things without even writing a single code because I trained myself to see it. But things have changed already in programming nowadays.

Today, I appreciate how important the practice test-driven development (TDD). I can’t believe that I’ve just discovered it although it exists a long time ago. By this we can catch possible known problems that we’ll encounter in our system or API.

We all have different practices and it solves our problems. But adapting other practices makes you better and effective. I am excited to change my practice now and be more efficient on my next coding.

Categories
Personal

Pokemon Go

Last week, Niantic Incorporated launched the Pokemon Go in Singapore and everybody downloaded it. I have also tried it just to check out this addictive game.

It is quite fun playing it aside from it helps you to exercise without you knowing it. By means of walking or checking out some places. You’ll see people always check their phones and laughed to you or you to them when you saw them playing too.

Beside from being addictive game, it turns out that businesses took advantage to it. They’ve dropped some lures module (one of the item to attract Pokemons in the area) to attract people. Everyone will definitely stay and buy things from them.

It has been fun playing it and I hope it will give positive outcome to our society.

Categories
Personal

I am back

It has been a while since I have wrote my first blog post. And today I have finally decided to get back on sharing things from what I have experienced and discovered in my entire web developing career.

I hope with my knowledge and thoughts I can help you guys (who might need my help. haha) on your career too. Let us make this world a better place again. Peace!