Well, Technically
Status Report
Currently onboarding for the new gig, I'm starting to get excited about it. I'm sure there will be challenges, I'm hoping they will be the good and interesting sort of challenges, especially in comparison to some of the issues (around architectural decisions, tech debt, inertia, and more) I've dealt with in this sort of role so far. Not to knock my last job or team, they're fantastic and, I hear, getting along well enough, which brings me joy. Having more mature systems to interface with and getting to code more are exciting prospects, though the second raises the impostor syndrome up hardcore. Either way, I'm hopeful.
A Technical Side Project (Those Extra 20 Hours)
The title of this subheading brought to you by Uncle Bob's assertion that if you're working 40 hours a week, you should be studying 20 hours a week. I don't quite know if I agree with that one as doable for many people or ideal, but I know I can fall down the rabbit hole of extracurricular learning and projects. The last few nights have been a lot of Terraform-ing of an older project that had manually provisioned infrastructure, trying not to just implement infrastructure-as-code but to pick up some better/best practices in Terraform and beyond along the way. The project revolves around EC2 Image Builder, an interesting but immature and under-appreciated, under-supported service.
Some quick takeaways for an eventual technical blog about it:
- Image Builder's learning curve isn't helped by just how long it takes to go through the process of building and testing images, but that's a product of its design one just has to live with, I guess. Rapid iteration and feedback, waiting on EC2 instance availability for minutes is not.
- Networking! Shaking my fist at the sky hollering at properly putting together the right 'infrastructure configuration' for the Image Builder pipeline to make sure it could do essential tasks like reach out with SSM or properly putting together the right infrastructure configuration in the sense of what the resources referred to in that configuration(VPC, subnets, etc.) looked like was some trial and error. Again on rapid iteration, seeing it take 15 minutes to time out when the SSM agent didn't work on an instance and gunked up the pipeline was disheartening. I might've even fixed it before it timed out by making sure I was auto-assigning public IPv4 or something.
- Refactored along the way to use modules more, something I've not embraced enough after dealing with them as an occasionally needless layer of abstraction at work before. Definitely best practice, and in the future I should write TF(or OpenTofu or whatever ends up being standard) from the jump with modules in mind.
- Monitoring is lacking on Image Builder, alerting and responding especially. Maybe this is the SRE in me, but I feel like AWS services that have gotten the short stick (looking at you ECS) you can often tell by a lack of monitoring and remediation integrations.
Whoa, that was a lot. I'm gonna sleep that one off. Or, well, cleaning up that Terraform code sure does sound enticing at nearly midnight here...anyway, new gig in less than two weeks, time to get hype and get good in prep!