This week we interviewed Michel Murabito (“Mich” for his friends), a 32 years old Senior Developer at Spindox: his motto is «Never Hesitate», in the last 18 years he devoted his life to coding and he likes to define himself as a Senior Web Developer by day and Aspiring Superhero by night. He gave us his personal advices to start coding like a pro and become a successful developer.
Michel, you define yourself as a Web Developer during the day and as an aspiring superhero during the night, why?
During the day I am a Senior Developer
; my personal and business goal is not just to code but also to generate the most innovative products and fantastic projects by using the best possible code.
On the other end, as my workday ends, I use my free time to improve my soft skills, organise technical talks and predicate how the tools for developers are evolving over time. I devolve most of my time to the growth of the technical/technological ecosystem without neglecting my hobbies and social relationships.
According to you, what is the most effective educational path to become a developer? What is your evaluation of online platforms offering programming courses (e.g. Udemy)?
I firmly believe that there isn’t a unique and more effective path to become a developer. Generally speaking, getting a university degree is indispensable to understand the basis to build a sound professional career path. Anyway in this field things evolve at a fast peace, therefore never being relentless is essential. The Internet is plenty of tools that are useful to learn, anyway I am deeply convinced that the best way is first to start experimenting, then make mistake (the more the better) and progressively better yourself. For this reason, I recommend to look for companies that offer courses (for which they often paid for and offer starter contracts at the end) to get your hand dirty by working on real cases.
What do you like the most from your job? What do you like the least? What are the main challenges?
I love starting to develop a completely new project. I like being challenged and to find the best possible solution; what I also love is the design phase of a software infrastructure, when we start defining the basis of a projects in conjunction with all the team members.
Ongoing changes are unavoidable even though the design is impeccable: changes come to light in a later stage and it is always difficult (and a bit boring) to modify what has been already developed to take new needs into consideration. As it often happens in life, there are ups and downs but I personally love my job.
Which advice would you give to any Machine Learning Engineer that wants to distinguish?
Being a developer nowadays has thousands of different meanings, therefore there could be many valuable recommendations. The first recommendation that should not be taken for granted is never stop at “it works!”, but ask yourself “why is working?”, “how it can be improved?”. I think that, beyond technical competencies, also cross skills are important: I frequently discuss on this topic on my blog (https://firstname.lastname@example.org)
How do you think your role will become in the future? Which skills will you need? How do you stay abreast?
Recently at Campus Party
I had the pleasure to listen to Paolo Costa’s talk on “How to prevent robots from stealing your job”. I fully share Paolo’s vision, he encourages his listeners not to be scared and suggest to start working with technology (as surely it will happen) to improve the result of our job. It’s evident that technology evolves and take away “old” jobs, but it’s also true that not replaceable jobs exist and that everyone’s competencies should continuously evolve!