AWS Bites Podcast

91. Our Journeys into Software and AWS

Published 2023-07-28 - Listen on your favourite podcast player

In this episode, we take a journey through time and technology and learn the origin stories of Eoin and Luciano. In this captivating discussion, they share their paths into the world of software development and their eventual immersion into the realm of Amazon Web Services (AWS).

Eoin's story begins in the early days of home computing, where he tinkered with a Spectrum ZX, coding programs and saving them on audio cassettes. He walks us through his computer science studies, securing his first jobs, and his initial encounters with AWS, where skepticism eventually turned into fascination.

Meanwhile, Luciano shares his first magical encounter with a computer, igniting his passion for programming, and his subsequent journey into computer science and early work experiences. Moving to Ireland opened doors to work on pioneering cloud projects, leading him to develop tools like Middy and eventually join fourTheorem.

The episode delves into their experiences with serverless architecture, solo startups, and how they would approach learning differently if given the chance to do it all again.

Join us for a nostalgic, inspiring, and educational episode as we explore the captivating stories that shaped our expertise in the world of AWS.

fourTheorem is the company that makes AWS Bites possible. If you are looking for a partner to accompany you on your cloud journey, check them out at!

In this episode, we mentioned the following resources:

Let's talk!

Do you agree with our opinions? Do you have interesting AWS questions you'd like us to chat about? Leave a comment on YouTube or connect with us on Twitter: @eoins, @loige.

Help us to make this transcription better! If you find an error, please submit a PR with your corrections.

Luciano: We talk with a lot of engineers as part of our job. And one of the conversations that always pops up is, how did we get into software and how did we get into AWS? So this is gonna be a very personal episode where we share our stories about how did we end up in the place where we are today? And hopefully we'll find that interesting. And today maybe we'll share something that could be useful for your career as well. My name is Luciano and today I'm joined by Eoin for another episode of AWS Bites podcast. AWS Bites is made possible by the support of fourTheorem, an AWS consulting partner that works with you to make AWS migration, architecture and development a success. See to find out more. Okay Eoin, why don't you go first and tell us the story of how did you get into software and how did you get into AWS?

Eoin: Okay, well, how I got into software, I suppose I was lucky in that kind of generation and back in that time when kind of cheap home computers were becoming possible really on a wide scale. So the first computer we ever got was a Spectrum ZX, Sinclair Spectrum ZX. And this was a very popular in the eighties, kind of I think from the early eighties, I think we got one when I was around seven. And the nice thing about this was it was a tiny little computer which had like rubber buttons and you put it into the TV and it gave you the ability to play games and also write basic code.

So that was the first language I ever encountered. And the way you did it back then was you would go to the news agent and pick up a magazine for that computer and in it it would have reviews of games and lots of tips and tricks, but also code that you could type in into your computer and you could run games. So you got, I suppose I got some exposure then to what is ultimately imperative programming, procedural programming, not really until later, but it was just like simple set of instructions and coaches mainly.

And I didn't know most of that time what most of the code meant to be honest, but it was certainly interesting enough for me to keep going with it. And we would then save the code you'd written onto a cassette so it was actually an audio cassette and the Spectrum connected with audio cables. So it would convert the code to an analog signal and you could actually hear your code being saved to the tape.

And then you could play it back. Like you could actually play this back in your stereo if you wanted, if you really wanted to hurt your ears. And it wasn't until a good few years later, like I had a Commodore after that and much later when I was a teenager, we got a PC. I think it was like 386, you know? So these first computers, I think the Spectrum had 128K of RAM and then going into computers, things started to increase pretty quickly then as they had the exponential growth and Moore's law took off and processing power and everything increased.

So I was always into computers and it was pretty obvious that I wanted to study it. It was really the one thing. So I was lucky enough to be able to study computer science for an undergraduate degree in Ireland. At that time, the government had just announced that they'd pay fees for college students. So it was possible for everybody. If you had good enough results, you know, to get in. Computer science wasn't the top of everybody's list.

So the entry requirements are pretty easy as well. But my computer science degree was kind of interesting because it was very broad, like hardware, software, algorithms, but also some of the kind of business side as well. So it was kind of interesting, although it's very abstract until you actually start working in it. So I was able to get some summer jobs in college, building websites and that kind of thing.

And then once I finished college, I started working in like telecoms, Java applications and early distributed applications like Corva systems and that kind of thing. Every job I worked in for a couple of years, but nice thing about software industry is that you can move around different industries. Your software skills are always transferable, but you get to pick up on new domains. So I was able to work in investment banking and in kind of service ticketing systems and also worked in digital TV for a long time, which was really interesting building kind of like Netflix type applications.

