For anybody reading this, firstly, thank you for your interest in my little part of the Internet.
In order to give any readers some context into topics I hope to blog about, I think it important to give some context so readers understand why these topics are so interesting to me and why my thoughts on them may have slighly different context than others.
I work for AWS as a Network Specialist Solutions Architect, however the opinions and views in these blogs are my own and do not necessarily represent the opinions of the company I work for, or have worked for in the past. Right, that’s that out of the way…
This is in fact the first solo blog post, due in part to being self-taught, I suffer from ‘Imposter Syndrome’ and let this stop me blogging amonst other things for way too long, I like to tackle issues head on so here goes…
TL;DR – summary, I’m self taught, love networking and learning to code and love Networking as Code, more to come…
In the beginning
When I was growing up, some would say I have yet to grow up, but that’s a different matter… I had absolutly no interest in computers, or gaming. After catching a clip of Bruce Lee performing a jumping kick in the film “Marlow” where he smashes a ceiling light, I was hooked… I started training in marial arts and fell in love with it, I continued to do this for the next 30 years training anywhere between 3 and 6 times a week bar a few years where personal circumstances meant I couldn’t.
My brother and I got an Atari 400, friends had either a Commodore VIC-20 then 64’s, the legendary ZX Spectrum and I think somebody had a BBC Micro. I had no interest… apart from the odd game. We had no computer science at school as I was far from accademic, I’m not sure it would have made much difference if we did.
Finding IT and Networking
I’ve had quite an array of jobs, from making garden ornaments before school, the obigatory paperround, and once leaving school due to my obsession with motorcycles I went to work for Honda doing customer services, again, no interest in computers. After a few temporary jobs I got a temp job in DHL Systetms in ‘Front Line Support Helpdesk’’ department where we covered most IT services, remember… this was before the Internet was a public ’thing’ and once again, no interest in IT.. until I got talking to the person who looked after front line support for networking.
Networking was very different to what it is now, core technologies were X.25 and mostly networking on Unix and SCO Unix. This was interesting! I got quite friendly with him and when he said ‘I’m leaving’, he walked up to our manager and handed in his resignation, so naturally, I followed shortly and asked my manager – can I apply for the role?
I waited, I knew I wasn’t qualified but that’s never stopped me before and the answer – of course not… ‘You are not qualified and have no backfound in networking, so unfortunatly, no, this isn’t possible’. Gutted, but at least I tried. I responded along the lines of ‘I know I can do this but just need a chance, I understand the reason for saying no, but would really like to try’. Agian, the answer was no.
The next day my manager approached me and said (paraphrasing again as this was a long time ago), ‘OK, you can try, but…. if you can’t do this, you can’t have your old job back, do you want to take that chance?’ – Of course! And so it started…
I spent every bit of time I had teaching myself by asking questions, and I am eternally grateful to ‘Indy Pank and Stuat Tares’ who took a chance on me and mentored me. They were ‘old school’ and would ensure I did ALL the research and explored every avenue before asking questions, if not I would be told off in no uncertain words. However, if I did the pre-work they gave me an incredible amount of time and support, teaching me how to think about things, not just the answers.
I loved it, and in time got commendations for work, moved into the network (WAN) team, became the regional Telco manager, back into WAN and hacked about with Solaris and HP-UX and dabbled with Linux as it came out with Netscape builds. I was doing quite a bit with Sendmail, so hacked together a front end web site to create a sendmail.cf, if I recall correctly, with some very hacky Perl.
Next Steps – Network as Code/Automation
I loved networking, IP was a relatively new thing and I worked with Unix and Cisco and knew what I wanted to do. I then had some amazing roles working in network engineering and architecture role in the data centre space in a variety or industries, such as Investment Banking, Public Sector, a provider of a core UK Government service, Oil & Gas and now Cloud Service Provider.
About 10 years ago I was watching a Ciso webinar (I think) and saw an overview and demo of Ansible, now at this stage Ansible was not part of RedHat and had VERY limited network support but stil, I was hooked. I dived in and had a goal to do everything through automation.
Ansible got better but I needed to do things that it didn’t yet support, so, time to learn some Python. I found an amazing course on Treehouse by Kenneth Love, Kenneth made learning fun and accessible and again, I love it…
I wrote a few ‘functional’ Ansible modules, then gravidated to Nornir. I had some Cloud and VMware projects (network realted of course) so dipped into Terraform.
Fast Forward to 2020
Fast foward to the last year or so…
I’m hooked on Network as Code/Automaton but being self-taught, I am no developer but stubborn…
There was no formal inititiave specific to Cloud Networking as Code where I was working, so… you got it… I started one. This was initially met by many with ‘cool, good luck’, but I KNEW this would be big, this will be the future of networking.
I needed to get up to speed with Terraform, I did Derek Morgans ‘More Than Certified in: Hashicorp Terraform’ course and now had enough to get going.
It had oftern frustrated me that as a cloud networking community we don’t have good sample code to deploy more than overly simplistic examples. We need to see real life use case sample code, and the code should be written using the language and/or framework best practices. Why so much Terraform code that is written proceeduraly with no use of modules?
I wrote my first code deploying a typical Hub & Spoke architecture with a centralsied inspection VP with AWS Network Firewall. This is something that despite my decades in networking, tranistoning to the Cloud, it took me a while to get my head around the new networking concepts with AWS Transit Gateway and VPC routing, so used writing a Terraform project as a way to learn.
I loved it, and actually got it published to AWS Samples, happy days!!
I started talking (well, more of a soapbox sermon) to others and Pablo Sanchez Carmona who was also working in Networking but a team working along side the specialist team and we became parners in crime (figuratively of course).
We took the Cloud Networking as Code roadshow to anybody who would listen.
A good frend of mine, who I’ve worked with in many companies and somebody I respect immensely had a saying that I stole ‘This project is like a train, when it get’s enough momentum, others can either get onbard or get out of the way’, a philosophy I’ve always adhered to as I freely admit I’m not the brightest in any group, but am very, very stubborn and passionate about particual topics, this being one.
We build a great communtiy and worked with the field, customers and serive teams and are still on this journey, one I see the destination being an amazing place, but more so, enjoying the journey with freinds, colleagues and a community.
AWS Terraform Provider Development
I was doing a lot of work with Terraform but there were some things that were some missing resources and a few bugs. I was VERY lucky to be working with a fantastic group of people who were contributing to the AWS Terraform Provider. I was no developer and didn’t know any Golang but this was interesting…
I completed a few Udemy courses to try to learn enough Golang (Go) to get started:
- Go: The Complete Developer’s Guide (Golang)by Stephen Grider and loved it, I’ve found all of Stephen’s courses excellent.
- Go Bootcamp: Master Golang with 1000+ Exercises and Projects by Jose Portilla and Inac Gumus, again, loved it. Another course that was presened so well, with hands on excercises to really reinforce theory.
A huge shout out to Drew Mullen and Tyler Lynch who supported me in my my first attempt to contribute to the AWS Terraform Provider, after pleny of nudges in the right direction… the AWS Terraform Provider Transit Gatway resource now supported multicast – what a feeling when the PR was merged!!
If I wanted to learn this, I’m pretty sure others where I work do to, so… time to organise a bootcamp… then a hackathon, then more workshops to help others. Last year I organised and facilitated 8 multi-day workshops/hackathons for Terraform (Contributing to the AWS Terraform Provider, Provider Hackathons, Writing Terraform Modules and Using the AWS CDK to deploy network architecture), 8 workshops in 6 months with over 500 attendees – wow, what a ride!!
![](https://cloud-networking-as-code.com/wp-content/uploads/2023/03/hashicorp-core-contributor-2023-1.png?w=300)
Earlier this year I recieved an email that shocked an humbled me… honestly, I ignored it at first as I thought it was a mistake and I was being cc’d in rather than being a targeted recipient.
The email was from Hashicorp and said: We are pleased to inform you that you have been nominated and selected as a Core Contributor to HashiCorp’s open source software for 2023! To thank you for your efforts’
SDE Apprentiship and Learning to Code
I still felt an imposter, why? I wanted to fill a gap personally and learn to code properly… but as I don’t know what I don’t know, how?
I approached a number of SDE teams with a proposal for an ‘SDE Apprentiseship Program’, a pilot program was born with me as the first apprentice.
As time came closer to starting, I found out the team uses Java, something I had a very bad experience with a LONG time ago, so nervious as other than a LearningTree course back in the early 90’s I hadn’t touched Java and still had the ‘I can’t do this’ from the last time I tried learnig Java, but, my super power… I’m stubborn, very stubborn.
I got stuck in. I did a few courses online and found:
- Coding with Jon’s YouTube channel is AMAZING and helped make concepts accessible and fun to learn.
- The Ultimate Java Mastery Series by Mosh Hamedani, brilliant, I actually understoon much of it!!
I started the apprenticeship and the team are (I’m still doing this) amazing, they made me feel so welcomed it really helped with the anxiety of such an undertaking on top of my already busy day job.
With a blueprint for success, the ‘SDE Apprenticeship’ Program will help service teams and offer career and personal development opportunities to hundreds (even thousands) of indivuduals like myslef.
Cloud Networking as Code Comminity and this Blog Site
When I was focus on data center networking and network automation, I found the ‘Network to Code (NTC)’ Slack group which was an amazing community! I looked for a Cloud Networking as Code/Automation group, despite having a decent rank in Google-Fu I came up empty…
So…. the Cloud Network Automation Public Slack Group was born… at the time of writing we have close to 900 members of what I’m confident will be a vibrant and supportive community where all things Cloud Networking as Code are talked about, and where collaboration and even friendships start.
I have met some amazing people and continue to learn and be inspired by so many.
So, that’s me… I felt it necesary to give background as I hope to get posts out on things I find of interest, the subjects may seem a little random, such as
- Networking
- Coding
- Software development
- Tooling
- Scripting, one liners and shell functions to make my life easier, and well… also for fun
- Customising a local development environment
- macOS and *unix hacks
- Resources I’ve found helpful in my journey
- etc.
With the context of my history, I hope the reasons I approach things in the way I do, or have gaps in understanding are a little clearer.
I welome any constructive feedback and would love to virtually meet like minded folks in our Cloud Network Automation Public Slack Group.
Until then, I wish you all well and hope some snippets of anything posted here will help somebody in some small way.
Leave a Reply