“I got access to a computer at the age of 13 and that was the very first attempt in writing a logo program.” – Vignesh
1. Tell us more about how you came into the world of software development?
It all started when I was in school and I had to make the decision on the stream that I wanted to go to. Having a choice between Computer science, Biology, Biotechnology and Commerce, I obviously didn’t want to be in the Biology class as it is usually 80% filled with girls. All along I was interested in computer science and I believe that I can do well in it! It was a challenge for me when I had to apply to NUS especially when I am from India, there was a lower possibility for me to get accepted. Thankfully, I got into NUS Computer Science and had no regrets choosing it! To be able to see that something I have built runs the way that I want it to be, gives me a huge sense of satisfaction! There is nothing more than writing a piece of code that gives me a huge sense of satisfaction and achievement to keep me going.
2. Having worked in Titansoft for 5 years, what do you enjoy most while working here?
I enjoy working on the complexity of the problems. The domain required in Titansoft is very unique and it is not common to meet such complex problems. I feel satisfied to build something that can be used by many across the world and that keeps me going. To be able to learn what other people are doing is just interesting even though I am not directly involved in it.
Difference between now and 5 years ago will be that I understand a lot more now. 5 years ago, I joined Titansoft as a Research Development Engineer and it attracted me because I am able to try a lot of new stuff. 5 years later, I have developed myself and am able to influence the decisions that are going forward and explore new ideas and technologies from the industry practices.
3. That sounds like a journey! Well, I believe sometimes, there must be challenges/obstacles you faced during your journey here. Care to share some of the challenges you have faced?
The biggest obstacle for me is the constant change that I had to face. But the one lesson I learnt was that you only learn and improve when you’re in an uncomfortable position.
When I started getting comfortable in my current position, suddenly I was asked to change my role. I was given the position of a Team Lead and I was unsure if I am even ready for it because I do not even know what a Team Lead does! 1.5 years into being a Team Lead, and as I was getting familiar and how management works, planning, training other people and getting really comfortable, suddenly, Scrum came in and all of a sudden, my Team Lead role became redundant!
For a few months, I was unaware of what I was supposed to do. The thing about Scrum is that there is no Team Lead, there is no hierarchy and everyone is equal and that took me quite some time to get used to. But later he realized that bringing in their experience helps to grow.
The main gist is that, with all the job switches that I had, the experience helped me understand and find a balance not only from the business point of view but the technology point of view as well and how these two co-worked.
4. Let’s move on to you as a technical coach, can you share with us what do you do in general?
As a Technical coach, being able to diverse faster by bringing in more tools is important. Not only do I want to help my team but to also help the company to develop faster. It is crucial to identify pain points and understand how people solve those issues and bring in new practices into the company.
Following people on twitter, reading online as well as contributing to open source technology gives me the opportunity to understand the latest tools and what good codes are. One way to improve programming skills is to look at good codes and see how they solve problems. Additionally, attending meetups in Singapore such as Jenkins and DevOps helps in me improving as a technical coach!
5. What is your biggest challenge faced as a Technical coach?
The biggest challenge faced is bringing in ideas and influencing people. As a leader and coach, it is easy to change and influence but in Titansoft, we work in a Scrum environment and there is no longer any hierarchy. If you really want to bring in an idea, you need to really understand the change you want to bring in and you need to think of how to convince people.
It is easy to change someone if you’re sitting above them but if you’re equal, and you want to change someone, it is difficult. You have to understand why your idea is good and how you can convince them Dealing with people. Any plans you have to create more influence on people? – Before I influence anyone, I need to see the issue. To connect, listen to others problems is more important than finding out problems and solving it with others. Through this, I have learnt how to engage with different developers outside and understand them.
6. As a technical coach, I believe you have trained together with one of our intern before, would you care to share what is one of the takeaways an intern should have during their internship period?
Internship is an opportunity for students to understand how companies work. In school, it is all about grades and even projects, you may develop software projects but no one looks at your codes. It is very different in industry, the code lives longer than people. Someone who coded a program may not even be here 5 years later and yet the code still exists. But how do I understand his intentions in writing the code? You can’t write codes that solve problems but this is just step 1, you need to write codes that people understand. It is a different challenge.
As the saying goes, “Writing code that a computer understands is easy but writing code that people understand is difficult” That is what I hope interns get out of internship. It is not about brains anymore but it is the tangibility of the code. It is not about making programs that is easy. In this era, developing something is so easy. People can just pick up a book and learn coding but that doesn’t remove the difficulty in writing good codes. Thus, it is very difficult to find good programmers.
So when the interns get a good picture of how good code quality is important, it will help open up their exposure and way of thinking. Hopefully, as an intern, it is a good opportunity for them to work across different life-cycle as they can pick up what they are interested in.
7. Last but not least, we will be expanding on our hiring in 2017, what advice would you like to give to the new graduates or even incumbents who are going to apply with us?
Take control of your own decisions. In Titansoft, we believe that no one is more responsible for your growth than yourself. As practical as we may sound, things will not come to you automatically, and to achieve your goal, being pro-active is what is practiced and preach!
Through our motto, “Never Stop Improving” we have a strong sharing culture. We embrace openness and confidence to share because that’s one way of helping each other to grow. Likewise, when in doubt, don’t hesitate to ask for help! After all, we rise by lifting others!