What I know
- "Make it as simple as possible, but not simpler".
- "Right tool for the job".
- "Do one thing but do it well".
- "Ask why five times".
- The Pareto principle.
- The Hofstadter's law.
- Translating between business and engineering languages.
- Sharing knowledge and helping other developers.
- Seeing problems early on.
- Generalizing and simplifying.
- Java: since 1990s, staying current.
- SQL and relational databases: since 1990s, staying curent.
- Python: since 1990s.
- Microservices, SOA, parallel, distributed.
- Testing: unit, functional, integration.
- Scala, Spark; EC2, S3, EMR; Typescript, React.
What I'd also enjoy using at work
- Functional, reactive, actor models.
- Machine learning.
- Kotlin, Typescript, Rust, Haskell, Elixir.
What I try to avoid
- No-coding management work.
- Heavy multitasking.
- Releasing on a Friday night, unless many releases a day are routine.
- C++, Go, PHP, MongoDB as centerpieces of my work.
Where I worked
- Engineering work on FB Messenger's data API layer.
- Hack (the language), non-public tools and frameworks.
Click Therapeutics, Inc: 2019-2020
- Architecture work on authentication and authorization.
- Architecture work on a local development environment.
- Implementing and maintaining backend services.
- Designing and implementing pieces of Web frontend.
- Improving engineering processes.
- Conducting and actively improving hiring interviews.
- ES6, React, Node.js, Python, Postgres, Docker. AWS (EC2, Lambda, CloudFormation, etc).
GrubHub, Inc: 2016-2018
- Mostly data integration with third parties.
- Python, Java, SQL, Cassandra, Spark, queues. AWS, SOA.
Handshake Corp: 2015
- Work on the backend of a sales support product.
EPAM Systems: 2011-2015
- Contractor for Google NYC. Various internal tools.
- Worked on PyCharm since inception until release 1.2.
- Java, Python (great many variants). A fully remote team.
- MD in Computer Engineering from Samara State Aerospace University, 1995.
- Various jobs and gigs involving programming all the way back to 1992.