And that kind of all, most of my career has still been kind of in building and deploying services onto servers, right? On premises, in a data center, running on bare bones instances, then things move quickly into virtual machines. And then I suppose it was, it wasn't like really early adopter to AWS. I do have an account from when AWS first launched and I have like a 20 year old API access key. That's inactive, but it's still there just for like, it's like a museum piece now.

When AWS first started to emerge, I don't tend to jump into new technologies very quickly. I like to see how other people get on with them first and experience some of the pain before I adopt them. But it became clear pretty quickly that AWS is going to be big. I remember we were talking in a recent episode about AWS summit in London. I think I was at one of the first ones in London when it was basically just in one room in a hotel.

And there was a couple of hundred people there. And that was, I suppose, when I really saw how big AWS was going to be. And then in my subsequent jobs, I started to do more and more. And with like a lot of people, it was EC2, S3, SQS, a lot of stuff in the console at first, maybe a bit of CloudFront, that kind of thing, gradually kind of increased my use of AWS over time and then using containers and then ECS.

And I suppose it's really only at fourth theorem that things have really accelerated in terms of AWS adoption. And I think that's all down to, I had a startup, my own startup, which I was running solo before fourth theorem and I was then building a lot of product myself and kind of seeing how business works a lot more and trying to build things quickly. And that's when I started to use things like serverless and Lambda. So that's like 2016, really. So it wasn't one of the first adopters of serverless, but it was early enough, I suppose. And I saw what a difference it could make if you really started to use these managed services and how quickly you could do stuff. And that was kind of the philosophy we started with in fourth theorem as well, and always trying to make things easier for everybody. And I think that's more or less in summary, my journey to AWS. Have I missed anything?

Luciano: That's pretty good. Lots of stuff I didn't know about you. So I'm glad you shared this. Yeah, I don't know if it's too secret, but happy to share it anyway. So I started with my first computer when I was, I think about 12 years old. And I was always fascinated by computers, but just even when I was even younger than that, because I had people in my family working with computers and I always thought they were a bit of a magic thing.

And I knew eventually I would want to work with one as well. And at some point, I think when I was 12, I got lucky that my father was, he owned like a kind of a warehouse business. And that business basically went bad. They were dismissing everything. And as a result of that, I got a very old i386, I think it was, which just landed on my desk. And that was the computer that they used to kind of track the inventory of this place.

And the only thing that was installed in that computer was MS-DOS. So I kind of didn't know anything. I just turned it on and I found this problem. It's like, what do I do now? And I don't even remember how eventually I got into the kind of basic commands and figured out, OK, what are directories? You can create files. And then I discovered that there were only two applications running in that machine, what installed in that machine.

One was a chess game, which was actually quite nice. So I spent a lot of time playing chess in that machine. And the other one was another software called Banner, which was basically some kind of word art. I would describe it that way. Like you can design effectively, like, I don't know, text in a bunch of different shapes and print it. That was it. I didn't even have a printer, so it was just fun to design it.

But then I couldn't print it. And for a long time, these were the only two things that I was doing with that machine, until at one point in a school textbook, I found out that there was an addendum at the end saying, oh, there is this thing called programming languages that you can use to teach the computer to do things, things that you want to automate somehow. And then it was explaining something about basic.

And I actually went back to the prompt and typed QBasic. And I realized, OK, I also have this thing, so I can do this thing. And I was basically copy pasting manually examples from the book into my own QBasic interpreter and running them. But it was as simple as drawing like a Christmas tree or playing some tunes with the 8-bit tunes, or maybe just printing text and doing kind of form-like application where you would ask, I don't know, give me the input for this, give me the input for that, and then do some calculation as a result. So for a long time, this was the only type of programming that I did. And I didn't even understand for loops. So everything was basically like extremely procedural step by step. But it was super fun nonetheless.

Eoin: Can I interrupt you? Did you play Gorillas? Do you remember that? I think QBasic also came with Gorillaz. It was like GORILLAS.BAS.

Luciano: I don't know that one.

Eoin: OK, well, maybe it would have sucked up all your time and you never would have got into programming if you discovered it. I think it came with another one as well called Nibbles. It was like a snake kind of game. Yeah, I digress. I'm just reminiscing.

Luciano: OK, I didn't know this one. So now I want to search for a QBasic interpreter and play with these ones. So yeah, long story short, after that, I knew I would be spending more and more time learning more about programming. And during high school, I was lucky enough to get an actual pendulum with Windows 95 and a proper desktop environment. And I remember FrontPage and Dreamweaver and getting into web programming and doing all this kind of stuff, learning HTML, CSS, JavaScript.

