Effective Interviews ⚡️ Rebecca Franks
Android DevRel Engineer @Google working on Jetpack Compose.
Welcome back to the Effective Interviews ⚡️ a series of written interviews with well-known engineers from the Android worldwide community.
Subscribe to get them in your email 📩
Today we talk to Rebecca Franks, also known as Riggaroo!
👩🎨 Rebecca is the Queen of graphics. She has an extensive background in this field and is currently focused on bringing all that knowledge to Jetpack Compose. She also works on animations. Before that, her remarkable work at GoDaddy Studio (formerly Over) made the app get featured on Google Play in different categories with an incredible rating. She also spoke at many events around the world.
🟣 Welcome to the Effective Interviews Rebecca! 👋 so nice to have you here.
Thanks for having me! I've enjoyed reading answers from others in the community and I am excited to dive into these questions myself.
🟣 When and how did you start with Android development?
I started in University, in about 2012 - took a course on Mobile development in which we were asked to make an app at the end of the course. I ended up creating a Scrabble game that you could play against an AI player. It was loads of fun and very laggy - but definitely had me intrigued as to creating apps because it felt so real in my hands. I even have an old screenshot of what it looked like!
🟣 You started your career in South Africa. How is the Android job market there?
I've been in the UK for a year now, so unfortunately I'm slowly losing touch with the local job market in South Africa, but my experience as an Android Developer in South Africa was great. I had plenty of challenging jobs, where the work is difficult and rewarding. The teams of mobile engineers are generally smaller which means you are not very specialised in your work - you are expected to do everything that the app requires. I learnt so much at DStv and Over (now GoDaddy Studio), my experience there definitely shaped the Android engineer I am today.
A lot of the jobs are for financial service apps such as banks or payment apps, so I was lucky to be able to work for the TV provider and Over, as those are roles that aren't as common. Overall, the community in South Africa is small and you will definitely come across the same people as you move to different jobs.
🟣 Your work at Over (now GoDaddy) on graphics looked remarkable from the outside. Could you tell us more about the challenges you faced there? Any feature you built that you’re especially proud of?
It was definitely the most challenged I've been in my career. I learnt so much in my time at Over, I joined with a very minimal amount of graphics experience, and had to ramp up to be part of the team that built the image/video editor in the app.
Honestly, I wasn't sure that I could do the work that was being asked of me, as most of the work I did before required very little mathematics or custom UI development, I was used to pretty standard UI components and form input type work. I was very lucky to join that team and the best part was being believed in - when I didn't believe in myself!
The feature I'm most proud of is probably the masking feature - the ability to erase parts of Text or an Image, and to be able to apply it in layers to create fun effects. It was challenging to build with so many different things to think about - such as being able to undo the operation, caching results and rendering masks.
There were many features like this in the app that really pushed my limits but I found so much reward in building them.
🟣 You seem to be a very creative person. How did you get interested in graphics? Did it require learning lots of Math? Is that something you were already good at?
I've always had an interest in making pretty things, and been a very visual person but at the same time, I loved maths in school. I chose to do computer science in university because I wanted to do a degree that had maths, but didn't want to do pure maths, accounting, or finance. I hadn't really done computer science at school - so it was a total shot in the dark as to if I'd really enjoy it. I didn't learn graphics in university (I regret this bit as I think it would have definitely helped me more).
Only at my previous job at Over was I really exposed to creating custom graphics and UI, which changes how you see the world, all of a sudden everything starts to look like a shader or a blend mode or a function of mathematics. Since then, I just want to dissect things I see on the internet and try to understand the maths or graphics behind it. I've still got a long way to go - I'm by no means a graphics expert. The more you learn, the more you realise you don't know.
🟣 I’m a lover of UI / UX. I think animations are great, but in my opinion, they need to be subtle, quick, and never get in the way. What are your thoughts on this?
I think there is a time and place for animations, and you are right, when they get in the way they can feel annoying. The best animations are ones you don't realise are animations or don't distract from the UI experience, for example a smooth transition between two states.
But animations are required to convey meaning, especially loading states - without any animation here, it can sometimes seem unresponsive and cause frustration. Similarly, jarring transitions between different states is also not a great user experience and can be shocking to a user.
🟣 You moved from South Africa to the UK to work at Google. Was it hard for you to adapt to the new culture and weather?
The weather, for sure I miss sunshine. It's been a cold year and I laugh at my optimism when we first arrived at the clothing I brought with me. We've since bought proper winter clothing which helps a lot, and having most indoor places being centrally heated also helps you to not feel the cold as often.
Getting used to the very big changes in sunset/sunrise has been interesting, I'm loving the late sunsets in summer here, it feels like you have a whole extra day after work - but when the sun is still shining at 10pm, you start to feel like you'll never see darkness again 😳
Culturally I wouldn't say there is a massive shift in that for me, I've been brought up speaking English my whole life and being surrounded by people who are all from different backgrounds, and my experience in London is very similar in that regard. There are plenty of different food options and loads of expats from all over the world. The only thing I'm still getting used to is trying to translate some of my South African-isms into British English, but that mostly makes for fun conversations.
🟣 You have worked with OpenGL and its shader language: GLSL. Sounds complicated. Can you tell us more about that? What resources would you recommend for learning OpenGL?
It is complicated - OpenGL is a cross-language, cross-platform application programming interface (API) for rendering 2D and 3D vector graphics. Android uses OpenGL and GLSL is the programming language you write your shaders in, which runs on the GPU. The shaders that you write are different from typical programming in that they generally run per pixel that is visible on screen, in a parallel way.
I wrote a whole blog post on the resources I used to getting started with OpenGL, hopefully it's still relevant!
🟣 Compose seems to play really well with Android graphics and animations. Are there any APIs you’re especially excited about and devs should be paying attention to?
I love the ability to set AGSL shaders in Compose. I showed how you can use it to create fun effects in your application in my Jellyfish blog post.
One other exciting development is LookAheadScope - Doris Liu has been working to make this possible in Compose and it unlocks so many great UI effects that some developers are already leveraging. For instance, Jaewoong Eum has created a library on top of it which is quite exciting!
🟣 You frequently share your interest in baking in social networks. You make me hungry 😆 what other hobbies do you have?
I love baking! It's one of my favourite things to do. I'm also getting properly into exercising more in any way that gets me moving (swimming, running, etc), this is mostly for health reasons and not enjoyment reasons, so that I can continue to eat the baked goods 🔄.
🟣 What advice would you give to your younger self, right when you were starting in the software development industry?
You'll never know all there is to know about all kinds of software engineering, and that's okay. Nobody does. The difference between you and the person you look up to, is just a few more opportunities to learn than what you have had so far.
🟣 If you could pick another Android dev to get interviewed for this series, who would it be?
Alejandra Stamato and Corey Latislaw.
🟣 Where can readers find you?
Basically mostly anywhere on the internet if you search for @riggaroo!
🟣 Thanks so much for sharing with us Rebecca 🙏 see you!
More interviews lining up already 🔥 if you want more, check all the interviews published so far 👇
If you like this type of content, consider subscribing to this newsletter and joining the other 1600+ people that read it every day 🚀
Jetpack Compose and internals training
The current course edition is already running and 🔥 SOLD OUT 🔥, but you can join the next cohort now and get access to the Effective Android community for life. All the details here.
Compose animations training
Last week I posted about how I loved Material 3 on Twitter. The tweet went viral🔥🔥
Why? Seems like many people find it especially hard to replicate the UI / UX seen in those fancy videos from the official Material Design guidelines using Compose. Well, it can be done, and I will teach you. Register for this course if you want to become a master of Compose animations. There is an early-bird price for the first 20 🏃♂️🏃♀️🏃