Technology connections

worms eye view of buildings
worms eye view of buildings

Key Accomplishments

● Mentored, educated, and prepared five beginner-level students at Rmotr for Junior Developer positions, kickstarting their career changes.

● Project managed a hackathon team from statement of requirements through product demo, providing key updates, coordinating between team members across 4 time zones and 3 teams, and providing documentation and hand-off at each stage.

● Researched, wrote, tested, and trained team members on a triage process for our ETL system, allowing DevOps and Solutions Architects to self-serve resolutions on several critical gaps in our process while organizing long-term monitoring strategies to fill those gaps.

● Analyzed a process for returns management that utilized 12 staff members between 3 departments and 4 managers that previously used Google Docs and replaced it with a no/low code database application in 5 weeks, which tripled staff output, saved roughly $20,000/month, and increased customer satisfaction by 22%.

● Automated a manual process: from a manual process with proprietary software (physical devices) to a documented, reproducible, scalable process with automation on the software side.

● Avid Linux user for over 20 years, self hosting a variety of services (started as manual configuration, currently migrating from docker-compose to Kubernetes) with a small user base and minimal down time.

● Running private FaaS and AWS Api Gateway services for home and project automation

Target Roles:
  • DevOps Engineer

  • Site Reliability Engineer

  • Backend Software Developer

  • API Documentation Writer

  • Developer Resources Writer

  • Developer Support Engineer

  • Security Engineer

Interesting Project Scopes:
  • Internal tool development

  • CLI applications and automation

  • Open source development

  • Developer outreach

  • Containerization and automation

  • Version control for documents, configuration files, and manual SOPs

Current Role(s)
  • DevOps Admin, BioInteractive @ HHMI

  • Freelance Writer, How-To Geek @ Valnet

Libraries/Frameworks:

  • Django/Flask

  • FastAPI/Starlette

  • Requests, mock-requests

  • SQLAlchemy/Raw SQL

  • Pandas, Bokeh/Matplotlib

  • Click, Rich, tqdm

  • BeautifulSoup/web scraping

  • MyPy, Black, PyTest

  • Regex

  • pyautogui/desktop process automation

  • HTML/CSS/JS

Software/Concepts:

  • Debian/Ubuntu (~20 years)

  • Bash scripting, systemd services

  • Windows/MacOS

  • Postgres, MySQL/Maria, stored procedures, query analysis

  • Git/VCS

  • Docker/Containerization

  • RESTful API backends/clients/docs

  • AWS/GCP - VMs, buckets, logs, FaaS

  • Agile, Scrum, and Waterfall

  • Atlassian/Office/GDocs Suites

  • Slack/Discord/Teams

Soft Skills:

  • Mentorship

  • Leadership

  • Management

  • Documentation

  • Public Speaking/Presentations

  • Cross-discipline communication

  • C-Level communication

  • Client-facing communication

  • Traveling/Consulting

  • Strong interpersonal and relationship-building skills

In Progress:

  • CompTIA Security+ certification

  • Kubernetes deployments

  • Terraform configurations

  • Rust

Other Technical Skills:

  • Design/deploy private mesh network

  • Raspberry Pi cluster

  • Home Theater PC Building/Config

  • Various Media automation processes

My Journey

I've been interested in learning all my life, but the seed of that desire came from technology. It should be no surprise, then, that I became a self-taught developer.

While I started learning with JavaScript, I fell in love with Python and have been using that personally and professionally to solve problems for over 8 years. I've been a Backend Developer for about 4 years now, and working with APIs, databases and data models, and automation is something I enjoy doing greatly.

After working closely with DevOps team members, I've been learning about DevSecOps and Site Reliability/Platform Engineering principles, especially as they apply to the cloud. I've been an avid Linux user for over 20 years and have been running my own servers in some shape or form for over 15. I'm familiar with using Ansible and Docker to make running my services easy, and am now exploring Terraform/OpenTF and Kubernetes to automate more completely.

Aside from automation, which I've covered, there are a few other very significant things I'm passionate about in the tech world: open source, documentation, and iterative improvement. I don't think you can be a Linux user as long as I have been without understanding the important work of FOSS developers. Things like HeartBleed really showcase that we need to contribute from the private side and fund strongly from both private and public sides. So much of the basic infrastructure of the internet relies on FOSS and it's imperative to give back to maintain that infrastructure.

Documentation is a natural thing to be passionate about, not least of which because I am both a developer and a writer. Clearly documented processes are critical for lowering incident response times, long-term maintainability, and just general developer quality of life. It's no surprise that well-explained APIs - e.g. Stripe, GitHub, OpenAPI - get adopted quickly and stick around for longer. It also makes sense why declarative YAML files for tools - e.g. Ansible, Terraform/OpenTF, Docker Compose - are so well liked. They reduce complexity for version control, are easier to manage and deploy, and they are in some ways self-documenting. We're often taught as developers that we should clean up code as we revisit older sections, but we often don't document older code as we learn it. Swagger works great but it can only get you so far.

Iteration is a critical framework that extends beyond tech. It's so old that soliders have made the OODA loop second-nature, and you'll see many developers using our equivalent - REPL - in their daily lives as well. Iterative improvement applies at all levels; SDLC, sure, but also our self-teaching cycles, our relationship cycles, and our self-care cycles.

Technology does not exist in a vacuum, it's designed for use by people at the topmost layer (and often lower layers as well). It's especially important for those of us who are interacting so closely with machines that we remember our humanity. Having empathy for our team members and users is critical to not only delivering good products and experiences, but also for just being good humans and making contributions to society at large. Finding and making strong connections with folks we interact with is critical to survival, but also to flourishing as a person. It's especially important for those of us who are interacting so closely with machines that we remember our humanity. Using "conceptual frameworks" to do this is just a jargon-y way of saying we need to apply our core values and principles every day, and we can and should be inspired by the tools we see throughout each of those days.