And basically throughout high school, I ended up building websites for friends and family, sometimes actually getting paid for it, which was nice. But you can imagine how little you would get paid for that kind of stuff, even though it would take maybe your entire summer to build a website. But it was fun, and I did learn a lot. And then I was also lucky enough to be able to go to the university to study computer science, did a bachelor degree first, and then a master degree a bit later.

And also through that time, I did some work experience, actually working for a couple of companies, doing kind of my own startup. And eventually, after all of that, I moved to Ireland, and I did more jobs still in the space of full stack web development. And funny enough, I ended up working in projects where the idea was more and more to go to the cloud, while in the company there was no expertise to do that.

And it was a great position to be in, because that meant that I was part directly, even though I was hired to build the application as a full stack developer. I needed to figure out, OK, how do we bring this to the cloud? What do we need to learn to be able to be successful in the cloud? And of course, I was not doing that alone, but I was part of a team where everyone was learning together. And that was my first time getting exposed to AWS. Funny enough, initially, it was lots of serverless stuff, because this was around, I think, 2016. So I think we were among the first companies trying to build an entire product with serverless, which was a lot of rough edges, like lots of limitations with Lambda. It wasn't definitely at the level it is today. But nonetheless, it was really interesting. And I remember we even did a few talks with AWS itself, presenting that particular project. So it was quite successful, even though the company eventually shut down. So none of this is still running in production today.

Eoin: Was it this early exposure to serverless that led to you building Middy for the first time? Was it because you were involved in the early days?

Luciano: That's a very good point, yes. So basically, we did all the usual mistakes that I think most people will do when they start using serverless. It feels like you are doing microservices++, and you end up treating every Lambda as its own repository, project, and code base totally isolated from everything else. Even though logically, maybe you have two Lambdas that are part of the same service, we were splitting everything to the most granular level.

And then we realized, OK, the amount of code duplication is insane. So we built this kind of internal framework to try to reduce that code duplication by applying the middleware pattern. And then when the company was shut down, we took that and open-sourced as Middy. So that's actually a very good point. My first exposure to AWS very early on highlighted the need for that particular tool. And I was lucky enough to be working in a team that was willing to invest in creating that tool.

And then they gave me freedom to keep working on that and open-source it. So after that, I was working in a couple of other companies where I was still part of cloud-heavy projects. But at the same time, again, teams that were a bit on the forefront in the company trying to figure out how do we bring something to the cloud when we don't really have a lot of knowledge in the company about deploying stuff in the cloud.

So again, I needed to roll up my sleeves and figure it out, OK, how do we do this and that? And in the other company, it wasn't as much serverless. It was actually running big cluster of EC2 machines with Elasticsearch. So that is where I learned a lot the value of doing infrastructure as code, learning very well all the networking stuff, figuring out how to implement auto-scaling, and lots of more hardcore skills that are very useful in the cloud.

And I think those are, in many cases, the reasons why you see a lot of value going into the cloud. Because of course, you can run your own servers anywhere. But if you don't use a cloud provider like AWS, you don't always get a simple way to automatically scale and do big deployments of big clusters that can scale elastically. And I think after that, there was another experience that was somewhat similar, more in the space of e-commerce, so trying to optimize running e-commerce services online, still using AWS. And then after that, I joined Fortier. And for me, Fortier was as well a big accelerator into, let's try to become, as professional career experts in AWS, so let's try to get certified. Let's try to learn more about AWS architecture, different applications of building stuff on AWS, for different markets, different industries. So that's a journey that has been going on for me for two years and a half. And I think I've been learning a lot more about AWS and feel that I'm still probably 10% of, maybe less, of what there is to know about AWS. But I'm feeling now I have a much more complete overview on what's possible with AWS.

Eoin: We both have, I suppose, a kind of a traditional form of education in computer science. And that led to a career in it. I'm interested in a couple of things. One is, if you had been learning software for the first time in this age, when all the information is available and you've got LLMs to help you, and you've got massive amounts of educational resources, how different would it be? And the other question is, is this representative of what you need to do to get into the cloud? I mean, I would say not. In our last episode about interviewing for jobs in AWS, we talked about like a computer science degree definitely not being a hard requirement. We are interested in people from lots of different backgrounds. How do you think it's different, I guess, for people getting into the cloud these days?

