Avi Flax
Developer / Designer / Documentarian / Generalist / Problem Solver / Software Human
I design, build, document, and operate software systems and teams that solve real problems and make a positive difference in the world.
I believe that values matter.
More Values
I believe that:
- diversity and inclusion are crucial and create rich, healthy, sustainable, productive communities (companies).
- DRY and the Rule of Three apply to docs just as much as code.
- people can only do great work if they are healthy, growing, supported, and respected.
- all great processes have one thing in common: they are regularly reviewed and refined.
- the only thing that matters about any technology is its potential to solve problems.
- technology is a phenomenally powerful tool that we humans have at our disposal to solve problems — if we so choose.
- we humans do some of our best thinking while communicating — so let’s do more of that.
- institutional/communal memory is critical to building sustainable organizations.
Current Position
2017–present
Principal Software Engineer at Funding Circle
- Leading a drive to level up the documentation and knowledge sharing culture/practices of a ~200-person product development group
- Taken point on designing and implementing a useful information architecture for the corporate wiki
- Conceived, developed, and released FC4, an open-source framework for authoring, publishing, and maintaining software architecture diagrams (repo)
- Released FC4C, an open-source tool for working with FC4 diagrams. (Yeah, the name, I know. I’ll be renaming it soon.)
- Built github-tools, a toolset for working with GitHub in a large org with many repos.
- Released Learn You Some Kafka! — atomic, bite-size, highly-focused interactive tutorials that teach how to work with Kafka using Ruby or Clojure.
- Working on improving organizational effectiveness; e.g. communication channels, practices, etc.
Prior Experience
2016–2017
Principal Software Architect at Park Assist
- Facilitating the company’s transition from execution phase to growth phase
- Increasing collaboration and cohesion of the engineering team
- Establishing roadmaps for all systems
- Designing, building, and operating:
- streaming data pipelines conveying data from sites around the world to a central data center
- stream data topologies using Kafka, Kafka Streams, Kafka Connect, JRuby, and Clojure to effect high-throughput and low-latency data-centric applications
- Driving adoption of:
- infrastructure-as-code, configuration management, and immutable infrastructure with Terraform, Ansible, CircleCI, AWS, and Kubernetes
- consistent conventions around testing, documentation, code review, and continuous integration
- Operating services with Terraform, Ansible, AWS, and Kubernetes, Datadog, Slack
- Defining and executing new approaches to:
- engineering support
- team structure
- hiring
- Create a culture of caring about sustainability, documentation, and maintainability
- Introducing and championing new:
- Mentoring those new to software engineering
2015: Timehop
- Refactored a critical and complex system into a loosely-coupled stream-based system using Kinesis and Go (slides)
- Designed and implemented sophisticated integration with Twilio for SMS-based signup
- Designed and implemented a large-scale data processing tool to process billions of records very quickly
2014: Thinkful
- Designed and implemented an event-driven system to automate Stripe subscription management
2013–2014: SFX Entertainment
- SFX acquired Arc90 in 2013 to be its internal app design and development group
- I initially adopted the title CTO, then recruited someone amazing to replace me and shifted to Chief Sofware Architect
- I helped design and build an ambitious new-from-the-ground-up streaming music platform and integrate it with existing products
- I helped shape the organization by helping craft its structure, practices, culture, goals, communication, and approach
- I recruited key personnel
2005–2013: Arc90
- Arc90 was a Web application design & development consultancy; it was acquired by SFX Entertainment in 2013
- Wore many hats: developer, architect, team leader, partner, director
- Worked with teams to design, build, and maintain sophisticated software platforms, including:
- A Web/SOA insurance platform covering all key aspects of policy origination and management
- A Web-based search engine and reference platform for engineers
- An API at the heart of a new-from-the-ground-up news distribution platform for Reuters
- Conducted technical audits of clients’ acquisition targets
- Helped manage the business as a partner
- Managed client relationships
- Invested much time and effort in recruiting and retaining exceptional team members
- Started practice of regular company-wide code review
2001–2004: ADP
- Refactored, enhanced, and maintained a sophisticated application for producing custom financial documents for on-demand printing
2001: Register.com
- Team lead position for large high-traffic auction site
- Responsibilities included designing, implementing, and maintaining features; and reengineering site technology and architecture
- Created new internal tools and development procedures
2000: RewardsPlus
- Maintained and enhanced a large-scale online employee benefits enrollment system for diverse clients with diverse needs
1998–2000: Words In Progress
- Developed requirements and specifications for high traffic websites directly with clients; crafted application architecture and database design
1998: Ideal Computer Strategies
- Worked with teams of designers, coders, and project managers to concurrently develop and deploy client websites with basic dynamic features
1997–1998: PCC Internet Design
- Founded and managed a small web design shop in Pikesville, MD providing full-service web design and development to small companies in the Baltimore area
Examples
Most of my work is proprietary and private; this selection of things I’ve managed to release publicly doesn’t represent my full skillset.
- 2018:
- Presented Concurrency via Communication — Large and Small at the Bay Area Clojure Meetup (hosted by Funding Circle)
- Released FC4, an open-source framework for authoring, publishing, and maintaining software architecture diagrams (repo)
- Released FC4C, an open-source tool for working with FC4 diagrams. (Yeah, the name, I know. I’ll be renaming it soon.)
- Built github-tools, a toolset for working with GitHub in a large org with many repos.
- Released Learn You Some Kafka! — atomic, bite-size, highly-focused interactive tutorials that teach how to work with Kafka using Ruby or Clojure.
- Presented Large Nested JSON with Spec: A Comedy of Errors at the Bay Area Clojure Meetup (hosted by Funding Circle)
- 2017:
- 2016:
- 2014:
- 2013:
- Published Resourceful, a Clojure library that provides a more concise and more RESTful alternative to declaring routes.
- My last major project for Arc90 was to build a new platform for reuters.com:
- I created a diagram of the overall architecture of the “Reuters Next” platform
- I was asked to review a draft of the API spec; I provided these notes
- I developed a document to capture the culture and process of my team, so we could ramp new members up quickly and effectively
- I determined that the API codebase I had inherited needed to be refactored, and wrote this summary to explain why
- When I left the project I shared my parting thoughts with the team
- I sometimes perform technical audits of existing applications or platforms. Here’s one example; I can provide more extensive examples upon request.
I’d be happy provide more examples of my work, such as architecture diagrams and presentations, business analysis, code, etc. Please get in touch!
Key Skills
- Problem analysis
- Software design, architecture, construction, deployment, and operation
- Deep expertise in the World Wide Web and HTTP
- Web API design & development
- Product design
- Data engineering
- Documentation, information architecture
- Team/organizational leadership
- Assessing and improving organizational effectiveness
- Organizational architecture
See also Additional Skills below.
Key Technologies
See also Additional Skills below.
Around the Web
Additional Skills
- Behavior Driven Development
- Browser APIs
- Business analysis
- CoffeeScript
- CouchDB
- Datomic
- DB Design
- Django
- ElasticSearch
- Flask
- Groovy
- Information architecture
- JavaScript
- Markdown
- MongoDB
- Node
- OmniGraffle
- PostgreSQL
- Restlet
- SQL
- Solr
- Stripe
- UX design
- XML/XSL/XSD/XQuery
Hobbies
Thanks!
Thanks for scrolling all the way to the bottom of my résumé! I appreciate your interest. At this point, you might want to get in touch. Please do!