F. Cody Casterline
Cell: +1 (512) 560-9868
Summary
With over 20 years of technology experience across various industries,
I have a breadth of knowledge that can help teams weigh options when solving problems.
I have "full stack" experience, from bare metal to distributed cloud infrastructures,
from scripting languages to compiled languages, from back-end to front,
and I enjoy helping teams learn new technologies, or improving their use of existing ones.
Skills/Keywords
Rust
Kotlin
Java
TypeScript
Deno
Python
JavaScript
Go (Golang)
Bash
Code Review
Performance Optimization
API Design
Documentation
AWS
SQS
Kubernetes
Docker
Package Management
Dependency Management
Open Source
Encryption
REST APIs
Protocol Buffers (Protobuf)
Relational Databases
SQL
PostgreSQL
SQLite
MySQL
ORB (Object/Relational Bridge)
Elasticsearch
Source Control
Git
GitHub
CI/CD
Continuous Integration
Continuous Deployment
Automated Testing
Experience
Govyrl, Inc.
AKA:
Carro
Senior Software Engineer, Sep. 2021 - Present
- Spearheaded adoption of several new technologies, including: Kotlin, SpringBoot, Netflix DGS (GraphQL), Kubernetes, Quarkus
- Intereviewed and mentored new hires
- Led scrum meetings (stand-up, grooming, retrospective) as needed
- Championed adoption of monitoring, logging, and alerting best practices
- Worked with customers to explain, implement, and maintain custom SaaS integrations
- Partnered with Product Management and Design teams to guide early-stage development of new product features
- Pushed for improving technical documentation standards
- Code reviews, pair programming, architecture design documentation (ADRs)
- Implemented back-end and middleware (GraphQL) systems to support new product features.
NZXT
Software Engineer Team Lead, Oct. 2020 - Dec. 2020
- Streamlined and documented a hiring process for software engineers
- Facilitated better communication between Engineering & QA teams by agreeing to and documenting ticket handoff procedures
- Led agile processes (standup, backlog grooming, sprint planning)
- Attended cross-team meetings to improve communication between teams. (Hardware, QA, front-end, and firmware teams)
- Performed regular code review and pair programming
- Helped rewrite my job description to better match NZXT's actual needs
Indeed
Senior Software Engineer, May 2019 - Sep. 2020
- Along with regular code reviews, frequently paired with developers to
tackle technical challenges with investigating, debugging, and
implementing features.
- Refactored legacy queuing logic to remove implementation-specific
calls. This allowed for a transparent migration from RabbitMQ to
SQS message queues.
- Rearchitected backend data processing systems to use multiple
threads to improve processing times while using fewer resources.
- Meticulously documented systems as we learned or designed them.
- Rewrote integration tests to reduce race conditions and
undefined behaviors to improve reliability. This enabled
push-on-green deployments.
WP Engine
Senior Software Engineer, February 2014 - May 2019
- Led work to automate release and rollback processes.
- Led work on switching to tagged releases, and then packaged deploys.
- Mentored other software developers regarding technical design, test plans, code reviews, profiling, and debugging.
- Worked to encapsulate/emulate deployment environments within Vagrant or Docker images for local testing, and/or deployment.
- Performed regular peer code reviews.
- Contributor on project "Ditto" — A redundant, failsafe, distributed hosting environment.
- Contributor on the "Data Platform" project — a cross-product data warehouse.
- Worked remotely from Reykjavik, Iceland, for 4 years.
SmartBear Software
Software Engineer, November 2009 - February 2014
- Maintained and extended custom object/relational bridge backed by HSQLDB, MySQL, MSSQL, and Oracle.
- Improved performance of Dynamic Reports system, used to create custom report SQL from a web UI.
- Profiled server-side performance to find and fix Java and SQL performance bottlenecks.
- Designed and implemented new SOAP APIs for Code Collaborator Server using Apache CXF.
- Led the effort to convert from Subversion to Git.
- Implemented a merge request system with continuous integration to ensure stability in the development branches.
- Maintained Apache Ant build system and extended it to better handle dependencies using Apache Ivy.
- Worked with tech support staff and customers to debug and resolve issues uncovered within the product.
- Performed regular reviews of coworkers' code to verify correctness and best practices.
- Supported enterprise deployments of Code Collaborator, including LDAP and SSL configuration
The New York Times
Senior Software Engineer, September 2008 - August 2009
- Analyzed existing Community back end for performance bottlenecks. Evaluated current caching scheme using modified Memcache APIs. Documented code dependencies.
- Implemented a tiered migration plan for standardizing Community back-end APIs while maintaining backward compatibility.
- Created scripts (Python, PHP, SQL) to normalize inconsistent/missing data using a variety of data sources. (Database dumps, web services, etc.)
- Assisted in the project to migrate Community services to Amazon's EC2 platform.
- Wrote CloudSource, a code deployment system based on ServerMattic which provides an easy path for getting working code onto servers quickly. It served as the core deployment methodology for the NYT Community platform.
- Wrote technical documentation for existing and new APIs and software.
- Provided support to other teams interfacing with Community data. (Advice, samples, data extracts, etc.)
Pervasive Software
Engineering Consultant, March 2008 - August 2008
- Maintained and extended a custom MCF application plugin for Pervasive's Data Integrator software suite.
- Wrote test plans and assisted in debugging a DMS plugin for Data Integrator.
- Assisted customers in developing and maintaining data translation processes.
Fusion Learning Systems
Engineer, September 2006 - October 2007
- Maintained and extended a Java (Swing) application used for creating class curricula based on textbook contents.
- Maintained and extended a J2EE application that created course materials based on data files.
- Led technical development of a J2EE LMS,
including requirements gathering, technical design, documentation, and
choice of technologies. (Apache Ant, Apache Struts, Hibernate, Jython,
Apache Axis)
Tocquigny Advertising, Interactive + Marketing, Austin, Texas
Interactive Developer, March 2003 - March 2005
Senior Interactive Developer, April 2005 - February 2006
- Developed a DHTML library to simplify building dynamic, template-driven site navigation.
- Maintained
and extended proprietary "response metrics engine", a multi-user web
application which tracked and reported on hundreds of thousands of
dollars worth of advertising campaigns.
- Brought Object Oriented Programming techniques to existing code to provide reusable APIs which sped further development.
- Simplified and optimized database schemas and queries.
Interactive Ensemble, Austin, Texas
Web Programmer, May 2000 - March 2003
- Wrote a custom system monitoring and reporting tool to monitor system status and send alerts on system failure. (Python)
- Wrote a file based web templating engine, "Phope," which uses
PHP to implement Zope-like features.
- Helped migrate from proprietary to Open Source software.
(BIND,
MySQL,
PostgreSQL,
exim,
DHCP,
GNU/Linux,
Samba,
Netatalk)
- Headed
the migration of web, file, mail, DHCP, DNS and other servers to a new
IP block. Used iptables to forward traffic to the new net block for
nearly zero downtime, even in spite of laggy DNS updates.
- Headed the creation of a business-to-business ordering system with a three-tiered approval process.
- Debugged and extended "Indacta," a site management system. (PHP)
- Worked with various database back ends. (PrimeBase, MSSQL, PostgreSQL, MySQL)
- Designed database schemas for custom web applications.
- Converted page mock-ups from the design department into dynamic web sites. (HTML/PHP/JavaScript)