Tuan is one of the senior Product Developers (PD) in Titansoft and is a member of the PD recruitment committee, where they assist HR in the recruitment process by reviewing technical tests and conducting interviews as well. In Titansoft, we believe in growing both in depth as well as laterally.
What does being a Product Developer (PD) mean to you?
In the past, we used to be developing software in the traditional way, which meant that I simply did the task that has been assigned to me. We weren’t concerned much about the quality of our codes and had to wait for Quality Assurance (QA) to complete their testing.
Over time, we adopted new processes such as Scrum. This changed everything, especially mindset. We do not just simply take up tasks. We now contribute ideas and take ownership of the product.
As a Product Developer, we do everything for the product, and will definitely care about the quality of the item – every aspect of it from end to end.
What were the difficulties faced during the transition into the Agile way of working?
At first, I felt confused and worried as it felt like we were not working. The Scrum process didn’t seem to be working at the start. We were afraid to make changes to the system as we didn’t know what would happen, especially with legacy code that we didn’t understand.
However, we engaged a consultant, Stanly, who gave us ideas about what the Scrum process truly is and how to make it work. ‘Make it work, make it right, make it fast’ was one of the mantras we adapted on top of changes to the team culture. Stanly guided us through our legacy code issues and provided ideas to make them more viable to changes in the future with concepts like Test-Driven Development (TDD), Paired Programming and the practice of Continuous Integration.
Although these concepts were new to me, they eventually gave me the confidence to make changes to our codes knowing that there is a back-end system detecting problems for me.
How has the Agile way of working brought value to the way teams work?
In the past, we had a lot of ‘heroes’, which meant that there is at least one key person in the team. If these key person(s) within the team leaves the company for any reason, that team will be in trouble. What I am referring to is team sustainability. With heroes, there is no team sustainability.
Today, we no longer have individual heroes but we do have team heroes. Within the team, everyone is equal and we try to help each other to build and sustain. That is the difference that I see. We try to help and grow each other to make the whole team stronger. In the event that I fall sick, the team can carry on instead of getting stuck.
I strongly agree with Yves, our General Manager, about what he shared during the Agile conference about the 5 lessons learned from our Agile journey.
I really like what he said as it is very true right now in the team. There are no heroes, only team heroes. That’s what I see happening. Everyone is willing to change and adapt new things. If there are things that don’t work or codes that look messy, we ask ourselves ‘what can we do better?’
As a senior who have been through both traditional waterfall and scrum, what advice would you give to others to guide them through the transitioning?
I think it depends on how willing a person is to change. It is all about the mindset. I would recommend watching the video from Linda Rising about ‘The Power of an Agile Mindset’. In this video, she mentions about the fixed and the growth mindset. The fixed mindset is well, fixed, it can’t be changed. The growth mindset is the belief that I can change, I can do better.
Titansoft actively promotes exploration and discovery, have there been any technologies (software / methods / etc) that you have learned / tried externally and brought them back to the team?
I once went to a meet-up, organized by Microsoft and learned about the new version of .NET framework and visual studio. I went back to apply some of the techniques into my daily work and was able to use these software more effectively.
Another example would be the Jenkins meet-up, which I attended a few weeks ago. We thought we were applying Jenkins and CI servers the same way that the industry does. However, one of the attendees showed us a technique that we were not aware of and we learned something totally new! We are still discussing on when to fully adapt the system though.
I think it is very useful to go out and see new things and then come back and apply it to our daily work.
We understand that you are part of the Product Developer (PD) Recruitment committee. Could you share with us your experience of being part of the hiring process?
I think I made the right decision to join the recruitment committee because I get the chance to interview candidates and see the different perspectives from them. From this experience, I realize that in order to be a good PD, it is very important to be willing to change, dare to try new things and learn from the experience, whether it is a success or failure.
I also got involved in the recruitment process, in particular our online test system. Previously, the online test required the candidate to provide us source codes that we had to read on our own. Naturally, there were many different ways to code and run the programs, which made it difficult to understand sometimes. We have then moved on to utilize a better system that suits our needs.
The current test system that we use now provides a suitable framework for us and we simply have to provide the ideas or challenges for the candidate to solve. With the system framework in place, we are able to better assess the quality of the source codes.
Recruitment is not a usual role for a Product Developer, how do you think being part of the recruitment process helps the team?
We are able to hire the most suitable person to our team. Teams tend to have different standards and cultures. For example, my team is really talkative and we prefer to have everyone share their thoughts. After all, the team knows best on the type of personalities that would fit into the team.
Being part of the recruitment committee, we can discuss about how we can help this candidate to grow within our teams. I think this also allows the recruitment process to be transparent to all teams, which is a good thing.
What was your biggest challenge faced regarding the PD-Recruitment Committee?
The biggest challenge I have faced so far is to find the right member for the teams based on their attitude and skills. It is extremely difficult to judge a person through questions. Basically, we can evaluate technical skills by challenging him/her on foundation knowledge, such as: Object-Oriented Programming, Structured Query Language and so on. However, to figure out a person who can fit to a team is another story.
Recruitment is something new for all of us, but we are agile and willing to learn from different sources. One of the sources is from the Hiring Manager. We have often have meetings with them to sync up ideas in order to be able to do a better job.
For any PDs who wish to join the PD-Recruitment Committee, what advice would you give them?
I think the first step would be to understand the reason for the formation of the committee. There is a monthly committee meeting where we meet and sync up. Also be proactive if you are in the committee, whether during discussions or outside of it. The committee is very helpful and will do what we can to help each other to build the mindset.