how to be a software engineer blog cover

Working for an IT (Information Technology) company sounds very cool in this decade. Many start-ups and mature businesses need IT, but they also need to keep up with technology. This means IT engineers (and especially Software Engineers) are in high demand. But how do you become a software engineer? Is it difficult to become a software engineer? Let me share my experience.

I am a software engineer with four years’ experience. In that time, I have learnt how I can progress step by step to reach my career goal as a software engineer. Now I am working for Mitrais, one of the best IT companies in Indonesia, but my journey as software engineer still continues.

My career as a software engineer started when I went to college at the Institute of Business and Informatics Stikom in Surabaya. In semester 5 of college, I saw a job vacancy in the lobby campus and I thought “This is my chance to be a software engineer - I should take it”. After few hours thinking, I dared myself to talk to the contact person. I asked some questions like “Can I work and study at the same time?” because I still had many courses that I needed to take next semester. She answered “Yes, you can. When you don’t have a class just go to this room and do your tasks”. On my way home, I was deciding whether to apply.

I felt worried about whether I could manage my time. College students have a lot of homework and sometimes we’re up late at night finishing it. Finally, I decided to take the job. I applied, did some tests and interviews, then signed a 1-year job contract. My reason for taking the job was that I wanted to get real experience in software engineering, and I didn’t need to wait until I graduated to get it.

It was hard at first to manage work and study. The first three months were the hardest. I still learnt how to do coding, but I already had tight project deadlines, and I also had many college tasks. How was I going to do that? The choice was to either give up and leave my job or push myself to the limit. I will not lie, I tried to do it all, but sometimes I left my college tasks. That wasn’t my choice - I chose to try until I couldn’t do anything else. However, leaving college tasks for work is not a justification.

At that time, I faced so many problems like bugs and errors in my code, configuring servers, as well as presenting our work to the client. This was not easy for me, and I felt very nervous presenting to the client. Then I needed to analyse the client’s needs, design a system, and many other tasks besides. It was a hard thing for a new programmer like me. I was not sure what I was doing and was afraid I might make mistakes, but I kept on. Some mistakes certainly did happen, but I learnt from them, ensuring they would not happen again.

After three months working for the first company, I began working in another company. A senior from college asked me to join his start-up, and I accepted. I didn’t get a salary from that because I was one of the co-founders, meaning I would receive shares when we secured investors and profits. I worked there on Saturday and Sunday, can you imagine? I didn’t have a day off for an entire year. I felt so tired, but today I realise that this experience also built my skills. As I worked with different people, I got new viewpoints, and new ways to solve problems. I also learned that the lifecycle of a start-up is very different from that of an established software house. Start-ups have their big ideas, meet many people who can help scale up their business and do market research.  It’s all very valuable experience.

After almost two years of work, I had the opportunity to gain experience working as a team leader. We won a big project and divided our resources into three small teams to manage the workload. My manager chose me to be a team leader for one team on this project. I had already learnt how we worked, how my team leader divided and estimated tasks, and how to ensure that our tasks were finished correctly. I knew what I had to do, but still, I sometimes lacked confidence. After some time, the project became problematic. One member of our team was simply not working fast enough. I knew he was smart enough and could do it, but his motivation to finish tasks quickly seemed low. I was about to give up on him and told my manager.

He suggested to me that if some team member could not do their best, the team leader would need to try another way. It was not only about that person but how the leader faced the challenge and inspired his team to perform. I tried many ways to help my team member improve. I scheduled more intense meetings, tried to make his work more challenging, and ensured he knew that I still trusted him.  I saw him change, and his work became steadily better. Every team member may need a different approach, and the team leader needs to understand that and learn about it.

My last big project in that company was also interesting. There is a famous song lyric that I always remember. It reminds me to keep trying when I’m in a difficult situation. That lyric is “What doesn’t kill you makes you stronger” (Stronger by Kelly Clarkson). That lyric was pointed out to me when my team developed a big project for a big company in Jakarta. We had no experience in some of the requirement areas, but I said to my manager “Just take it. If we wait until we have experience and ability, when will we get it? Never”. Finally, we took that project and I got stressed. It was so hard to do. I learnt and tried many new things, and some did not go well. I worked seven days a week, 12 hours or more for one month. That’s all we did because it was our responsibility.

At the time I thought that if the project failed the client would be disappointed in us. But I kept trying, hoping we could solve the problems one by one. One day when we were on the way to the client’s office, our Consultant (and my lecturer) said to me, “Ardy, I have a principle in my life, that comes from a song lyric which is “what doesn’t kill you makes you stronger”. I have faced some situations like this before and believe me you can be stronger after this”. This gave me new hope. I thought “We can finish this project - we haven’t yet used up all of our energy”. Then, as every day passed, one by one we solved the problems, and finally we finished that project successfully. I didn’t believe we could finish that project with a happy ending. Then I remembered a poster at my college that said “It always seems impossible until it's done” by Nelson Mandela. This project was the most difficult project I have ever done, but also a big part of my experience. I am very grateful for that - It made me much stronger. One side effect of this experience that I didn’t like was that I lost some of my hair. It’s funny, stress can cause hair loss - be careful of that.

After four years working for my first company, I felt I needed to further improve my skills, and that I couldn’t move further if I was still in the same circle doing the same repetitive tasks. I decided to find another company that would support me in improving my skills. After searching for a few days, I found Mitrais job vacancies. I was interested in the Mitrais’ offer because there were some benefits like English training, programming boot camp, private health insurance, and that their office is located in a tourism city. I thought would be good to help decrease my work stress, so I decided to apply for a job in Mitrais, and here I am.

So, these were my first steps to becoming a software engineer. It’s just about time and desire. The key is developing experience in many areas as you can. Don’t think about salary at the beginning of your career. Just focus on getting experience, and money will follow your efforts. Hopefully, my story can raise your spirits, and help you learn how to be a software engineer.