The Stack Overflow Podcast

Improving the developer experience in the energy sector

Episode Summary

On this sponsored episode of the podcast, Ben and Ryan talk with Abhai Bhargava, Native Software Engineering and Experience Design Capability Centre Manager at Shell. They discuss how Abhai and his team use software in their business, dive into the software behind the world’s second-largest electric vehicle charging network, and speculate on what the most energy-efficient programming language might be.

Episode Notes

Software might not be top of mind when you think of an energy company like Shell, but software engineering powers a lot of what they do. The tech stack includes React, Golang, Python, GraphQL, MongoDB, Kafka, and the list goes on. The experience their developers have at work is a priority for the organization and its leaders. 

Episode notes:

Find out why others have joined Shell

If you want to experience what being a developer at one of the world’s largest energy companies looks like, they’re hiring.

You can connect with Abhai on LinkedIn

Congrats to this episode’s lifeboat badge winner, CertainPerformance, for their answer to 

Convert different strings to snake_case in JavaScript

. You saved the question and got some shinies for your profile. 

Episode Transcription

[intro music plays]

Ben Popper Hello, everybody. Welcome back to the Stack Overflow Podcast, a place to talk all things software and technology. I'm your host, Ben Popper, Director of Content here at Stack Overflow, joined as I often am by my colleague and collaborator, Editor of our blog, maestro of our newsletter, Ryan Donovan. 

Ryan Donovamn Hey, Ben. How’re you doing today? 

BP Good. So we have a sponsored episode today from the folks at Shell, and I think people will probably be wondering what an energy company like Shell is doing on a software podcast. We're going to get a chance to talk about that as well as some of the technologies and the tech stack that they're focused on, some of the practices and principles they have around software engineering, and some of the projects that they're working on as part of the energy transition. So I'm very excited to welcome to the program Abhai Bhargava, who is a Capability Center Manager working on native software engineering and experience design at Shell. Abhai, welcome to the show. 

Abhai Bhargava Thank you, Ben. And thank you for having me here.

BP Oh, my pleasure. So tell me a little bit for our listeners, how did you get into the world of software and engineering? 

AB Yeah, sure. So I'm originally from India and I'm an engineering graduate from Indian Institute of Technology, and then did an MBA from Oxford University. I started my career with a software consulting company called Infosys in Bangalore as a software developer and worked in various roles as a tester, business analyst, technical architect, release manager, development lead, and so on. I moved to the UK and from then onwards I worked with various customers across different sectors like financial services, telecoms, et cetera. From there on, I moved to Accenture, again, similar type of roles, very technical and led large projects and programs there as well, with very large financial services and telecoms clients. And then I came over to Shell back in 2005 as an Integration Lead within our sort of downstream services. And within Shell, again, I have always been involved in the digital and IT space across different lines of businesses: mobility, retail, innovation, all of that. And currently, as you mentioned, I am looking after native software engineering, and one might ask what that is. That's pretty much full stack developers and experience design, which is product design, service design, copy, content, et cetera. And anything related to custom software development across multiple lines of businesses comes from my team, which is comprised of 500+ talented leaders and practitioners across the globe who are working very passionately towards our ambitions of net zero and energy transition. I do have two other roles in Shell. I am an Innovation Hub Lead for the UK, and I also look after everything related to recruitment for software engineering globally. And outside of Shell, I'm involved as a professor teaching engineering students over the weekend remotely at a top engineering college in India. And I am also very passionate about giving back to the society and community, which is why I'm a director and a trustee in a local charity which deals with the families in distress and helps them, based out of South London. And on the personal front, I’ve got a lovely wife and two daughters. That's me.

RD Amazing.

BP Cool. Yeah, I think our audience will be a little bit familiar. Our CEO was also born in Bangalore, and I know that the podcast and the blog have a ton of listeners and readers from India, and especially from that city– it being sort of the IT mecca of India. 

RD So as Ben mentioned at the top of the episode, Shell is an energy company, but we're a software podcast. So can you tell us a little bit about what Shell is doing in software? 

