Rizal Muthi is a software engineer from Indonesia and currently working and living in Melbourne, Australia.
How to meet with (her) programming language?
Back in University, we learned C++ and Java. I have never learned C# and VB.Net. Just so happened when I went for the interview, they asked me whether I can code in C#/VB.Net, I just said yes and I just learn it by doing it from that moment. I went to many startup/tech-related events, and thats where I met and learned new stuff, thats where I got to know about Ruby. And then I just started learn Ruby whenever I have free time (after working hours or in the weekend). And to step up the game, I decided to do it full time, that is where I got my second job with Myteksi/GrabTaxi. Besides that, Ruby is designed to make programmers HAPPY.
When your friends or parents ask you what job you do, how do you answer?
I am lucky that i have parents who understand about technology and they use the technology in their daily life. So they know exactly what i do, they know that i am a programmer who loves to write code to develop something useful. Explaining to my friend is quite easy because they already know that my passion is in IT since the beginning. When we were in high school, they often came to me to ask anything related to technology/computer/internet. Besides that, I think, almost all my friends are tech-savvy. so I have no difficulties to explain bout what i do to my friends or my parents.
What is your background, and how did you train?
I am right now a Ruby developer, focus on backend development. I have been coding for quite sometimes. I did my degree in major Software Engineering, thats where i learned coding professionally. I started working with .Net technology and ten i taught myself Ruby programming and felt in love it.
What does it mean by senior?
Senior (Developer/Engineer) ? This is really subjective, but from my experience. Its more on Years of experience, knowledge and skills. He/She who has the technical capability, leadership/mentor kind of material
What is something substantive that you’ve done to improve as a developer in your career?
Working on projects and reading books/articles
What do you do when you get stuck with a problem you can’t solve?
I will take a step back whenever I got stuck on some of the problem that I cant solve yet. I would rather to take break/rest than just forcing myself to think about it. It wont benefit both parties as in I will get more stress and the solution could be not the best. So sometimes, i will just take a break, chill, drink water and try to get fresh air, then I will come back to crack that problem. Often times, I found the solution when I was in toilet or when I woke up from sleep. Its kinda funny, but I guess, those are the moment when you are really relax thus your brain works much better.
What is your typical workday like?
Start in the morning, I will try to read some articles, related to my work or technology in general. After that I will check my tasks for the day. Sometimes I will talk/discuss with the Head Engineer/Product manager to get more details about the task or feedback from my side, then I will just code it.
Tell me about your development environment.
Its pretty much simple and basic. Right now I am using Mac OS X El Capitan. Rbenv for Ruby manager. Rails framework and bunch of databases servers(PostgreSQL, MySQL, MongoDB, Cassandra, Elasticsearch, SQLite). I dont really use docker/etc, maybe next time. I would love to try
When do you know your code is ready for production?
Obviously when the code works, but normally when I have test and also I do manual test. By doing that, I have more bigger confident level that the code works.
Can you name two programming paradigms important for RoR developers?
Convention over Configuration and SOLID