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

Google I/O 2017 Notes

WOW! How meaningful this below video explains about the name of  "I/O". Sundar Pichai talked a lot of Machine Learning Machine Learning is a very hot trend these days. Google uses it for their products. Google Assistant: Easily booking an online meal by talking with Google Assistant like a staff of partners, for example. Google Home: Hands-free calling. Google Photos: sharing suggestion, shared library, photo books and google lens. Youtube: 360 degree video, live stream. Kotlin became an official programming language for Android https://kotlinlang.org I'm on the way to Kotlin! ^^ Reference: [1]. https://www.youtube.com/watch?v=Y2VF8tmLFHw

Junit - Test fails on French or German string assertion

In my previous post about building a regex to check a text without special characters but allow German and French . I met a problem that the unit test works fine on my machine using Eclipse, but it was fail when running on Jenkins' build job. Here is my test: @Test public void shouldAllowFrenchAndGermanCharacters(){ String source = "ÄäÖöÜüß áÁàÀâÂéÉèÈêÊîÎçÇ"; assertFalse(SpecialCharactersUtils.isExistSpecialCharater(source)); } Production code: public static boolean isExistNotAllowedCharacters(String source){ Pattern regex = Pattern.compile("^[a-zA-Z_0-9_ÄäÖöÜüß áÁàÀâÂéÉèÈêÊîÎçÇ]*$"); Matcher matcher = regex.matcher(source); return !matcher.matches(); } The result likes the following: Failed tests: SpecialCharactersUtilsTest.shouldAllowFrenchAndGermanCharacters:32 null A guy from stackoverflow.com says: "This is probably due to the default encoding used for your Java source files. The ö in the string literal in the J...

JSF, Primefaces - Invoking Application Code Even When Validation Failed

A use case I have a form which has requirements as follow: - There are some mandatory fields. - Validation is triggered when changing value on each field. - A button "Next" is enable only when all fields are entered. It turns to disabled if any field is empty. My first approach I defined a variable "isDisableNext" at a backend bean "Controller" for dynamically disabling/enabling the "Next" button by performing event "onValueChange", but, it had a problem: <h:form id="personForm"> <p:outputLabel value="First Name" for="firstName"/> <p:inputText id="firstName" value="#{person.firstName}" required="true"> <p:ajax event="change" listener="#{controller.onValueChange}" update="nextButton"/> </p:inputText> <p:outputLabel value="Last Name" for="lastName"/> <p:i...

There is no expert, there is only us

Chairs in my office Once I was chatting with my teammates... Me : "I wonder why it is always necessary to refer to this source, that source, has anyone done it, is there any research? While no problem is the same, no situation is the same. Why not use our own brains to create a whole new one? Why do we have to be the insiders to consult the outsiders? Isn't that very paradoxical?" My teammate : "I agree with your point that no two situations will be exactly the same and that there is no one size fits all. But there's one like this, I don't think it's all the problems we're dealing with that only we can meet. So of course, if I can find a source to refer to first, it's still better. Just like when implementing a software feature, not every problem is the same. But I still have to go check to see if I'm the only one I've met? Or if someone has met me, I have to see if their method suits me before I decide to try it, but I don't blindly ...