AB So currently, and maybe for the last few years, the focus of the entire world has been to move towards more renewable, cleaner, greener energy, and to enable that and what is known as energy transition now and to go towards net zero goal. The enablement of all of that is through software development, whether we look at things like access to electricity or energy, or making it cheaper or more accessible to people, making it sustainable. With all of that, the impact of software is everywhere. And the programmers and designers in our group literally work through different types of things, whether it is helping people to find Shell fuel stations or charging points, making payments using mobile apps, or using various devices and applications to manage large fleets, selling products, and the story just continues to our own operations of how to reduce our own emission, and all that is possible through software development. And we are not stopping there. Even within that, we are going to a point where we are trying to write software which is greener, so we are part of Green Software Foundation, and it deals with writing programs in languages that consume less energy. And it's a big topic in itself and I am very passionate about it and there are several others within the group who are very much looking into it. I think the other area which is very much a focus area is e-mobility, which is electric vehicle charging, and how do we enable that, make it more accessible, but equally cover the end-to-end services through software development. 

BP Yeah, the Green Software foundation's super interesting. Lots of great folks on there from Microsoft and UBS and ThoughtWorks and GitHub. And it is interesting to think about, because I've read that as we continue to move towards a world that is powered by software, the data centers and the compute that runs can be quite energy intensive so finding ways to do that in a greener sense seems like an intelligent thing to do. At least with part of the time that you're working on the software, you’ve got to be thinking about the software itself. So let's talk a little bit about how you had a journey, as you said, from independent contributor, developer tester, up to manager, now holding three roles, I don’t know if you get three salaries, but recruiting and innovation, and –no, you're shaking your head– and also overseeing sort of the way folks approach technology. What are some of the key things that you try to pass on to the teams that are working for you? I know before we came on the call that one you mentioned was reusability for software components across a big company like Shell. Tell us a little bit about sort of your view on that and how you try to promulgate best practices within a software engineering group. 

AB Yeah, and you mentioned three salaries. I think I would say it's probably three times the fulfillment. That's more important to me. Of course, money is important to everyone, but I think getting fulfillment out of your job and making a difference to the company, to the customers, to the society at large is very, very important to me. 

BP Okay. Well, three times the karma then, we'll say.

AB Coming to reuse, in terms of how we enable our practitioners and leaders, inner source is one topic, which is open source for organizations within the organization itself. And this is a very, very big topic and a high priority for all of us within Shell, where we are trying to ensure that any component that one particular group or area develops can be reused by others, and make it reusable, make it a scalable, performant, secure, all of that. Stack Overflow is another such topic where we are trying to bring all of the knowledge into one central depository, so I call it ‘Google within Shell’ in that sense. And then the team members, they themselves come up with various and very clever ideas around using automation, or hyper-automation I would call it even, that has been used. So anything that could be automated is automated, and ensuring that we improve not only the lives of our customers, but also our own colleagues by minimizing rework, and several tools are used there. For example, we have got a framework that is used inside the company where some of the ‘basics’ I call them, like security, quality aspects, et cetera, are already clumped in that. All the design assets, the pictures and images that you can see in most places, single sign-on, et cetera, are already embedded in that framework. So you want to spin up a new app? You use that framework and all the components come by default to you. And then on top of that, if something gets improved by the central team, you get benefited automatically through that. How cool is that? 

RD That's pretty cool. I mean, I know we've talked to other companies or folks talking about how to remove the sort of boilerplate coding, and if this seems like it's going to be the same thing, you’re implementing the same single sign-on and security practices, that's a great time saver.

BP Yeah, for sure.

RD I want to jump back to something you said earlier about using the most energy efficient programming languages. Is there a specific language that's particularly energy efficient or is it sort of how you use it? 

AB So it's a mix of both, Ryan, I would say. So C, Rust, et cetera, are primarily used a lot nowadays. And previously the design consideration was more around performance, et cetera. Now I think being green is very, very important to us. Of course, security is another big topic. So some of these programming languages like C and Rust, which were not probably so prominent previously, are very prominent in our design consideration. And some others which were very prominent previously take less prominence in certain scenarios. Again, it is dependent on case by case, and it is also driven by a lot of, I would say, research and experimentation that is going on in the industry, and we are a partner in that. So contributing and also benefiting out of it.

BP Nice. So what's an example? Let's take a project that you're working on that kind of fits this mold, something where it has to be cross-disciplinary, where it has impact in the real world maybe with energy transition, but where it's also heavily reliant on the work of software engineers?

