Gigging as a contractor, those days are over…

The last two years as an IT contractor have been really intense, with both of my contracts ending early and giving that uneasy unemployed feeling. My last assignment with a major media company has been a great opportunity to get exposed to lots of design patterns and best practices. Life as a systems reliability engineer was exactly what I needed to see what operating at scale under enterprise conditions. I got an opportunity to get better at terraform and cloudformation, use chef and gitlab-ci, build containers and deploy them to a kubernetes cluster in AWS. Just brain meltingly  cool stuff!

Sadly, the pandemic shut down my time as an SRE prematurely, so back into the world of job hunting. Very scary, as the day I got my layoff notice the recruiters stopped calling because the talent pool became an ocean, so many IT people were being let go. My SRE team got cut 40%, and others I thought would be critical an un-cut-able are looking for work.

Luckily, I had maintained contact with a friend from a previous contract (at yet another major media company), and he turned me onto an opportunity in financial technology. I’m now working as devops engineer (I know, it’s not a job title, but it is here)
 in Azure for a well known bank. That is something of a sea change for me, but I’m looking forward to it, and it is a proper J.O.B. and not a contract, so that is pretty nice to have some semblance of security.  I’m certainly blessed and grateful to be so lucky in this these times of trial. Watching the Linkedin and Twitter has been really depressing for the last 3 months, as so many of my peers are scrambling to keep working while tech companies fold all around us. Time to focus, improve my skills, and keep swinging for the fences.

Passed the DevOps Pro exam!

I just got back from taking the test, and I am so relieved. That test was much harder than the Solutions Architect Pro exam, and even though I’ve been reading and practicing for a month, I didn’t score as high as I would have liked. Since I haven’t had the need to use Elastic Beanstalk and OpsWorks yet, I had trouble with the highly detailed questions about those services. The test was even more challenging than the practice tests on Whizlabs, so while they were useful for practice, the practice tests were no guarantee.

The testing conditions were much better this time, everything was snappy and no construction noise. There was an accident on the freeway that kept me parked for 30 minutes, which I used to review. The rain was pretty intense, worse when I got out. Definitely grateful to have made it to the testing center in one piece, and to have been able to study and pass this certification. Now, on to Jenkins and Ansible certs! 

2019 Learning Goals

I’ve spend December focusing on Docker and Jenkins while working on some network setups for my schools, and I am looking at adding some more skills to the resume. My certification goals for 2019 are:

  • Docker Certified Associate (passed)
  • Jenkins Certified Engineer
  • AWS DevOps Engineer Professional (passed)
  • Kubernetes Engineer
  • AWS Security Specialty
  • AWS Network Specialty
  • AWS Big Data Specialty
  • Renew AWS Solutions Architect Pro

I’m taking the Docker cert this weekend, so that should be interesting. I also expect to take the Jenkins cert by the end of the month, assuming I don’t get a gig by then.

My stretch goals for 2019 are:

  • LPI-102
  • LPI-201
  • LPI-202
  • PCAP Associate

It’s going to be a busy year with lots to accomplish!

Hitting the “Books”

The last few months have been interesting and a bit tumultuous. My project ended suddenly, and my contracting agency couldn’t find me anything locally, everything offered meant moving out of state. I got called back for a 30 day contract to continue work on the project that was suddenly cancelled, and right now there is no work on the horizon. So, it is time to sharpen my tools, study some technologies in depth, take my next certification and get ready to find a proper job in the new year. Not having a steady job is making me rather nervous, but I will have faith and study every spare moment. Basically, dawn to dusk glued to Linux Academy 🙂

So far, I have been learning about Docker, Kubernetes, Ansible, Jenkins, Terraform and implementing a CI/CD pipeline. I plan on redeveloping my personal AWS environment into a set of case studies I can show during interviews, as well as implement these tools in my previous organization to eliminate single points of failure.

What an adventure!

Cubicle Dweller

The new gig is pretty interesting. I’m working on the AWS portion of a log aggregation tool, and I am having to develop pieces to validate we are getting the logs we expect. This is putting me in a developer role, which I haven’t had to do in over a decade, and I am having to learn a lot of python very quickly.

The boto3 reference guide has been a constant staple, and I have had to develop functions to interrogate accounts for 35 different services, which has been pretty cool. The challenging part has been to compare two separate dictionaries full of account ids and the service they use, and create a file that show the discrepancies between the two. Working with dictionaries as a data type is pretty new, and getting to the nested values is a challenge. I managed to populate a dictionary as a json object for the first time. It is a bit confusing, as I can get the keys for the dictionary pretty easily with the dict.key() method, but getting the next set of keys and updating the values is pretty tricky with the dict.update() method. When I try to build an update function to modify the first dictionary, I keep getting key errors. I’ve got a template for the update but I can’t figure out how to iterate through the dictionary effectively. So, time to tear the script apart and test the pieces, and hopefully I can get it all fixed by tomorrow’s stand up meeting.

