Skip to main content

My 2017 Review

Passion for System Design

After finishing a one year project, my longest stable team (lasted for 3 years) was separated into two smaller teams. Sadly, but that was a good chance for me to become a key member in my new team. My preferred skills were about system architectures; therefore most of the tasks of building the application structures were handled by me. In order to enhance my design system skills, I have spent much my time for reading books closely after work. These following books help me a lot.
- Object-Oriented Thought Process | Matt Weisfeld
- Head First Design Pattern | Elisabeth Freeman and Kathy Sierra
- Java 8 in Action: Lambdas, Streams, and Functional-style Programming | Alan Mycroft and Mario Fusco

Junior Technical Architect

I was requested to join a technical architect team (aka Team. Alpha) where I actually had gained experiences almost on interviewing candidates for my company (lol). Besides, I noticed myself must improve the skills of convincing people because I had had a strong debate with other members once in a sharing session (yes, I failed). It was really tough to convince others when introducing a stuff/an idea was totally new. But, "Do it Anyway" because debating makes problems clear.


New MacBook

This was something very normal but I think it's worth the money for tackling a new experience on a new operating system (macOS). I really loved it!

Facing challenges in finding a new company

I had worked at my old company (Axon Active Vietnam) for more than 4 years. It was not too long but I felt that it was the time for me to move out of my "safe zone". I had spent much time for interviewing to select a company for my new journey. Sadly, I had failed in a lot of places, from Outsourcing to Product to Startup companies. It was really a frustrated decision but eventually, I made a resignation when I didn't have a new offer. And, even my manager who also suggested a raise to keep me on my team. I appreciated that.

Fortunately, I had received several offers (exactly 3) at the end days before I left my old company. The following was my log: (Company | Applied position | Interview Notes)
  1. NVG | Senior Web Java Developer | Various questions about frameworks are being used.
  2. LenderRate | Developer | Algorithms (level: hard, difficult).
  3. ContentNet | Senior Developer | Deeply technical questions about Java core, design patterns and how to approach a technology.
  4. Absolute Vietnam | Developer | Deeply technical questions about Java core (but, it's my strong points).
  5. Innotech | Full-stack developer | Behavior questions (quickly, only <30 minutes).
  6. FPT | Developer onsite longterm in Singapore | Specific frameworks (Restful API, NodeJS, Microservices).
  7. Adnovum | Professional Developer | How you understand your most favorite projects and used technologies; algorithms (level: easy/medium).
  8. Freelancer with my beloved team | So, I passed it without conditions (Haha).
  9. Politely declined to interview at Zalora, SAI GON BPO.

Winning my first project with my freelance team

With a strong spirit of a startup, my team focused on trying to make our first project super succeed by providing a good quality and fast-building application. It was not only collaborating well with customers but consulting them to have a "better" application.

The following were key values of my team:
- Having the same vision: sharing a "can do" attitude. We organized some practical sessions each sprint such as knowledge sharing, code reviewing, and retrospective.
- Focus: reflection and adaption on whole sprint goal, not individual tasks status.
- Being agile: being flexible/effective at work rather than following strictly a process.

My desk at CirCO CoWorking Space

Happy New Year! 2018.

Comments

  1. Holy crap! but, it was cool. Algorithms can be called as "Chi" in Kung Fu!

    ReplyDelete

Post a Comment

Popular posts from this blog

Gzip upload on browsers

Today, I faced a problem that I could not upload my archive file with gzip format on Firefox, even it worked on Chrome. I was using macOS. My application had a setting to whitelist accepted files. I’ve already added "application/gzip" to that list. "It’s strange!", I thought. I finally figured out that my uploaded file's type actually was "application/x-gzip" on Firefox. I also asked my colleagues to check their uploaded files on Window and Ubuntu. Hmm… they were totally different! It was "application/x-compressed" on Window, and was "application/x-compressed-tar" on Ubuntu. In fact, gzip is already standardized by IANA. There is a note in RFC-6713 as below: "Some applications have informally used media types such as application/gzip-compressed, application/gzipped, application/x-gunzip, application/x-gzip, application/x-gzip-compressed, and gzip/document to describe data compressed with gzip. The media types defin...

Automating deployment and managing apps on OpenShift

Previously, we maintained OpenShift templates for deploying apps in development environments as well as delivering these templates to our customers for their on-prem deployment. Customers who refer to our templates (as well as documentation) have their own configuration management tools to automate the deployment such as ArgoCD and FluxCD. My son's buildings Our developers usually modify templates (YAML) directly on OpenShift for testing and then adjust the corresponding templates stored in the Git repository in Bitbucket. This sometimes causes an issue that delivered templates are incorrect because: - Developers forget to update the templates in Git repositories. - Developers don’t test the templates Therefore, our goal was to integrate a tool into our CI/CD that can automate and manage the configuration of OpenShift apps. The delivered templates should be the ones that are able to run on our OpenShift with the following purposes: - Automate deployment from templated in Git repos...

BIRT - Fix the size of an image

I use a dynamic image as a logo my report in pdf. At the beginning, I use table to align the logo in left or right. I meet a problem with some images with a large width or height. My customer requires that the logo should be displayed in original size. These following steps solves my problem: 1. Use Grid instead of Table 2. Set Grid "Height" is 100%  and "Width" is blank 3. Set "Fit to container" for images are "true". Download the the template here .

My must-have apps for daily work

There is no doubt that cool apps can help us be more productive and enjoyable at work. For the time being, I really love the following apps which are used by me almost every day. 1. A personal Kanban In fact, a personal kanban is the most useful app for me. Why does it matter? It is not just a to-do list, but it keeps me motivated every day because it helps me be able to know what my "big picture" is. I usually set up my plans together with a path to reach them.  KanbanFlow  is my preferred tool. KanbanFlow 2. A terminal Needless to say, a terminal is a must-have app for every developer, especially the ones use macOS/Linux. Due to its importance, I love to decorate and enhance it to be super exciting with various tools such as  iTerm ,  oh-my- zsh , and  thefuck . ;) iTerm + oh-my-zsh 3. A documentation "ecosystem" As a developer, I can not remember all things that I have experimented a day. Moreover, a document is really useful for sharing an...