AB Yeah. So I'll take an example of EV charging, where end-to-end services are provided by our softwares and things range from finding nearby charge points. Even on the charge point itself, how do you manage and optimize the usage of that charge point? How do you manage large fleets if you have multiple cars, drivers going on B2B services, how do you ensure that they are charged up? You utilize the grid capacity better. Things like loyalty schemes are introduced– digital loyalty schemes. Payment processing, how do you link it with even greener energy like wind and solar energy to make it even more green? So that helps a lot. And there I think what we are doing is that we are using really the latest and greatest in the technical stack perspective. So for example, React for data visualization, then Golang, Python, GraphQL, MongoDB, Kafka, New Relic. I mean, the list goes on. And that just helps us to scale, which is sort of the need of the hour here. 

BP Yeah, that's interesting. You just namechecked a bunch of languages which are often among our most loved in our annual developer survey. What is sort of the size of the impact here? When folks think about this, obviously Shell is a global company, when you talk about something like EV charging, what kind of scale are we talking about and what's the sort of aspiration for that energy transition? 

AB Yeah, it's a fast moving one, Ben. And what we are trying to do is, from a software development perspective, introduce as much as possible the latest tech stack so that we can scale with the business and customer demand. I mean, we are talking literally the sky is the limit kind of setup, and hence using the latest patterns like micro front end architecture microservices will help us ensure that if the demand goes as per what the industry is looking for– hundreds of thousands, we can scale out very, very quickly. Our own people, I think they look at very clever ways of how you containerize stuff and create microservices and so on. And even monitoring and data analysis is a big topic where people are analyzing the data to come up with more and more performant applications. 

BP Yeah, that certainly sounds like there's sort of a wealth of different things if you were a software developer and interested in that you could apply yourself to. And microservices and containers, Ryan and I have been on at least 50 episodes, so definitely often a topic of conversation. But I think I even have experience with this in my personal life. During the pandemic I moved from the city to the country. I was able to get a hybrid car that has a battery and a fuel engine. And most days I don't drive 40 or 50 miles, I drive less, so I'm always on the battery. And a lot of folks around me have solar panels now because I don't live in the city, I live in a place with a lot of room. And one of the things they care about, to your point is Abhai, is what's the smart way to do this consumption? When do I put stuff into the battery? When do I take stuff from the grid? When do I give stuff back to the grid? And that becomes sort of a holistic benefit, not just to us, but to everyone in the area and to the energy company, to the utility provider that we're working with. 

AB Indeed. 

BP So we've talked a little bit about the thing specifically you're working on at Shell, but you mentioned at the beginning that you do a lot more than that. Can you tell us a little bit about what it's like to work as an academic and how you sort of fit that in with your schedule? I think a lot of folks who are listening are familiar with trying to balance maybe their job and an open source project, but how do you balance being a manager of a large IT organization and then also being a teacher? 

AB Yeah, so that's one of my passion areas. And I should mention this, as an organization, Shell encourages and supports these kinds of outside of work initiatives, so it's very well supported by the company. I do it over the weekend. It's very, very fulfilling for me as a professional, as an individual to interact with very bright students from the college and talk about what impact they are trying to make in the industry. So the projects that we do are trying to solve problems near the college itself, so improving the quality of water, and how do you use software to help in analyzing the data and so on and so forth– just an example. And it is one of those things which I would say that, as an organization, the company also helps us to think outside of our day job, wherein I am able to contribute back to a college whilst working full-time in Shell. 

BP Cool.

RD I'm curious, since you have the contact with the students, what technologies are they most interested in learning about?

AB So if I have to take one or two examples, I think Python is the one that comes up a lot. Now I am also explaining to them the green software aspects and so on which they are very, very curious about, which is very, very good to see as well from my perspective. But Python is one that I would say, Ryan, is the most sought after from a student perspective.

BP Yeah, that really rings true with us. By the time this episode comes out, we'll have released the results from our developer survey, and I believe Python has climbed the ladder in most-loved languages or most-used once again. 

RD It's big on the data science and the machine learning, so.

AB Indeed.

