Conversations - Catarina Bombaça - Go First Impressions and Learning on The Job

Conversations - Catarina Bombaça - Go First Impressions and Learning on The Job

Hello! A few weeks ago I had an unplanned interview with Catarina Bombaça (LinkedIn). A Professional Go Developer, GopherCon UK 2022 speaker and someone who helped to host November Gophers @ SaltPay.

What’s an unplanned interview? One where we sort of just chat and see if we can unearth any interesting topics. I joked that when writing sometimes the “words find themselves”, but I guess we’ll see.

Intros

Catarina’s own experience in tech, prior to getting hired at Saltpay, involved enrolling in Harvard’s Introduction to Computer Science (a free online course that teaches an array of computing concepts and languages), and a coding bootcamp (web development) while working at a management consultancy with ties to tech.

Yet, through all of that Go didn’t make an appearance. From my experience, I discovered Go merely by chance and then started looking specifically for Go roles. However, with Go entering its teenage years and its adoption continuing to grow, Catarina’s experience of Go already being an established part of a company, will become more common.

First Impressions of Go

Catarina didn’t know Go before joining Saltpay, but she had a heads up that she’d be using it on her team.  So she took it upon herself to have a Go with it in the month before starting her position by looking at introductory tutorials and other resources online.

At first Catarina didn’t quite get Go, but began enjoying the typed nature of the language. Her fundamental experience was with JavaScript and, to her, that syntax felt more like reading and how you speak. She found that Go had a similar straightforwardness about it.

Enter TDD

Enter TDD (Test Driven Development). Catarina was on Chris James’s (Twitter, Mastodon) Team who is a known advocate for TDD and has an entire book called Learn Go With Tests that is freely available online.

She joked about perhaps being ‘indoctrinated’ into TDD as she now feels more comfortable writing tests before starting any coding. In fact, her first official professional commit written in Go was a test!

Learning on The Go

Within her company they’ve created learning paths for engineers. Depending on what team you’re on and what language you’re using, your learning path will be different. These paths cover multiple languages such as Go, Java and Kotlin and other engineering topics.

There are also optional learning days that occur once every two weeks where you can decide to research/study any topic and then do a lightning talk about it at the end of day.

Perhaps this is a very common thing, but I haven’t encountered it in my career so far. I think having a level of accountability could help with motivation to actually try to learn something. Like having a gym partner.  

There could be an argument that knowing you're going to have to present something could be a bit intimidating, but I think developing those people skills is rather important, especially as an environment of your peers is a rather safe one to do it in, in theory.

Lessons in Learning

Go isn’t the only focus in software engineering, regardless of how I feel. I asked Catarina about what she’s learning now and what her strategies were. She mentioned having a bit of trouble with SQL and Kafka, and so used the aforementioned learning days specifically to deep dive into those topics.

However, there was one mistake she made that she advised against in the future: focussing only on the theory. At first she mainly read articles and listened to talks, but it didn’t seem to translate to actually doing a ticket that involved those topics. It was still a struggle.

What has changed is she now compliments her reading with smaller projects to implement the theory. This has been more helpful and made her lightning talks a bit more engaging to put together and present.

Takeaways 🍜

Alas, we’ve reached the end. However, I want to break down some of my takeaways from this conversation.

  • The straightforwardness and simplicity of Go could help with its adoption as it matures into a ‘first-choice’ language for those new to tech.
  • As a company, I think it’s worth it to invest in those who are less experienced. Catarina mentioned ‘Culture is Key’ for these things. There are benefits in learning how to teach those within your company effectively. It can lead to them flourishing within their roles and allows for more flexibility in hiring.
  • When learning, it may be best to mix both the academic and the practical. A balance of both could lead to a greater overall understanding and mastery rather than relying on just one.

Thank You, Catarina!

Thanks again to Catarina Bombaça for the unplanned interview! It was a wonderful chat and now I need to face the challenge of coming up with a title. Until then, have a good one everyone!

If you’re interested in reading more chats and conversations, why not check out the Go: Around The World Series?
You can also follow me on Mastodon for any new articles or updates.