Skip to main content

A User Guide To Working With Huong

 

Introduction

I write this user guide to help us (you and me) have a good collaboration at work. I hope you also share yours.

How I view success

  • We all feel passionate and happy at work.

  • We all enjoy discussing transparently.

  • We take it easy to give and receive feedback.

  • After all, we together develop and bring valuable applications to users.

How I communicate

  • I mostly prefer a face-to-face conversation.

  • Just leave me a message on Slack if you don't want to come to my desk.

  • For a big topic which takes more than 30 minutes, we should have a meeting.

  • Only send me emails only if stuff is very formal or out-of-office hours

Things I do that may annoy you

  • I do practice the Pomodoro technique so that sometimes you see me in the "do not disturb" mode.

  • Often to make things clear, I am at ease talking frankly with you.

What gains and loses my trust

  • It is easy to gain my trust when you commit to what you say. You show your passion and endeavors to achieve that.

  • It is easy to lose my trust when you don't focus on your work. You affirm what you haven’t experienced. For instance, you have never tested your implementation on the servers but you say you have done it.

My strengths

  • I know a good product is built by a well-collaborated team. I do care about teamwork.

  • My passion is to bring valuable products to users. I do care about both the technical and business of applications.

  • I motivate myself to expand my skill set every day to make better applications. I am a fast learner and my skills are wide.

  • I adopt the grit mindset. I believe I can solve most of the problems with my perseverance.

My growth areas

  • Development skills (Backend and Frontend)

    • After graduation, I began building enterprise web applications using Java as a primary programming language. For most of the projects, I used the JSF framework and Axon.ivy platform. I had nearly 5 years of experience in this field.

    • Currently, I am using JavaScript as my primary programming language. I enjoyed reading You Don’t Know JS.

    • In my spare time, I am also learning Android to develop my side projects.

  • Operation skills (DevOps)

    • I gained some fundamental knowledge about Computer Networks and Telecommunications such as operating systems, IP addresses, and security in the university as it is my major.

    • I have been working with some tools: Jenkins, Docker, OpenShift, AWS.

  • Soft skills:

    • I keep learning English for a good communication skill

    • I work together, observe, and grow my teammates to enhance my leadership skill.

    • I follow Buddhism (especially Zen/Thiền) as my philosophy. I believe everything in this world is connected. I no longer struggle to answer the kind of questions “Who am I? Why am I here?”. Some of my best friends are atheists, Protestants, and Catholics; we all feel happy when talking about our own beliefs.

  • Computer science

    • Architectural design: from the level of code to systems.

    • In my spare time, I enjoy spending time with some friends to take research and build side projects using facial technology (a field in Computer Vision).

    • Cryptography is also my interest. Currently, I also spend some time to build a pet called FIDO2 Authenticator.


References:

https://lg.substack.com/p/the-looking-glass-a-user-guide-to

https://roadmap.sh/

https://github.com/devradar/devradar

Comments

Popular posts from this blog

Creating a Chatbot with RiveScript in Java

Motivation "Artificial Intelligence (AI) is considered a major innovation that could disrupt many things. Some people even compare it to the Internet. A large investor firm predicted that some AI startups could become the next Apple, Google or Amazon within five years"   - Prof. John Vu, Carnegie Mellon University. Using chatbots to support our daily tasks is super useful and interesting. In fact, "Jenkins CI, Jira Cloud, and Bitbucket" have been becoming must-have apps in Slack of my team these days. There are some existing approaches for chatbots including pattern matching, algorithms, and neutral networks. RiveScript is a scripting language using "pattern matching" as a simple and powerful approach for building up a Chabot. Architecture Actually, it was flexible to choose a programming language for the used Rivescript interpreter like Java, Go, Javascript, Python, and Perl. I went with Java. Used Technologies and Tools Oracle JDK 1.8...

Sharing a virtualenv across several Python projects using Pipenv

There is a standard library for all projects in Python. However, several projects don’t always have the same dependencies all the time. That is where virtual environments come to play. You can follow this official document to use two separated tools  virtualenv and pip to  fulfill that need. My preferred alternative is to use pipenv . Pipenv is easy to use and convenient. The following are my steps to make a shared virtualenv for my all projects which requires the same dependencies. Step 1. Create an isolated virtualenv. python -m venv my-shared-env Step 2. Create a symbolic link to the created virtualenv. cd project_1 ln -s ~/.local/share/virtualenvs/my-shared-env .venv I have encountered the following issue at step 1. FileNotFoundError: [Errno 2] No such file or directory: '{my_project_path}/.venv/bin/pip': '{my_project_path}/.venv/bin/pip' The root cause was I tried to create virtualenv by running pipenv install and renaming the generated virtualenv to ...

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...

[Snippet] CSS - Child element overlap parent

I searched from somewhere and found that a lot of people says a basic concept for implementing this feature looks like below: HTML code: <div id="parent">  <div id="child">  </div> </div> And, CSS: #parent{   position: relative;   overflow:hidden; } #child{   position: absolute;   top: -1;   right: -1px; } However, I had a lot of grand-parents in my case and the above code didn't work. Therefore, I needed an alternative. I presumed that my app uses Boostrap and AngularJs, maybe some CSS from them affects mine. I didn't know exactly the problem, but I believed when all CSS is loaded into my browser, I could completely handle it. www.tom-collinson.com I tried to create an example to investigated this problem by Fiddle . Accidentally, I just changed: position: parent; to position: static; for one of parents -> the problem is solved. Look at my code: <div class="modal-body dn-placeholder-parent-positi...

Building a Wizard with Chain of Responsibility Pattern

What is the Idea? We want to create a page that there are some steps and each step has its own business. Users are able to click on a step and its status could be changed. Primefaces owns a component " Wizard " but it it quite hard for us in order to apply our very specific and complicated business domain logic on each step; even we cannot click on a step of this component. We somehow are able to use the component " TabView " works with a strong back-end mechanism. A backend mechanism! what do I mean? Yes, we need it because we want to abstract the behaviors of each step otherwise we will get trouble with many events handling. Obviously, each step has some behaviors  such as "next", "back" and "switch' are the same and they are related to each other; but the business of these behaviors can be different totally. That is where the pattern "Chain of Responsibility" can be applied. Step by Step Building It! In this simple pr...