Empowering Developers With Grace Jansen – Techstrong Unplugged EP4
When working in a development team, it can be scary to voice your opinion or ask for help. Grace Jansen emphasizes that there is nothing to lose by trying. Coming from a background in biology, she also talks about how technologies like cloud development and Java can feel daunting, but that learning developers can approach these challenges in bite-sized pieces.
Transcript
Hey everybody and welcome back to Techstrong Unplugged. This is episode four of our series and I'm your host Atan Solomon. Joined by my amazing co-host, Cassandra Chen on Techstrong Unplugged, we dive into all things tech and get people up to speed with everything happening across the industry.
Recently, Cassandra went to Dev Nexus 2024 in Atlanta. Cassandra, tell us a little bit about that. I think it was a really great experience.
The people there were very enthusiastic about technologies and for me the highlight was I gave a keynote there to kind of teach parents how they can teach their kids how to get into technology. 'cause these developers have kids so, and they want them to do the same career paths that this them. Awesome.
So at DevNexus, Cassandra also sat down with Grace Jansen, who is a woman of the Future Award winner and tech women 100 winner. In this interview, Cassandra and Grace talk about the importance of voicing your opinion within a developer team as well as Grace's unique background in biology. Cassandra, what were your thoughts on the interview?
I think Grace really speaks from the heart when she talks about how to manage working in developer teams. Like she really talks about how to voice your opinion and that's actually really difficult for a lot of us. But she says there's really not much you can lose, so you should just do it.
Awesome. Well, without further ado, let's head over to Devex. Welcome back to Text on Unplugged.
I'm your host Cassandra, and today we have Grace. Hey, It's great to join you. Thank you so much for having me.
Really appreciate it. Can You do a small introduction? Yeah, of Course.
So, hi, my name is Grace Janssen. I am a developer advocate at IBM based in the uk. Um, and I develop, um, I'm, I'm sort of advocating for any technology that we help to develop, whether that's open source or proprietary in the Java space.
Um, I love all things Java. Uh, before that I had a bit of a weird route into technology. Um, I actually started with a biology degree mostly in fish, which hasn't really come in that handy in my day-to-Day job.
Uh, but it has given me a unique perspective coming into software engineering, the world of cloud native and Java Technologies. Did you have an interest in tech even before you decided to go through a tech career? Yeah, Um, so actually when I was going through school I didn't really have the opportunity to study computer science or study sort of programming languages.
So what I did was I started learning Python when I was just coming outta school. Um, I actually took part in a robotics competition where we were programming a home-built robot to try and recognize QR codes and pick up boxes and move them around an arena. It was really good fun but I couldn't really pursue it any further.
Um, and I didn't want to go into university to do a subject that I'd not really studied before. So I decided to do biology 'cause I really enjoyed it and I thought actually you learn a lot of applicable skills in the sciences. Um, and, and there's a lot of applicable skills that can be applied in software engineering.
Uh, so I actually continued learning, uh, programming languages on the site 'cause I, again, I still had a passion for it. I still was interested. Uh, and then I went to join IBM after I graduated.
I feel like there's a lack of computer science courses in high school. Yeah, I would agree with that. Um, I mean when I was at, I think it's improved now, but when I was at school the extent of our, it was his an Excel spreadsheet, this is how you use notes, you know, that kind of thing.
It wasn't like his job or his python, you know, the stuff that really is software development. Um, and I think that has been improving. So I've seen some Python courses in high schools, um, and even at sort of middle school and elementary school we're starting to see things like scratch programming languages coming in to teach those core concepts, which I think is fantastic.
Opening up children's minds to the world of software engineering. I think it's much better now. There's a lot more computer classes in high schools, but still not a hundred percent there yet.
Yeah, I would agree there's still room for improvement as there is with anything, but um, I'm at least glad we're going in the right direction. I agree with you. Yeah.
So through your path of deciding to do computers, how was your journey? Huh? It was challenging, I have to say because coming in, so coming from biology, I didn't just have to learn Java.
I didn't know anything about what's a container, how does a class work, what's a factory? You know, the basic things in not just the language but also in this insanely fast changing landscape of moving from sort of more monolithic traditional applications to cloud native applications. So it was a huge learning curve, but the nice thing is, is that I had a huge amount of support from the people I was working with, um, and from the community in really getting involved in this community, getting involved in the Java language and, and giving me the time and the space and the support I needed to be able to learn all of that.
How do you describe like monolithic applications? The difference between cloud applications? Okay, so when I say monolithic applications, what I'm really sort of referring to is what we maybe once used to develop or maybe have in some of our older applications where we've got a large sort of mass of codes and it's all together and none of it's really broken apart.
And normally we deploy it all as this one massive mass. And that worked well when we were deploying on our own servers, um, you know, on our own environments locally. Um, and when we were doing, you know, waterfall style development when we were releasing maybe once a year, but now we've moved to the cloud, you know, we're having to deal with the fact that we need to deploy much more frequently to be able to actually, you know, get the changes out that we need to see to get the innovation that's coming so quickly into this environment.
So cloud native applications tend to be smaller, tend to be things like microservices or even functions and serverless. Um, and so they're broken down into much smaller chunks. And what that means is that we can just update those chunks instead of updating the whole thing to be able to easily deploy it into the cloud.
Um, so that's generally what we mean by the difference between the two. So why does deploying it faster actually matter? Isn't it better just to have a whole chunk of application?
It's perfect. You send it Maybe. So that's the thing is, is there isn't a right answer here because sometimes if you have a very small application and you don't need to update it very often or maybe it's small enough that actually it's as big as say a huge company's microservice, a monolith might be the way to go because as you see it works perfectly.
It can be shipped easily, it's relatively like small as it as a individual monolith. So I'm not saying that microservices are the way to go for everyone because that's definitely not the case. There is a huge spectrum of architectures and we all fall somewhere on the spectrum, but it's up to you to work out, okay, what is the, what are the needs of my individual application?
But not just your application, your team and your company as well. 'cause if you are not set up to be able to enable quick deployment, like you say, if you haven't got the need for that, then maybe a monolith is for you. So it's about choosing what's right for you and figuring out do I need quick deployment?
Do I need to be able to separate out those functions into microservices? Maybe you don't. I'm not sure if we always get a choice 'cause we join a team and they already have the program they're working on.
This is true. But there's always sort of the nice thing about software engineering, I think at least my experience is that there is always the opportunity to be able to voice your opinion and have it heard. Now as a new developer you might be thinking, oh, but what if I'm not right?
But you are learning things at university and at college and at and at school and and in your own time that people in the company might not be aware of. So it's always worth voicing your opinion to say, actually I've seen a best practice that looks like this or I know about this technology or tool and I think it can help your application. So bringing your voice to the table might be the difference between making your application go from great to amazing.
So it's always worth bringing that to the table and, and just seeing what your sort of, um, more senior peers might think about those ideas and, and voicing that, I think voicing our opinions is one of the hardest challenges that new developers have. Yeah. Do you have any like advice?
Like how do you catch the person who do you talk to? Yep. Um, so my advice would be be don't be afraid.
The worst thing that can happen is they say, actually I don't think that's the best thing for the application. We're not gonna do it that way because of x, Y, and Z. That is the worst thing that can happen.
You know, by putting your voice out there, you might make it better. And it's about having the courage and the bravery to step forward and say, actually this is what I think might be better. And, and it's about taking little steps.
So you might start with someone, let's say a mentor or um, someone that you work quite closely with in the team and say, Hey, I thought of this idea, what do you think about it? So using active listening and and asking people that you are comfortable with and that you have a good rapport with a good relationship to really see. Is that something that I could take to more senior leadership?
And if that peer or that person is able to give you advice on, actually that's a good idea, but I tweak it a little to have this in it. Or actually, that's a really great idea, we should take it and if you want I'll give you support. So really it's about, you know, picking people you are close with voicing those ideas, having the bravery and the courage because there isn't really a a, a losing situation here because uh, the software engineering community is so supportive and collaborative that, you know, in general my experience has been really positive with bringing your opinions forward.
I'm really glad you had a positive experience with voicing your opinion. Yeah, it's been amazing that, you know, even coming from a biology degree, as I said, it brings that different perspective and you might not think, oh well I didn't do software engineering so I'm not qualified to bring my opinion to the table. But actually I was asking questions when I first started that nobody else was asking because I came in with this different point of view.
So even if you've come from an like an alternative degree or background or um, whatever it might be, voice that opinion because you never know. It might be something that no one else has thought of or considered. Do you feel that your opinion is heard in your current team?
Yes, for sure. Um, I have a fantastic team. I'm really lucky.
Um, I get to work with people from all over the world. So I'm actually here, so I'm based in the UK but I'm here obviously in Atlanta at this conference. And I'm seeing my colleague Rich who lives in Texas, my team leads in Malaysia, my manager's in Canada.
So it's like this huge diversity of not just thought, uh, but backgrounds and experience and it's this wonderful mix of everyone is heard, everyone is listened to, um, and everyone has the opportunity to be able to grow and learn from each other. So yeah. How Do you build relationships when everyone's so far away?
It's challenging, that's for sure. Especially 'cause for example, I've not seen my colleague Rich in about two years in person. Uh, but the nice thing is, is if if Covid has taught us anything, there he is, he is waving, hello.
Um, if Covid has taught us anything, it's that actually there's this huge plethora of tools that we can use online. Whether it be WebEx, whether it be instant messenger emails. You know, we, what we do actually in our calls is because we're so remote and we don't get to have that sort of, you know, tea time where we go get a coffee together or go to the water cooler and chat.
We plan it in. So when we're having our meetings, the first 10 to 15 minutes is just catching up because that's how you build that rapport. That's how you build that level of comfortability that you can actually have good discussions, good debates, and be comfortable in that environment, have that trust.
So most of the time, uh, a lot of the time in our meetings, rich and I will talk about, you know, what did you do today? How's the family? You know, how's the move you're doing?
So it's about building in that time to create those relationships in a more structured manner because you don't have the opportunity to do it in an informal manner when you're not in person. I think highlighting meeting workflows is important. 'cause a lot of times we feel like the schedule's booked from three to four, one hour we must talk about work and it's really just stiff.
Yeah, It is. And you go in kind of nervous and anxious and like, oh, okay, did I do the work that we gotta do for this? Whereas when you start with a conversation like a Hi Cassandra, how are you?
It becomes a lot more relaxed and and it becomes a lot less sort of formal and rigid and stiff. Um, and as I say, you build that trust, you build those relationships. I would definitely recommend everyone to start just with a basic hi, how you doing?
'cause it changes the meeting dynamics completely. So how are you enjoying the conference today? Oh, It's been amazing.
The buzz here is incredible. Um, it's so nice to have so many different topics all happening at once. Um, because you know, there's just a session for everyone, which is what's fantastic here.
I've been speaking to some people here. I mean this is primarily a Java conference, uh, but I was speaking to people earlier who were in my workshop and in the women in tech breakfast, which is a fantastic opportunity to meet other women in tech. So awesome.
If you're ever at a conference, look out for those. Um, but they, you know, they are no developers or Python developers or go or front end and they have sessions here. So it's really nice that we're able to welcome in people from outside of Java as well as reconnect with the Java community as well.
I think that's a really interesting perspective. 'cause when we think Java conference, we think every person we meet is going to be a Java geek. Totally.
Whereas actually a lot of developers now are polyglot. They might be full stack, they might be, uh, people who are just interested in Java, but actually they, you know, their day job as you say, not all of us get a choice. Their day job might be Python or go, but actually they have a secret passion for Java in the background.
So it's nice to be able to have that opportunity to really mix and have that diversity in conferences like this where the atmosphere is just incredible. And I think Java itself is daunting because it's a bit older than us. Oh, Tell me about it.
It's literally older than we are. So when I first joined, um, and I was thrown into this world, I was like, how on earth am I ever gonna be able to catch up when people have been coding in this longer than I've been alive? But actually it's about taking it in bite-sized pieces and really coming to terms with this imposter syndrome that a lot of us feel when we enter software engineering.
Coming to terms with the fact that you don't need to know everything, it's about what do you actually need to know? Because a lot of features that were in, say the first version of Java might not be in the latest version of Java because, you know, our infrastructure and our technology and our languages have evolved a lot over the last few decades or so and even the last few years. So it really's about taking bite-sized pieces, making sure that you don't feel too daunted or overwhelmed because we understand that it is overwhelming.
We've been there, we've felt that way. But, um, just taking a bite-sized pieces, focus on what you have to learn and, and be comfortable with not knowing everything because you can always ask someone else who might know that particular piece really well. So that collaboration that way.
I Love how you say just ask someone else. Yeah, Well like you can't know everything, right? So like for example, I know, uh, the product that I helped to work on is Open Liberty.
It's a, it's an open source cloud native runtime and there are elements of open liberty that I know really well, but there are elements that my colleague Rich knows really well. So sometimes if it's an element that I don't know as well, I'll go and ask Rich because that's what colleagues are for, right? You each specialize in say, a particular microservice or feature or function.
Um, and it's about working collaboratively to get that whole applicational system working as it should. I think that's one of the biggest challenges for developers. 'cause we think we're really competent and we can always write the best code.
Yeah. But you gotta remember that like you probably are really competent and you probably can write incredible code, but so can other people. And actually it's about relying on their expertise and, and their ability to, to produce amazing code, um, to be able to produce that whole system.
Because if we're all trying to do it individually, wow, we technology go slowly because it would take a long time to write a whole application. And I think people are surprisingly open to help. Yes.
Which is a nice thing. And I think actually the nice positive experience I've had is every time I've asked for help or said actually I don't know that, like, could you explain that a bit more? People are so ready and willing to actually help and explain and give you the time of day to actually help you build those skills and that knowledge.
It's, it's such a wonderful community. I would agree with that. Like I am like small and everyone's here so big, but if I ask them for help on a project I'm working on, they'll throw really good ideas.
Happily. Totally. And like even if for example, like I had some issues with, um, I was trying to use test containers for example, a few years back and it was the first time I'd ever used it and I got really stuck.
So I turned around to some of the test containers guys at a conference and was like, guys, like I keep getting this error message and I dunno where it's coming from. Would you mind? They spent an hour with me helping me go over it, making sure I understood, helping me fix the error.
It's just like people are so willing and, and, and so kind even Time. See they spent a full hour with you. Yeah.
That's really great. I know, right? And in a conference where it's busy and they've got stuff to do.
So yeah, the community here is incredible. Um, I would, if anyone's not been to a conference and you have one in the local area, make sure that you, you try and go if you can. There are often diversity tickets and tickets for sort of younger, uh, developers who might be new in their career.
So look out for those because conferences are a fantastic way to learn, to network and to gain those connections. So I think we covered a lot of good points today. Yeah.
Even so you came from a biology background, you're still here today with us. Yep. Yeah.
And you have a unique perspective you can actually bring, which no one else can. Yeah. And I hope that more people from diverse backgrounds, um, really come into software engineering and help us make it an even better place.
So thank you very much, grace. Thank You so much for having me. It's been great to join you all.
And Thank you for joining us with Textron Unplugged.