Luciano: Yeah, I guess for me, it's also interesting that I had my education in Italy where there is a very common complaint, for better or worse, that education is very theoretical and there is very little practice, which is something that I didn't appreciate at the time. I think I'm starting to appreciate a lot more now that I'm feeling the practical gaps and realizing how much effort was put into the theory that I have a lot of ground already covered and then I can easily build the experience part.

But at the same time, I wish that when I came out of the university, that I was more ready to go on the job. And I think if I was, was only because I did a lot of stuff on the side on my own, trying to work even just with friends and family building things for them. I managed to fill that gap a little bit into the practical knowledge. So I don't know if that's representative for kind of career and studies everywhere else.

I know that for instance, talking with people in Ireland, in Ireland there is a good amount of practice. So maybe it will be very different depending where you get your degree, what kind of knowledge you come out with. So I don't know how to answer the first question if it will be very different. I think it's already very different depending where you study and exactly the curriculum that you follow and the professors that you have.

And I don't know, the type of exams, if they tend to be more or less practical. So I don't know, I think today it is true that there is a lot more material and sometimes it's nice that you can learn things very, very quickly. Like, I don't know, I remember every topic I did at the university, you had like these massive books that were like 500 pages each and you were supposed to study all of them and do the exam in like a month because if you needed to do 10 of those exams in a year, that's the time you have. And basically you were always trying to optimize, like how do I summarize this entire book? What are some notes that I can use? Can I use some slides from the professor? So you were always finding shortcuts anyway. I think today's just gonna be easier to find those shortcuts and try to optimize for effectively the time that you have. Like you cannot possibly read 500, read, understand and memorize 500 pages of technical content in a month for every single subject that you have to do at the universe.

Eoin: If you were 12 years old, again, I often ask this question to myself and we had access to everything that internet is today and the devices that we have today. Would you use the opportunity at that age to absorb a lot of knowledge and to really accelerate your learning around programming and technology or would you blow it all on TikTok and online gaming?

Luciano: Yeah, I don't know. I guess in my personal case, I was having fun trying to literally, that feeling of I can teach something to the computer and I can tweak it and I can try different things. So it was kind of a game for me. So I think that gamification part was very fundamental for me to pave that path into computer science. But I guess if you are missing that fun element then you are only forcing yourself to do it because you think you're gonna have a career in the future. I don't know. I don't think it's gonna work out for people at that age. I think you need to be fun. So maybe there are things today that are more gamified for people that might want to start to lay down that path at that age but it still needs to be mostly a game because otherwise, I mean, you're still going to school, you're still studying a lot of things, you cannot possibly study something just because you're gonna need it at least in 10 years time if not more.

Eoin: The number of kind of younger people of that age, like kids getting into code for the fun of it must be lower these days because back when we were writing basic programs, the stuff you were doing was as compelling as the applications that were available because the applications were available were not that sophisticated. Whereas now the applications that are available to everybody on laptops and smartphones are way more sophisticated than anything you can do when you're just beginning to write programming. So it could become frustrating more early but I think it just means that people will take a different path into it. It won't all be about the code first. The availability of knowledge and information makes people much savvier and much more rounded early on. So maybe the coding part is something that will come later or become less relevant.

Luciano: Yeah, I think that the meat of all the digital natives are automatically skilled with computers is definitely proving not to be true. So this is definitely an interesting question that we should ask ourselves. I'm finding that a lot of the younger generations you give for granted that they understand our computer work but that's definitely not a given. If they don't actually study for it, they have no idea it's just another magic box. So maybe that's another interesting element of the education system where there is more that can be done at least to try to give some of the basic knowledge on how to use a computer, understanding how it works and what's possible with it even though you might not want to pursue a technology or computer science type of career.

Eoin: Yeah, I think at least it's good to see that now instead of like schools are adding programming skills or IT skills into secondary school curricula and now into also primary school. So from a very young age, I think this is gonna take time to develop but it does give hope that we'll have new generations of developers coming in with just a different path to it but just a new perspective that will ultimately improve things for everyone.

Luciano: Okay, so I think that was a very good conversation on I don't know, at least discover a bit more about ourselves. I hope that was also interesting for people listening. I would be really good as to know more about the people listening. How did you start if you were happy with your path, if you think you did some early mistake or maybe something you would have done differently given the chance that you could go back and try something different. So please share those kinds of stories because I think everyone has a different path and lots of people starting this path now, they can take inspiration from what people have been doing to get to the point where they are today. So use the comments below if you are on YouTube or reach out to us on Twitter and share your personal experience if you want to keep it private. We still love to have a private chat so reach out to our direct message and we'll talk there. Thank you very much and we'll see you in the next episode.