I’m used to working with a close knit group of folks where I have been on staff for more than 10 years, so being the new guy and a contractor on the team is a bit weird. I don’t know how long I will be on this project, and what will happen when the project is over. I hope I can continue with this team to other projects, but I might get reassigned to a new team and have to start all over. At least I am working on new and interesting problems, but being stuck in my cubicle while the rest of the team goes to lunch or gets coffee is a bit tough to take. I’m trying to develop relationships with other consultants, but everyone is very locked in on what they are doing, so not much company level socializing is happening.

I adapted the Rifleman’s Creed to cubicle life: This is my cubicle. There are many like it but this one is mine…

I’ve had to buy a set of full coverage head phones so I can stay focused because I am near the kitchen and the elevator, and people are often having animated conversations nearby and it gets rather distracting, especially since I am not part of those conversations. Oh well, it has been a month since I joined, and so far, this is a pretty good gig. Just got to get really good at python and serverless functions so I can keep contributing. I see lots of evening practice programming in my immediate future. I also need to focus on getting my DevOps Engineer pro certification so I can land on a devops team if necessary. Lots to do!

Mission Complete: Got that AWS job!

It took about 4 months after I completed the AWS Solutions Architect Professional exam, but I got hired on with a large consulting company as a member of the infrastructure group, and I am working with an information security group with a large media company. Luckily, I was able to impress during my in-person technical interview, so I got hired even though I didn’t get the role for which I interviewed at first. A month later, and I am fully immersed in augmenting and tuning a business application that leverages several AWS technologies. The learning curve is nearly vertical, so much to learn now that I know that I really know nothing, when it comes to applying AWS. My humble four EC2 instances and a database are nothing compared to the scale I am working in now. So, hitting the tutorials hard to learn the details of the parts I only knew at a 10,000 foot level. Lots of late nights and early mornings studying before I go to work, and then an hour or two of work before my head hits the pillow. Still, nice to work on one problem instead of several, so I can focus. I’ve been using the pomodoro method to stay focused and take breaks to keep my brain fresh. This is the most I’ve had to use my brain in while, and I turn off all the distractions (except my new company email, can’t escape the leash!).

Got to get some rest before I attack my DynamoDB problem, my first!

Being pulled back to the Dark Side… Windows…

Well, these last few weeks have been a learning experience. I am finding that people are wanting more Windows (legacy Windows, no less!) experience, or much deeper Linux experience. Working at a school means I am not working with large scale distributed systems, and without a DevOps certification, I am not getting a second look. So, time to dive into PowerShell, Terraform, Windows 2016 as well as drive on with my LPIC and AWS certifications. Apparently the SA Pro is not the golden ticket to fame and fortune that I had hoped. Still, good opportunity to learn even more. One day my ship will come in 🙂

A moment of pause

My resume isn’t getting much interest, and obtaining the AWS Solutions Architect Professional certification has not been effective fairy dust. Still lots of work to do. My resume needs to be rewritten to focus on technical implementations to attract solutions architect and devops engineer opportunities, less about title, positions and management experience. I’m working on the DevOps Professional certification next, and expect to take it by the end of the year. We’ll see if having 5/5 will be enticing to tech companies. Clearly, my network needs work. I need to get out and meet people. I’ve got a meetup this Tuesday, which was hard for me standing around last time, I’ll see if I do a better job networking this time.

After I got my last certification, I took a bit of a mental break from blogging, but time to get back at it. Reflection is very useful, if for no other reason than to get your thoughts organized. Time to drive forward!

Learning Node.js

As part of my effort to find an opportunity outside of education, I am working on building my link app first as a php app that leverages DynamoDB, and then in a later version uses Lambda. So, I’m trying to learn Node.js with this course from Udemy:  Learn and Understand Node.js.  One thing I really like about this course is that the instructor takes time to explain how and why Javascript works the way it does, which can be a bit confusing coming from a PHP background. I have rarely used Javascript for more than field validation, so to see it as a full blown programming language with some really funky function syntax can be a bit intimidating. The author. Anthony Alicea, does a very thorough yet approachable dive into how things work. I highly recommend it. So far, not much to show for myself beyond a hello world script and some odd ports running on my workstation, but it looks exciting. I can’t wait to start putting the pieces together!