BP Yeah, exactly. And now it's built right into ChatGPT, so you can go in there and mess around. They have a little Python interpreter right in there if you want to try to make code. I sat down with my kids the other weekend and we whipped up Snake and Pong in less than 10 minutes, so it was pretty fun. So one thing you mentioned was inner source, and we're talking about the developer survey. Abhai, you had mentioned when you and I first met that you actually tried to use Stack Overflow inside the company. I'd be remiss if I didn't get you to plug our stuff. How do you encourage folks to use Stack Overflow inside of Shell?

AB So I think it's slightly similar which is why I called it ‘Google within Shell.’ It’s similar to how Google has become sort of part and parcel of everyone's life. So you open a computer, a mobile device, if you have to search, that's where you go. Inside the organization, how Shell IT can work for you as a developer, as a designer, et cetera, how do things work, how do you make things more secure, where do you go for certain pieces of information, all of that is being introduced within Stack Overflow. We do have a mechanism to ensure that people are recognized who are contributing more or helping others. It's also a mechanism where if you are helping others, you are actually making a contribution to saving cost and time for the company and for your peers and colleagues, and that is very well recognized by us. So it is one of those things which is why I mentioned it as one of the things which we use in a loose meaning of rework, I would say, or avoiding rework, rather.

BP Yeah. I think we've talked about this internally at Stack Overflow, that idea of inner source, and we call it ‘knowledge reuse,’ kind of what you're saying. If somebody knows the answer, let's make sure it's easy for everybody else to find and for them to sort of be able to get on demand without having to tap that person on the shoulder and take up their time, which is really cool. So the last thing I wanted to touch on, you mentioned the academic side of things, but then also you said that you work at the UK Innovation Center. Can you just tell us quickly a little bit about that and what comes out of that that you're able to use for work or for life? 

AB Yeah, so that I think in one word I would describe as disruption. So we are trying to introduce as much disruption as possible. Slightly also going off limits around whether or not it is related to energy or not, I'll give some examples from the past where I think things like blockchain and so on, Metaverse is another one, ChatGPT is another one, you mentioned ChatGPT. Looking at those topics before they become widely used and see what does it mean for us as an organization, but also for our customers, sometimes also as an employee as well, and finding use cases, also having partnerships with other organizations, also looking at maybe bringing on kids from other schools, et cetera, to look at some of the innovative stuff and get inspired. So that's probably also one of the things that I really love about my job in that sense. 

RD We talked about the software engineering that y'all do. Can you give listeners a sense of the scale? How many engineers, how big is this? 

AB Yeah, so I think I would say that we are talking about more than a couple of thousand software engineers, Ryan, and the range is very, very wide. I think any programming language, any sort of tech stack or design pattern you can think of, we do have very clever people working around those and solving very complex business problems. 

BP Right. And if folks were interested in learning more or in considering what the opportunities are like, where could they go to learn more about something like that? 

AB I would highly encourage everyone to go on shell.com/careers to learn more about the open positions. Whether or not you are curious about energy transition, I think I would still encourage you to go there. And if you want to know more or discuss any topics that are mentioned here or otherwise, please do reach out to me on LinkedIn.

BP That's a good idea. We'll be sure to throw it in the show notes and folks can reach out to you personally.

[music plays]

BP All right, everybody. It is that time of the show. We want to shout out someone who came on and shared a little knowledge, helped folks around the world to get an answer and become unblocked. Today, a Lifeboat Badge was awarded to CertainPerformance, giving us an answer to the question, “How can I convert different strings to snake_case in JavaScript?” CertainPerformance, thanks for the answer and congrats on your badge, and you've helped over 15,000 people. I am Ben Popper. I'm the Director of Content here at Stack Overflow. You can always find me on Twitter @BenPopper. Reach us with questions or suggestions, podcast@stackoverflow.com. And if you like the show, leave us a rating and a review. It really helps.

RD I'm Ryan Donovan. I edit the blog here at Stack Overflow. You can find it at stackoverflow.blog. And if you want to reach out to me, you can find me on Twitter @RThorDonovan. 

AB Hi, this is Abhai Bhargava, Capability Center Manager of Native Software Engineering and Experience Design at Shell, and you can reach out to me on LinkedIn.

BP Awesome. All right, everybody. Thanks for listening, and we will talk to you soon.

[outro music plays]