Welcome to Shallow Brook Software!
My name is Andrew Dailey and I’m an independent programmer from Des Moines, Iowa. I have a Bachelor of Science degree in Software Engineering from Iowa State University. I have multiple years of industry experience working a variety of positions including Linux system administration, Python-based ETL, and large-scale cluster automation. Software development is one of my primary hobbies and I tend to specialize in backend / systems programming.
I am proficient in the Python, C, and Go programming languages. I’ve created and deployed multiple full-stack web applications (Bloggulus is a recent example). Simplicity and maintainability are my highest priorities when designing any piece of software. My goal is to deliver solutions that perfectly fit the size and scope of the problems they solve: nothing more and nothing less! I’m not the type to pitch an over-engineered bundle of technical debt when all you need is a few scripts.
Additionally, I have a large amount of experience automating tasks with Terraform and Ansible. From initializing and setting up new servers to to installing, configuring, and maintaining clustered applications, I’ve used these tools to solve a wide breadth of problems. I believe that the structure of an Ansible project is the most important factor to keeping things simple, flexible, and effective. As a result, I’ve developed useful strategies for defining relationships between playbooks and roles, delegating variables, and using custom filters to implement dynamic decision-making.
The name of this site is an homage to the old phrase “A shallow brook babbles the loudest”. I’ve tried to find a good way to bridge a metaphor between the phrase and my development beliefs but nothing ever really comes out of it. You could maybe try and link loudness to software complexity, I guess. I just like the phrase and think it makes for a simple and memorable name. I do believe that the steadily increasing complexity of software systems is a real problem for modern projects, however.
I dislike complexity and always strive to implement the simplest possible solutions to the problems I encounter. I admire the Unix philosophy of designing minimal, modular software.