Edwin Tunggawan is an Indonesian software engineer with about 5 years of experience working in the Indonesian tech startup scene at the time of writing. His educational background is computer science and IT, and he enjoys reading on his free time.
How were you in university?
I don’t think it was that impressive. I got to a somewhat decent university by my country’s standard, majoring in computer science. My grades weren’t exactly stellar, I spent a lot of time trying to learn stuff that’s not covered in the curriculum instead of studying for the classes. I didn’t grow in the environment where science and engineering skills are valued much by people, since my family were mostly merchants and accounting staffs, so I didn’t grow with the right mindset even though my interests were more towards science and engineering. Because of that, I figured that there were a lot of things I needed to know but I had to learn by myself.
Why did you pursue a career in the software engineering?
I chose to major in computer science because I figured among the stuff I wanted to learn it’d provide the best ROI for my family, since our family’s economic situation weren’t so great and I was kind of good with computers when at senior high school. The other things I wanted to learn were biology, psychology, and languages. Not so lucrative compared to computer science and IT, especially to someone who have to make ends meet.
What was your first job?
Due to the nature of most of the jobs I took around the time (many can be considered odd jobs), I didn’t exactly develop my technical skills very well from that. Even my first software engineering job after graduation was just mostly web development using Ruby on Rails. There were some of the more interesting projects that required reverse engineering and such, but not much. I mostly tried to learn as much as possible from the job, but when it couldn’t be done due to overworking and boring assignments I’d try learning from reading books.
Up to that point, I think the most important thing I learned was to not expect anybody’s going to properly teach me anything so I’ll have to be able to learn on my own. But after some time on the job there were a new engineer I considered my best mentor so far, and he taught me a lot of things. The most valuable thing he taught me was how to learn more effectively by myself and enjoy the learning process.
What did you prepare for interviews?
To be honest, I never prepared myself much for interviews. I just did the technical interviews according to what I had learned, and for the HR/culture fit interviews I simply answered their questions with what was true according to my knowledge.
What books have helped you up to this point?
One repays a teacher badly if one always remains nothing but a pupil.
I also read a lot of manga, and I’m really impressed with the potrayal of Miyamoto Musashi in “Vagabond”. I think “Vagabond” shaped my views about achieving mastery, based on the development of Miyamoto Musashi in the story. Musashi started out as a violent problem child, but matured into a humble master swordsman after meeting a lot of people throughout his journey.
How do you keep yourself up to date in this fast-changing Software Engineering field ?
Honestly, there’s too much to keep up with. I ended up ignoring most of the newest technologies and try to learn the fundamentals instead. As long as I understand the underlying principles of the technology, I should be able to understand it when I encounter it. I think trying too hard to keep up to date could be harmful, since we could get flooded with too much information without really understanding them.
What do you recommend to be put on CV?
It’s a bit difficult to tell, to be honest. I think it highly depends on what is your background and the culture of the company you’re applying to. I usually only put my work experience and summaries of what I did on my past jobs. But if you have any notable achievements outside your work experience that’s worth mentioning, you should definitely put it on your CV.
Any advice for someone looking for software engineer job?
Know the reason why you’re looking for a job. Do you have any personal goal regarding the job beyond getting paycheck? Throughout my career, I’ve met people who work for various reasons. Some work only to support their family, some others want to get into a certain position within the industry, there are a few who’re aiming for mastery and self-discipline, and also people who’re aiming to make a difference in the world.
Your reason should lead you and help you to choose your employer. Choose an employer that will support you in reaching your goals. Otherwise, your job would be a living hell.
As for whether the employer will choose you, make sure to develop your personal and technical qualities. Try imagining the position reversed, if you were the employer what would you expect from someone applying for the job? Do your research on what skills you need to develop.
Why do you think you were selected among the other candidates?
I think for my first and my current job (it’s only the second for now, but I spent quite some time at the first one), the reason is that they consider me capable enough to meet their expectations and still within their budget. Their expectations might be different, since the projects I’ve been working on differs between the two companies. Their cultures are also quite different.
Any lessons from the job you didn’t get?
Some companies have agreement not to hijack each other’s employees, so there’s an instance where I didn’t get a job because of such agreement. Also there’s a case where I didn’t pass for unknown reasons (I think the technical test wasn’t difficult). There could be a lot of different reasons for potential employers rejecting us, some might tell us directly and some others might not. It’s within their rights to decide whether they should tell us the reasons or not, but don’t be discouraged. I think as long as we keep learning and keep the right attitude, we’ll be fine.