Image credit searchenginejournal.com
Joan Goyeau is a Scala Backend Developer at DriveTribe. He is very passionate about Scala so we wanted to hear his story of how he became a Scala Developer and his journey, it's great to hear about the experiences of people in the community.
- Where did you grow up? What’s your background?
I grew up in France where my father worked for an American company as a Network Engineer, so I always had a computer at home. It's only later that I understood what he was working on, he was helping building the Internet.
My first lines of code were TI-BASIC at high school where I did a game on my Texas Instrument calculator. Since then I've always been passionate about programming.
- When did you first become interested in Functional Programming?
I learnt mainly Java at school/university, not by choice but because every university teach Java in France.
Then I discovered a language that let me write Java apps but with a more concise and fun syntax, Scala! We call this writing Java++ in the Scala community. At that time I had not much of an idea what Functional Programming was, but Scala quickly exposed me to this way of thinking and designing applications. Since then I can't go back to any other paradigm!
So we can say that I landed in the Functional Programming world by accident!
- What’s your favourite functional language?
Scala of course! But like many Scala developers I have a good interest in Haskell, probably because Scala has been heavily inspired from Java and Haskell from which we borrow lots of concepts.
Scala has many advantages but if I had to tell only 2 points it would be:
- It's strong typing is helping a lot avoiding bugs.
- The grammar of the language is simple with few features that are very powerful.
- How do you stay up to date on all things functional and new technologies?
Twitter is a good way of being aware of what's going on in the Scala community, by following the technologies or contributors of technologies you are interested in getting updates.
I personally tweet my contributions, new releases and upcoming changes so that people are aware, can use them and ask questions.
I also check the Scala Reddit regularly.
- What is your current job title?
Scala Backend Developer
- Do you contribute to the community? If yes, how?
Of course! It depends on the spare time I have aside my work but I do many PRs in tooling projects like scalafix, scalafmt or SBT, because I felt the tooling needs a good push in Scala. I also currently contribute a lot to Kafka Streams' Scala API which will be released soon in Kafka 2.0. And last but not least, while working at DriveTribe I launched this really innovative project called Orkestra, which is a Functional CI/CD in Scala running on Kubernetes. It brings all what we know about Functional Programming to the DevOps world. You can use Tagless Final to do your DevOps!
- Have you been to any conferences? What is your favourite? Or if not which one would you love to go to?
Because I'm based in London I went a couple of times to the Scala Exchange.
I'd like in the near future to go and speak about my contributions, Kafka and Orkestra.
- Do you have a favourite speaker?
I quite like how Jullien Truffaut is able to walk the audience through a journey from a solution to a better one, going through all the baby steps that our mind will understand within 30min.
- What advice would you give to someone looking to start a career as a software developer?
Understand the origin of technologies and why they've been created, it helps understanding what problems they solve.
Look at what's going on in the community, discuss with the other users and contributors, it helps understanding where the technologies are going forward.
Something complex is only the assembly of simple things, so break your problems into small and easy baby steps.