Posts

Getting started securing secrets in AWS Lambda is confusing at best and downright frightening at worst. You are faced with understanding and comparing KMS, Parameter Store, Secrets Manager, and Secure Environment Variables. You need to consider whether you are going to be retrieving secrets at run time, deploy time or a hybrid. And when you do retrieve the secrets you also are faced with deciding on whether to retrieve them decrypted or encrypted for later manual decryption.

I recently started collecting data on
reservation events for Fire Lookout Towers booked via Recreation.gov as part of my side project Tower Scouter. This
post explores my first attempts in using AWS Glue, Amazon Athena, and Amazon SageMaker services for a
fully managed ETL and analytics pipeline to really geek out on
fire lookout reservation trends and patterns.

Diversity in teams is a good thing. I’ve been thinking about the
diversity in behavioral tendencies that help to create a one-of-a-kind team
culture. Specifically, how does diversity play a role when encountering
dysfunctional processes in a software organization?

In contrast to the geotagged, Yelp rated, and Google streetviewed locations that cover populated areas, points of interest in the wild are very sparse in terms of accessible API data. Searches for trailheads, rivers, mountain peaks, climbing routes, swim holes all have wildly different results between the big geo-based API providers.

Agile Camp Northwest 2017 was held in early September at the Nike World Headquarters in Beaverton, OR. There were a couple talks that really got me scribbling. These are some takeaways from the talk Scaled Agile and DevOps: Give Your DevOps Initiatives More Context by Leveraging Agile At Scale by Kathryn Kuhn (Slides)

It’s 2017 and when two devs sitting next to each other are confronted with the task of transferring a giant bulky file from one laptop to another, the stress in the room rips. Why is this so hard? I found myself in this situation recently when my coworker suggested we try netcat. With full skepticism on how an ancient unix tool can possibly be an acceptable answer with all the airdropping, cloud syncing, and transfer-a-file-as-a-service options out there, I agreed to give it a shot.

It wasn’t until recently I realized GitLab, the opensource alternative to GitHub, has an amazing CI/CD platform. In my last post on How to Choose a Continuous Integration Tool I outlined my key criteria to choosing a CI tool. More often than not, CI tools end in developer frustration at the complexity, poor UX, and high amounts of effort to tune it just right. CI shouldn’t be that complicated.

The most rewarding meeting for me is by far the team retrospective. It is the opportunity to pause, express gratitude, and look collaboratively for ways to continuously improve as a team. It builds trust, it removes bottlenecks, it provides learnings, and it accelerates positive outcomes for the company. It’s a great meeting.

A scraper should run as infrequently as possible. It’s polling at its worst. These short-lived, infrequent requests make it a great candidate for Function-As-A-Service (FaaS) as it eliminate all the complexity and cost around running a server ourselves. For this post I’ll be in AWS land using the Lambda service and DynamoDB for auto-detecting changes to a website via scraping.

I recently switched over my python based microclimate weather app Weather Hunt from running in Heroku to AWS Lambda. Heroku changed their pricing structure a while back that made it so a 24/7 running hobby app costs $7/mo. Amazon’s Lambda serverless offering on the other hand offers 1 million requests a month for free!*. Because I’m cheap, that $7 savings got me all excited. I also fully concur with the post on how Serverless is the PaaS I always wanted.

Reading the The Lean Startup by Eric Ries was one of those foundational mind-shifting books for me. The Build-Measure-Learn feedback loop, using the scientific method of starting with a hypothesis and defining ways to test it up front, and the concept of the MVP have changed the way I think of software development. I’ve been pressed recently in how to integrate UX into our Scrum team so I sought out Jeff Gothelf and Josh Seiden book Lean UX: Applying Lean Principles to Improve User Experience. It’s a quick read with some great practices for UX in agile environments. Here are some of my takeaways.

My coworkers joke that I secretly have large investments in 3M. Boxes of Post-it notes regularly are being shipped to our office, our walls are covered with them and it’s not an uncommon occurrence to find someone scraping at their shoe to flip off the vagabond sticky hitching a ride. Sticky notes at first glance may seem like chaos when there are so many well polished tools out there that are luring you to start your ‘free trial’. Here are 4 benefits to using sticky notes that you just can’t get with a digital tool.

By taking the time to regularly checkin with our users we minimize waste (expensive engineering on the wrong things) and we maximize value (small feedback loops to validate assumptions with real users). This can be a challenge in small companies and even more of a challenge in larger organizations with a history of requirement documents and segregated business units. It’s easy for an agile team in a traditional organization to be handed a Requirement Spec from product management and jump straight into the technical implications of ‘how’ to implement a user story without really understanding the ‘why’.