Enabling applications to really thrive (and not just survive) in cloud environments can be challenging. The original 12 factor app methodology helped to lay out some of the key characteristics needed for cloud native applications, but as our cloud infrastructure and tooling has progressed, so too have these factors.
Recently, Grace Jansen (Developer Advocate at IBM) and Yasmin Aumeeruddy (Software Developer for Open Liberty) stopped by Brighton JUG to talk about the extended and updated 15 factors needed to build successful cloud native applications, and shared some of the open-source technologies and tools that can help to achieve this. In case you missed it, you can watch their talk here.
We caught up with Grace and Yasmin following the event to learn a bit more about them, their career path, advice for aspiring developers, and what inspired their talk.
Can you tell us a bit about you and the work that you do?
Grace: Hi, I’m Grace Jansen and I’m a Developer Advocate at IBM. As a Developer Advocate my role is pretty varied – I get to do a variety of activities ranging from coding sample and demo applications, to creating tutorials and workshops, to authoring articles, blogs and sometimes books, and presenting to developers all over the world at international conferences. I work mostly with cloud-native Java technologies and often projects and technologies that are open source, including Open Liberty, MicroProfile and Jakarta EE (some of which we covered and used in our presentation at Brighton JUG).
Yasmin: I’m a graduate software developer at IBM, currently working on Open Liberty with the MicroProfile team. I have had experience with dev advocacy but my work now is mainly backend development as I’m developing a new feature for Open Liberty!
Have you always been a techie or have you taken a slightly more unusual career path?
Grace: No actually, I came into the world of technology from a slightly more unusual route. I’m a biologist turned technologist.
Although I’ve always been interested in technology, having completed a work experience placement at IBM when I was 13, coding wasn’t something that was available to me at school. So, I continued to code as a hobby but instead pursued the sciences in my education, completing a Biological Sciences degree at the University of Exeter. Whilst there, I was lucky enough to get the opportunity to learn to use Python and R to do statistical modelling for biological systems and models, and soon realised that it was the coding I enjoyed more than the biology. So, I did a summer internship at IBM in my penultimate summer and then joined IBM again as a graduate 5 years ago.
Though I did switch to technology for my career, I still like to utilise my unique background and biological knowledge wherever I can in my work as an advocate. You may be wondering how I’m able to use the two together? Well, I often turn to mother nature and biological systems to provide useful and tangible analogies for abstract and often complex software patterns and architectures. It can really help to ground these abstract concepts and provide developers with a memorable and relatable analogy to better understand and grasp these ideas.
You can check out a couple of examples of these analogies here:
Yasmin: I would usually be found playing computer games as a kid or fighting with my brother over a controller so it’s safe to say I have always been a nerd. I learnt to code when I started my A Levels and then studied computer science at university, so my path hasn’t been unusual.
Is there a moment that helped define your career?
Grace: When I first joined the world of technology as a career, I experienced major imposter syndrome. Something many of us experience throughout our careers. I had been thrust into the world of Java, having never even heard of Java or object orientation programming before. It was a very steep learning curve and one that seemed pretty daunting. I questioned how I was ever meant to learn everything about Java, given that it’s even older than me, and how I could possibly help anyone in this space given my lack of experience and unusual background.
However, it was through this questioning that I came to the realisation that it was precisely these qualities about me that made my perspective interesting and enabled me to help others through my work. The fact that I didn’t have 20+ year’s experience working with Java or cemented in applications that used older technologies left me free to learn with a fresh mind and question things in a new way. I also realised that my biology background could enable me to present many of these concepts in a different, memorable manner.
In 2019, through the help of mentors and the wider Java community, I had my first talk accepted at the Java conference Jfokus in Sweden. In this session, I used the analogy of bees and their social structure to explain reactive systems and architecture. It was a great success, being accepted at many more events and gaining great feedback from the developer community. It was this moment that helped to define my career as a developer advocate and embrace my differences to further develop my career and open up new opportunities.
Yasmin: The first time I fixed a bug at work that I was stuck on for days made me feel like a genius and rather silly… Now I always check for semi colons.
What piece of advice would you give someone entering this industry?
Grace: “Never let the fear of striking out keep you from playing the game”
I love this mantra. It’s a little cheesy, but I think the message it portrays is important and poignant.
Often people pass up opportunities, whether that be to present at some event or a promotion or an award or really any manner of things, because they don’t feel ready or qualified or deserving of it. Or perhaps they feel like they’d fail if they tried. However, it is this kind of mentality that prevents people from stretching themselves, gaining new skills and achieving their potential. I think this can be stereotypically true for young females in technology and really anyone who perhaps feels they don’t fit in in their chosen industry or career path. We all need to believe in ourselves a little more and really take advantage of opportunities when they arise, or even be proactive and seek out our own opportunities.
Yasmin: Hard work really does pay off!
What was the inspiration for your recent talk? Any key highlights or takeaways for anyone who missed it?
Grace: After exploring more on application architecture and the 12 factor app methodology, I came across an article on the 15 factor app methodology. Given how quickly technology progresses, it made complete sense to me that the 12 factor methodology probably needed a refresh and additional factors added. It piqued my curiosity as to how we could utilise the functionality and APIs offered as part of the open source cloud-native technologies I’d been using (e.g. Open Liberty, MicroProfile, Jakarta EE, etc), to create an application that enabled these additional new factors: API first, Telemetry and Authentication & Authorisation.
That’s what we cover within the session – what the 15 factor app methodology is, specifically focusing on the additional 3 factors that have been added, and how they can be enabled in cloud-native Java applications using open source frameworks, tools and technologies. We then demo-ed how developers could try out these technologies through our browser-based sandbox development environment and the Open Liberty interactive guides.
Yasmin: Building cloud native applications may sound like a lot of hard work at first and the choice of technologies can be quite overwhelming. The talk aimed to highlight what developers can gain from building these types of applications and introduced some open-source technologies that would make development less scary!
What’s your big tech prediction for 2022?
Yasmin: The use of quantum computers seems to be an exciting movement that’s picking up right now! I think a lot more industries will start using them.
And finally, Silicon Brighton wouldn’t be here without people like you giving back to the community so… what does the word community mean to you?
Grace: The word community means to me, a supportive and welcoming group of individuals drawn together by one or many common factors or interests.
Yasmin: To me, community is the opportunity to learn from others and share what we’ve learnt ourselves.
Anything else you would like to share?
To find out more about Open Liberty and why cloud-native Java developers love it, then check out our article on this here.
To find out more about the 12 and 15 factor app methodologies and which open source APIs and technologies can be useful for each (as well as helpful links to related interactive labs on the Open Liberty website), check out our two articles on IBM Developer: Beyond the 12 factors: 15-factor cloud-native Java applications, Creating cloud-native applications: 12-factor applications.
Missed Grace and Yasmin’s talk at Brighton JUG, or want to watch it again? Check it out here…
Working hand-in-hand with Brighton’s tech community, we run a range of free meetup groups that cover a broad spectrum of specialist areas; from marketing to programming, product design to data. Check out what’s coming up here and join our community of like-minded individuals in the local tech scene!