Ep 34: Linda Nichols Technical Specialist on Global Blackbelt team at Microsoft
Ryan Jones Q: How did you begin in the technological field? How did you pursue your career in Serverless architecture and cloud-native development?
Linda Nichols: I started in tech in 1999, helping my friend put together computers to make money for my living. I quit my art college studies halfway through, and then helped my friend in this world of computers. As I began liking it, I decided to try my luck in hardware and then moved on to software. I started my career as a Microsoft Access developer; I read a book; I learned VBA, I started building these different applications. Moreover, I figured out how to cooperate with SQL Server and started making web pages of my own, which fascinated me.
Later, I finished my art degree and also received a master's degree. With Microsoft Access, I was an enterprise Java developer for a while and then moved on to node JS. And then I found that amazing platform called Cloud, a place to deploy job apps. As a Serverless vision, I think that Cloud just became so much more attractive to developers like me. It made the Serverless and developer process appeal to me. As a vital member of Microsoft technologies, I am interested in other cloud platforms, how various companies are competing, and the Serverless ecosystem. As part of a Serverless Community where everyone knows each other, I have many friends there. There are GCP and AWS Serverless teams, and I am keenly interested in discovering what they are working on and how. I started my career from a non-traditional background, and now I am in a very traditional role at Microsoft. I am delighted to be in this role.
Role at Microsoft
Ryan Jones Q: That is a fascinating story. What is your journey from a nontraditional background to a traditional one? What is the role of the black belt team at Microsoft?
Linda Nichols: The black belt team is a team of problem solvers at Microsoft. We are a cloud-native team, focusing on this space of Kubernetes, Serverless, and a lot of open source tooling. We help our customers to use the Cloud in the best way possible for their applications. Our team includes developers; some people are more profound on the networking side, whereas others are on the app side. We also help to tackle weird problems. With my 20 years of tech experience, I am happy that this role fits my background. I also previously worked for an emerging technology startup, where it was our job to be CTO for hire essentially. We would advise various companies on tech, and later on, a lot of that advice became about Cloud. I came across a lot of exciting companies and problems along with the cool team members. So, I just had to learn random technologies or open-source tools or things that really supported Microsoft's blackbelt role.
I use various deployment platforms and applications like Twilio. When customers come up with their questions or errors on Twilio, I help them with my solutions in the Serverless or Kubernetes area. So, with an extra push in the journey, the problem is solved, and that is how the black belt team remains the problem solvers at Microsoft. It is an extraordinary tech journey with all sorts of things coming up together.
Ryan Jones Q: What have been some big takeaways from that role? What have been some lessons that you've learned in helping many clients?
Linda Nichols: I have learned a vast number of lessons. I tend to look at everything from my customer's perspective when I get calls from them. I dig out more information on where people are coming from, who they are, and what they are like. I find out what everyone's development background is, how they are comfortable with the Cloud, their DevOps process, and more. I understand the background of teams approaching me by giving introductions at the beginning of a call to find out who the key players are.
For example, if I am talking to a customer and they say, we want to go all-in on Serverless. I explain to them the entire operation that tends to happen within the next few months, then completely going in on node, JS, and Serverless, the one-to-one functions, and the entire architecture of how it will work. I always find chances to ask them some questions, like is the team using node JS now? If they say no and introduce them as an enterprise Java team who has decided to switch languages, I once again make sure of this, as the developers can continue this journey using their language. When customers are moving to the Cloud they assume that they have all their stuff together, but the truth is that no one has their stuff together, so I think it's essential to ask those sorts of questions. Moreover, it can develop some empathy with their response, like they are not using revision control, a particular DevOps tool or a specific service in the Cloud.
Communities and User Groups
And What really ruins the conference's experience is that you do not get to see your family for that period. So, the idea was that we would pay for speaker travel, put them up in a nice hotel at Virginia Beach, and then wait for the attendees to come. People liked the beach location, the diverse set of speakers that we had, and gave out tons of diversity scholarships every year to various groups and veterans. That was really fantastic. Luckily, we decided not to do it last year as Kevin's group and my group really had to fight for fundraising in such a small area, like Norfolk. We decided to take a break, and then the pandemic struck, so we got fortunate that things were starting to shut down by saving our space and money. But we will put something else together by 2021, and the discussions are still ongoing.
Ryan Jones Q: So it's still a maturing community. Are there other ways that you think that it could be improved?
Linda Nichols: I think it's hard to answer this right now with the pandemic. I love the Serverless comp that happens every year. I would like to mention the cloud guru, Austin, who gave me a free ticket to Serverless comp. I could not go- it was not affordable to buy a comp ticket as I was working for a startup at that time. But I submitted a talk, and then I did end up speaking.
And for the next three years at Serverless, it helped bring people together, and I had the opportunity to meet various people who work for IBM and AWS, and GCP was at these conferences. It helped foster more diversity in the community, too, because many people from various backgrounds would come to the meetings. They meet people, get excited, and then maybe they would speak the following year. It is harder to foster that community on Twitter. There are a lot of prominent voices that are drowning out smaller voices on social media. Hence why I think Serverless days have done a perfect job with diverse speakers and topics and cross-cloud. Moreover, there are pillars in the community that are on the board of Serverless days. I want to keep supporting those conferences, but it's a bit hard for the community to grow and improve until we can see each other in person. And unfortunately, there is a limit to what we can do behind the computer. Technology is evolving, and many great things are happening, allowing more people to get involved.
I think that Serverless is very accessible, but Kubernetes is very complicated. And I think it is a little bit overwhelming for people trying to get into that community. I think the CNC F is fostering a lot of that with projects and ambassadors, but I still feel like Serverless is much more accessible as it is easier to find a tutorial on how to use Azure Functions or AWS lambda, and just deploy something to get it up and running. And there's also been a lot more movement in both AWS and Azure. There's been a lot of activity for the front-end developer community within Serverless, making it more accessible to more people. So I think that is very good. It is good to support the community and diversity in the community, pushing people to submit more content and conferences. But I'm not holding anyone accountable until we meet them in person. All community things are challenging right now due to this pandemic.
Ryan Jones Q: In general, what does Serverless mean to people?
Linda Nichols: To me, Serverless is event-driven. So when I'm talking about event-driven architectures, I tend to consider those to be Serverless, but there are a lot of people that still believe Serverless should be as fully managed as possible. The definition stands unsteady when you start looking at functions running in Kubernetes. I tend to go with event-driven as my Serverless definition- some sort of building block fast triggered by an event. It is going to grow to be much more managed. Speaking about the Serverless framework, I love it. I haven't done as much with the Serverless framework recently because I haven't been doing many cross-platform applications. I've been sticking mainly to Azure, even though I still have a few AWS bots. I think that frameworks are also a lot more important to me. I believe Azure Serverless is an ecosystem. I mean, Serverless is functions, but it is also Logic Apps. It is also an event grid-like our API management tool.
I don't always want to deal with containers. I find containers to be too heavy or too much to deal with, and I just want to push my code somewhere and have it run. But I think over the years, talking to customers and seeing more use cases, I understood that the containers are always necessary for customers to roll their runtime. So, in my opinion, Serverless being fully managed is still event-driven. But there was a panel like Serverless days in New York, and the question on the forum was, ‘What do you think every cloud platform needs to support? Is it Serverless?’ I said they need you to supply your container not to have to use an existing runtime. There was a record scratch in the back of the room that said that's not Serverless at all, but I think even AWS is going that direction. I believe that, in the enterprise, customers need a little bit more control. I still think that Serverless is for developers, and it's for developers to get there faster without caring as much about infrastructure.
Sometimes I will look back at my old talks and think that I was foreseeing the future. And sometimes I'll look at them and go and think that I had not seen enough customer use cases to see the big picture. Truthfully, I do see a lot more use cases. Kubernetes is a better fit here. For whatever reason, I want people to start with Serverless, though I don't want a customer to go straight from an application necessarily deployed to Heroku. I am also ready for Kubernetes and Azure, even though I think it's not the right path. That's where I go back to people and ask questions about what they are comfortable with, their ultimate goal, and where we can go along the way. Maybe Serverless is a step along the way, maybe it's part of the solution or maybe it is a solution. With more understanding of the use cases, I appreciate that the technology can support so many different things that people want to do. I think in the future Kubernetes will be in the background running, and that things will continue to be abstracted with a Serverless field on the front end. We need to wait and see. I'll listen to this podcast two years from now and will not know what I was talking about. That's what that's it’s like with emerging technologies.
Ryan Jones Q: For someone coming from an AWS background who learned that Asher and both GCP have their role for working with Serverless application, but specifically on Azure, what does that look like for a Serverless developer?
Linda Nichols: I think there are still services that are aligned with each other. When I was giving my Serverless love story talk, I was working for our consultancy, Multicloud. A very cloud-focused consultancy acquired this startup that I worked for, so it was a part of my job to think about app modernization and Serverless cross-cloud. I spent a lot of time examining what I thought each platform did well and didn't do well. That became a part of a lot of my talks, and I've even given some cross-platform talks too, even since I joined Microsoft. If I look across fast functions, lambda, open whisk, or IBM Cloud Functions, I can say that they're all the same. And then you have API gateway, and SQL database, like dynamo or Cosmos. You could just plug and play the different services. I think that each Cloud Platform only has different priorities, and that those priorities start to become really evident when you're moving from one cloud platform to another. This idea enables you to containerize and run your function app anywhere.
When comparing Azure Functions and lambda, we need to think about whether you have a concept of a function app that includes multiple functions. It's an idea of logical separation, where you have five functions doing something similar. Basically, they're all related, and you could put them within one function app. Let us say you have multiple languages, and then you could have one function app that is node JS, and then another one which is .net. So here lies the ability to containerize. I am not as familiar with the latest features of lambda x, as I have not yet used it. I think when updating my AWS applications, I'm using an old version of everything. But I believe that we also have some exciting ideas, like, durable functions, more extended running functions, or chaining functions, Logic Apps, in which there's some comparison between Logic Apps and step functions. Logic Apps is much more like a no-code type tool. You can use it for state machines and workflows. Large enterprises use it for integrations and clouds connecting to systems like Salesforce or sending emails. I think if you are not in the Azure ecosystem, you would know about that. I guess the event grid is cool too. I know AWS has some service that is like an event grid. When I started working on Azure, I felt that making things a lot more organized. And I'm going to be able to create custom events, which helps things flow on the event-driven side.
If somebody is moving from one cloud platform to another or they're just diversifying, I think there are some similar pieces that you can plug and play there. There is a different culture in each cloud platform, but you try to be very open source first. This is totally my personal opinion. I don't want to insult other cloud platforms by any means. But I think things are just different with different priorities. And if you're used to building event-driven architectures, I don't think you're going to move to Azure or GCP. I think that you might find development to be a really great experience on Azure as everything tends to be VS code-driven. You can create Logic Apps within VS code now and all the extensions. It is a fact that Microsoft dedicates a lot of human power and money to VS code, so the extensions are going to be part of the strategy for that service. It's been my feeling, even before I came to Microsoft, that Microsoft had a developer focus. In contrast, I always felt like AWS was much more of a powerhouse, and the emphasis of lambda was to be as fast as possible, to eliminate cold starts, in the form of a strategy. I felt like the strategy in Azure was to be a little more open, a bit more developer-focused. That's my feeling about developing on Azure versus developing AWS, but I cannot speak to GCP or IBM these days because I'm not doing much on either platform.
Ryan Jones Q: What is the future of Cloud? 10 years from now, what will be the legacy of Serverless applications that we are building today, and what do you think are the core components of being long-lasting?
Linda Nichols: I think my employer obligates me to say that Microsoft will stand out as the greatest Cloud Platform over 15 years. I guess now we have three giant monsters- each cloud platform is fighting against the other, and you have customers who are convinced there’s luck in their cloud provider, and many diversifying companies working with more than one provider. So I think that all three cloud platforms, the big ones, are going to exist. I believe there are going to be new ones too. The companies like Salesforce and Oracle are going to start coming out with their varieties of competition. I think the current three big ones will continue to dominate. I think GCP will get more traction; there'll be a more challenging competitor in the Serverless space. I think lambda has always been ahead because they were first. It is true that AWS internally dedicates enough resources to lambda, so it is going to be a first-class service. I think Microsoft and Google are very invested in Kubernetes and they will continue to be. I just think that things are going to become more and more abstracted.
At some point, everything is going to be running in Kubernetes or something else. Maybe some cool new things are on the way. I do think that the success of Kubernetes is effective. I believe that companies and developers will be less okay with things being a complete black box; I think they're going to want to peek under the covers to some extent. Conversely, things are going to become more and more abstracted; I think maybe five years from now, it will be quite so. Building architecture on AWS may be different than building one on Azure five years from now. Even though you have the same customer making the same version of an application, it might be on three different cloud platforms.
Ryan Jones Q: You mentioned that things would continuously be abstracted away. Maybe Kubernetes will be under the hood. What will that look like in a couple of years from now? Where are we headed?
Linda Nichols: There is this idea of citizen developers, and Microsoft is all-in on that with logic apps and our power platform, which is like low code, no code, workflows, chatbots, AI and applications. We're seeing a lot of people who are not your traditional developers saying, ‘I have a bunch of data and Excel spreadsheets, I have data in a large outdated database, I have done Azure, and I want just to create reports, I want to create simple user applications’. All this takes me back to my college days, where I had barely taken a C class. I never thought I would be a developer, but it was just very easy to drag and drop fields, connect them to database tables and to learn database design. I just created lots and lots of internal applications for a government entity that I worked for, and some of those applications stayed around forever. At that time, I was liking Shadow. So I’d wait in line and then they would come to me and say, ‘can you make something so I can keep track of…?’ or, ‘can you connect this access application to the SQL server or the Oracle Database, and show that data in a form?’ And then I would do it, over a weekend or something, and give them access to it.
Now, Shadow is being brought out into the light. Some citizen developer’s say that they enjoyed this drag and drop, no-code environment. Some people say that I am still a business person. But I liked the idea that even I could create a website to show data that I needed to show the small subset, or maybe have a gigantic data system. So I think that this is a whole other area of Cloud that is starting to emerge. And I think that there's going to be some more support on that front, too. I believe that Microsoft is already kind of there, but they are saying they are going to introduce non-traditional developers to something like Power platform or Logic Apps, and are also going to show them how to connect that to Azure, or link it to Office 365 and pull data.
This becomes an evolving thing within Azure because we're thinking about how to support developers and applications, and how we will support data, API's, and connections for citizen developers. The focus needs to be much more open. But now we're also supporting citizen developers, the Shadow IT people. I get very excited about it because I came from a non-traditional background to a traditional one, and I've seen some brilliant people create cool things in PowerApps. Connecting to services within Azure like API Management is closer to something like Apogee, but it's a fully managed API service. There are now some direct connections between that and the power platform. Hence, if you create many APIs and Azure, it allows your citizen developers to access that data quickly and then make their application. So I think that there will be a certain amount of evolution of services to support that in the future.
Ryan Jones: “It's fascinating. I've never heard citizen developers before. My dad is a sales guy who needs to give presentations, and I know there are probably times where he's sitting there and thinking like he wants to make it work, but he has to have somebody else do it, because the barrier is too big. So I like the idea that in the future, people like my dad can just have the idea about what they want to see, plug some stuff together, make things work and then play around with it, and later feed that back to the non-shadow IT team. A very empowering thought."
Linda Nichols: If you are somebody like Jeff Bezos looking at 15 years from now, growth has to be exponential. At some point, maybe 5 years or so ago, there started to be this discussion happening where people were saying we're going to run out of developers. Look at how many people are graduating from CS programs, boot camps, even non-traditional people, that could be developers. There's not enough for the jobs that we're going to need when we consider how much the Cloud will grow and that companies are going to go into the Cloud- everything's going to become online. And we've seen that during the pandemic, for sure; companies that did not think they were going virtual, suddenly had to be virtual very quickly. They came up with STEM and training kids because as soon as kids are old enough to work, we've got to get them into coding to fill this gap.
At some point in time, we think that we'll just take the adults from industries that are smart, interested and capable, and we'll give them the tools to work. But we still need kids to fill these slots. There are also lots of people out there in search of jobs. There are many power platform openings at big corporate companies right now. It is creating a new career path for a lot of people by filling gaps. I think we would need to hire 1000 more developers to support this new online application. Where are we going to find these people? This is another way to kind of fill that gap. So it's really interesting to look at it from a business perspective. There is a need for jobs, and we put warm bodies in those jobs. How will we teach more people how to code or contribute to technology in some way?
I spoke at Creating Serverless, which is a Microsoft internal conference, in the Fall. Donna Sarkar and I did a joint presentation, and it was amusing working with Donna. She is a legend in Microsoft, so I was really excited to work with her. But she and I did a presentation talking about low code, no code, and showing how you could connect Azure with a power app. So if anyone's interested, you could check that out on YouTube.
Ryan Jones Q: Do you have anything to promote? How can people get in touch with you?
Linda Nichols: I think probably the easiest way to reach out to me is maybe Twitter at Atlanta, Lu, Li, n a, l o. And I have the same handle everywhere. I am not on Snapchat, but I am on discord and slacks as well. People can connect with me on LinkedIn too. You can send me a LinkedIn message, and I'll read it. I try to link a lot of my talks and blogs on my profile. And you can email me as well, but I think Twitter's probably the place that I like to check my notifications more often.
Ryan Jones: Thank you so much for coming. To those listening, this has been the Talking Serverless podcast with Ryan Jones. If you like our show and want to learn more, check out talking serverless.io. Please leave us a review on iTunes, Spotify, or Google Podcasts, and join us next time as we sit down with another fantastic Serverless guest!