Skip to main content

Resolution for 2016

HCM full stack developer Meetup

This is the topic of HMC full stack developers' meetup this time. We have shared our ideas and discussed about them. Most of discussions is focused on career path for developers in Vietnam and what next we will do in 2016.

I have a problem with my career path in Vietnam. I seem to get lost my motivation because I don't like to become either a manager or a TA (such as Technical Assistant, Technical Analysis, Technical Architect).

But, why only are there either manager or TA in Vietnam? How about a 60-years experiences developer? Salary is actually an issue.

I admire several great developers in the world such as Jeff Atwood (stackoverflow.com founder), John Sonmez (simpleprogrammer.com fouder). They created very great and valuable stuffs for the community and they are free of finance - of course, I think. Why can't I follow that way? I would like to not only create cool stuffs but also get high salary.

I love to become a "many years" developer. Coding is one of my true hobbies so how my job motivates me without coding. If I become a manager even a TA guy, I will not coding on the real projects anymore. It isn't seem to interesting for me.

The answer is somehow "It depends on current countries' software industry. Almost software companies in Vietnam are out-sourcing ones. The salary depends on job titles that means a project manager has higher salary than a developer, for example. Therefore, you want to get a high salary, you should earn a promotion." - said Mr. Quan

English is really a matter of concern for Vietnamese developers. Why a BA (Business Analysis) is often from a QA (Quality Assurance)?

Sometime BAs don't understand developers' job and they give some unreasonable requirements for developers. Because a BA is often a previous QA with good English skills. Currently, most of developers are not good at English. If developers can improve their English skills, they might be more suitable to become BAs than QAs. They, the one, can make the customers requirements be logical and reasonable.

So, what is my 2016 resolution?

I am still fighting to find my real career path, but the following tasks should make sense for me currently:
  1. Going on improving my English skills is always in my first priority. How about IELTS 7.0 certificate?
  2. Learning structural and design best practices such as Refactoring, Design Pattern.
  3. Creating my own pet projects. Pet projects must be an effective way for practising technologies and methodologies.
  4. Networking and connecting by joining the community such as HMC full stack developers, iziEnglish Saigon.
Of course, they are not enough for my life. Always taking care my core relationships and other hobbies.

Happy new year!

Comments

Popular posts from this blog

The HelloWorld example of JSF 2.2 with Myfaces

I just did by myself create a very simple app "HelloWorld" of JSF 2.2 with a concrete implementation Myfaces that we can use it later on for our further JSF trying out. I attached the source code link at the end part. Just follow these steps below: 1. Create a Maven project in Eclipse (Kepler) with a simple Java web application archetype "maven-archetype-webapp". Maven should be the best choice for managing the dependencies , so far. JSF is a web framework that is the reason why I chose the mentioned archetype for my example. 2. Import dependencies for JSF implementation - Myfaces (v2.2.10) into file pom.xml . The following code that is easy to find from  http://mvnrepository.com/  with key words "myfaces". <dependency> <groupId>org.apache.myfaces.core</groupId> <artifactId>myfaces-api</artifactId> <version>2.2.10</version> </dependency> <dependency> <groupId>org.apache.myfaces.core<...

The power of acceptance test

User Story is the place PO gives his ideas about features so that developers are able to know what requirements are. Acceptance tests are these show the most valuable things of the features represented by some specific cases. Usually PO defines them, but not always. Therefore, refining existing acceptance tests – even defining new ones that cover all features of the User Story must be a worth task. Acceptance test with Given When Then pattern If we understand what we are going to do, we can complete it by 50% I have worked with some members those just start implementing the features one by one and from top to down of the User Story description. Be honest, I am the one used to be. What a risky approach! Because it might meet a case that is very easy to miss requirements or needs to re-work after finding any misunderstood things. I have also worked with some members those accept spending a long time to clarify the User Story. Reading carefully of whole User Story by defining...

Improving the execution time of CI pipelines

Executing a large number of tests, especially integration tests, takes a lot of time. For instance, the pipeline of one of our projects for each Pull Request previously took nearly 30 minutes, including over 1 thousand test cases. This article guides you through several good techniques that we have discovered and applied to improve the time-consuming process. Parallel stages Analyze the current phases in your pipeline and categorize them in parallel. For example, we can separate the build and verify code of Node.js and Maven modules simultaneously in our Jenkins pipelines. Please mind using the setting failFast whether you want to abort the pipeline immediately. Read more: Parallel stages with Declarative Pipeline 1.2 (jenkins.io) Parallel test execution If you use Maven, t he plugin maven-failsafe-plugin is used to execute integration tests during phases integration-test and verify  the build lifecycle. It allows us to execute tests in parallel. There are many settings related ...

Mindset at work

Fansipan mountain As a mentor, I always give to my new members the following practices as my advice for mindset at work. “A over B” means while there is value in the items on the right, we value the items on the left more. Solution   over Technology We should approach to solve the problems rather than depending on technologies. The technology limitation should not our excuse to reduce the quality of the feature. For example, we’re strong at React, but we are willing to learn a new framework Meteor due to customer needs. We are software engineers, we are good at problem-solving. Technologies are our toolbox. Contribution   over Complaint When we encounter and find pain-in-the-ass issues such as lacking documentation, old frameworks/libs, lacking testing, etc.. we try our best to resolve them! Refer to The Boy Scout Rule: “Always leave the campground cleaner than you found it.” Collaboration   over Following Sometimes you even need to consult customers to bring great custom...

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