Skip to main content

My 2022 Review

2022 was completely a mind-blowing year for me. Lots of changes happened at work. At present, things seem to be going to settle down, I want to look back at my year.

My balcony (2022)

Q1

At beginning of the year, I started with Metaverse and NFT research. I completed my first course about a new technology Blockchain on brilliant[dot]com which became my best favorite learning platform later on. Getting a certified IBM developer certification was also a good experience. I gained more knowledge of technologies including containerization, microservices, DevOps, and Cloud-Native. It triggered me to plan for DevOps toolchain enhancement for the company. Adopting GitOps practice was a good start. It is one of my main focuses for my position role as a Tech Lead. I was really impressed by the book “The Brief History of Time”. The story of Stephen Hawking was so inspiring. To me, it was one of my favorite books of this year. Sadly, this period was the time when some of my good friends were leaving the company.

Q2

Changing the organizational process was so truly difficult. Lots of discussions have been conducted to have the same voice for a group of people since the new role Engineering Lead was proposed for the change. What I experienced well in this period was that whenever I put my energy into something, all related things will come around me. And, franking is the only medicine to treat toxic sicknesses and environments. I started to sharpen my English pronunciation skills with ELSA speak app. I also spent time reading human management-related books including “The Mythical Man-Month” and “Peopleware”. I also spent a month interviewing for a new role as an Engineering Manager in a startup.

Q3

The role of Engineering Lead was adopted well. Working with completely new teams with new projects was an excellent experience. I have learned to work with new people who don’t have the same mindset as me. As a leader of the new teams, I understand more about the effortless approach to leading people. Getting the Professional Scrum Master (PSM) certificate helped me set up my working style as a Scrum Master with new teams. I affirmed that I should not be a hero but rather that I need to give more authority to the team to be self-organized.

Q4

Still, there were many things happened unanticipatedly. Another good member was leaving the company. It was the first time I joined team HR to define a process of annual performance appraisal. It took a huge time and effort. Some new practices were officially applied as a company standard such as Engineering Levels, OKRs, and the role of Team Lead. I also have experience with leading some development teams working on different projects built with different technologies. Giving clarity of the projects' roadmap for developers was my important job. Moreover, I have learned along with teams to solve different emerging project issues.

Comments

Popular posts from this blog

Styling Sort Icons Using Font Awesome for Primefaces' Data Table

So far, Primefaces has used image sprites for displaying the sort icons. This leads to a problem if we want to make a different style for these icons; for example, I would make the icon "arrow up" more blurry at the first time the table loading because I want to highlight the icon "arrow down". I found a way that I can replace these icons with Font Awesome icons. We will use "CSS Pseudo-classes" to achieve it. The hardest thing here is that we should handle displaying icons in different cases. There is a case both "arrow up" and "arrow down" showing and other case is only one of these icons is shown. .ui-sortable-column-icon.ui-icon.ui-icon-carat-2-n-s { background-image: none; margin-left: 5px; font-size: 1.1666em; position: relative; } .ui-sortable-column-icon.ui-icon.ui-icon-carat-2-n-s:not(.ui-icon-triangle-1-s)::before { content: "\f106"; font-family: "FontAwesome"; position: ...

Installing NGINX on macOS

I have heard of a lot of NGINX recently. One of them was it can help for security issues; for sure, it much be more. It so happens that our team has got a ton of user stories from a security audit. It's time to delve into it. What is NGINX? In order to get a basic idea and have some fun , I've just picked some available posts from my favorite Vietnamese blogger communities as below: https://kipalog.com/posts/Cau-hinh-nginx-co-ban---Phan-1 https://viblo.asia/hoang.thi.tuan.dung/posts/ZabG912QGzY6 NGINX (pronounce: Engine-X) is a web server (comparing to IIS, Apache). It can be used as a reverse proxy ( this is what I need for security issues with configuration ), load balancer and more. How to get started? I found the below path for learning NGINX by googling "learn nginx": https://www.quora.com/What-are-some-good-online-resources-to-learn-Nginx In this post, I only went first step. This is installing NGINX on macOS and taking a first look at the confi...

Strategy Design Pattern

For example, I have a program with an Animal abstract class and two sub-classes Dog and Bird. I want to add new behavior for the class Animal, this is "fly".  Now, I face two approaches to solve this issue: 1. Adding an abstract method "fly" into the class Animal. Then, I force the sub-classes should be implemented this method, something like: public abstract class Animal{ //bla bla public abstract void fly(); } public class Bird extends Animal{ //bla bla public void fly(){ System.out.println("Fly high"); } } public class Dog extends Animal{ //bla bla public void fly(){ System.out.println("Cant fly"); } } 2. Creating an interface with method "fly" inside. The same issue to an abstract class, I force the classes these implement this interface should have a method "fly" inside: public interface Flyable{ public void fly(); } public class Bird implements Flyable{ //bla bla public void fly(){ System.out.pr...

Building Axon.ivy Projects on Bitbucket Pipelines

Read me  if you don't know what Axon.ivy (Ivy) is. Motivation -  Ivy projects are designed to be built on a continuous integration (CI) server like Jenkins - Today, Bitbucket supports for CI with Bitbucket Pipelines - We're using Bitbucket. Then, why not? It must be very cool and convenient for us if we can centralize our CI and VCS (version control system) tools in one place. Here is an approach We have to use a maven plugin called project-build-plugin  to build ivy projects. This plugin requires an instance of Ivy engine during building time. Bitbucket Pipelines allows us to specify our own docker image as a build environment. What we need to do  is to prepare our docker image with needed stuffs such as JDK, Maven, Ivy engine, etc. Step 1. Prepare Docker images For testing purpose, I already created two docker images: Maven and Axon.ivy engine. They are now available on Docker Hub This image for Maven using Oracle JDK 8 This image for Axon.iv...

DevOps for Dummies

Everyone talks about it, but not everyone knows what it is. Why DevOps? In general, whenever an organization adopts any new technology, methodology, or approach, that adoption has to be driven by a business need. Any kind of system that need rapid delivery of innovation requires DevOps (development and operations). Why? DevOps requires mechanisms to get fast feedback from all the stakeholders in the software application that's being delivered. DevOps approaches to reduce waste and rework and to shift resources to higher-value activities. DevOps aims to deliver value (of organization or project) faster and more efficiently. DevOps Capabilities The capabilities that make up DevOps are a broad set that span the software delivery life cycle. The following picture is a reference architecture which provides a template of a proven solution by using a set of preferred methods and capabilities. My Remarks Okay, that sounds cool. What does it simply mean, again? The f...