layout | title | sitemap | ||||||
---|---|---|---|---|---|---|---|---|
page |
About Samuel Volin |
|
Programmer, Mathematician, Rad Dude & Your Friend
[email protected] - keybase - github - twitter - linkedin - eth address
Programming is more than a skill, it is a craft.
Good software is not conceived, it is developed over time, preferably by a team of dedicated and passionate friends, and with an eye towards overarching design and flexibility. Software engineering is about studying the trade-offs and nuances of the tools at your disposal, and becoming fearless in the face of the technical unknown. Through gradual practice and research, mastery is attainable.
I am a professional Software Developer, currently residing in Denver, Colorado. I am passionate about mathematics, functional programming, software engineering, polyglot programming, network security, cryptography, and developer operations.
I was previously employed at LogRhythm 💠
I have navigated fulfillment of FIPS 140-2 requirements for a project. I have broken monoliths into microservices. I have shoveled legacy code into tested & automated nightly builds and all of it again in Night mode. My tenure at LogRhythm taught me the importance of customer collaboration, automation of operations, and open technical perspectives. Those experiences taught me to recognize simple solutions and how to mentally begin to address chicken and egg problems.
I am currently employed at StackHawk 🦅
Helped build all parts of the company; from the UI and backend, to the documentation and underlying protos and build tools. Wrote terraform to provision replicated codebuild jobs across striped environments, expanded upon and helped structure the initial UI, employed custom react state library used in production for years slack, jira cloud & automated Api Documentation with OpenApi specs, readme and postman. Stripe integration. Began to harness the power of Kubectl and helm to provision to automate deployment of software to our clusters. Built and defined Argo Jobs to accomplish structured cron tasks and streaming data operations.
Lots of documentation. Lots of functional programming. Build automation. Api Documentation automation. Separating CI from CD. Automating complex builds of deployments of software that eats software. Developing software in adversarial conditions. Creating a windows installer for a kotlin application with embedded java runtime.
I currently enjoy working with Typescript and Kotlin. Previously I worked significantly with Go and Elixir . I also have familiarity and experience working in Java, C, Python and Ruby .
I like my frontends in react, angular, vue-js... just as long as its typescript. I like my backends in kotlin spring boot, or generated from openapi files. I like my notification services stateless. I like my operations managed with k8s and monitored with grafana.
I prefer Terraform to provision replicated environments with IAC. I like Kubernetes to control, monitor and operate containerized software.
- vscode solid text/programming editor
- intellij preferred editor for working in a jvm environment
- better touch tool for windowing n macros
- lens visual UI for k8s, its pretty rad
- docker preferred container management solution
- slack preferred team communication mechanism
- aws preferred cloud provider
- cypress preferred front end integration test suite
- zap open source DAST tool
- grafana preferred open sopurce monitoring tool
- stackhawk pretty awesome DAST and appsec monitoring tool
- logrhythm pretty decent SIEM
I am familiar with both the Object Oriented Programming and Functional Programming software design philosophies. I have strong opinions about both of these, ask me about them.
I also adhere loosely to the design philosophies of Railway Oriented Programming and Test Driven Development.
I have worked with gitflow and trunk based software branching models. Both strategies have advantages and disadvantages. The key to fast and safe software development is to establish a CICD pipeline, and aim to separate your CI from your CD.
I enjoy working with the Scrum and Kanban iterative development philosophies, and advise talking to customers and soliciting constant feedback.
Engineers work with product and design to implement and structure software. Product works with engineering, marketing and customer support to direct the roadmap. Design team works with engineering and marketing teams to coordinate a brand and messaging.
Excellent communication and writing skills are just as necessary to Software Development as programming ability, if not more so. If the software has flaws, customers will go to your documentation. If your documentation sucks, customers will go to your competitors website.
There is no one right way to build software but there are plenty of wrong ways
- Fullstack Engineer, StackHawk (2020 - present)
- Junior Fullstack Engineer, StackHawk (2019 - 2020)
- Software Engineer, LogRhythm (2016 - 2019)
- Software Engineering Intern, LogRhythm (2015-2016)
- Student Assistant, OIT Network Security & Information Risk (2013-2015)
- University of Colorado at Boulder (2012-2016)
- Bachelor of Science in Computer Science
- Bachelor of Arts in Mathematics
- Overland High School (2009-2012)
- (vendored) RSA - April 2023, San Francisco CA
- (vendored) DevSecOpsCon - January 2023, Seattle WA
- (vendored) DevopsDays - April 2022, Chicago IL
- (vendored) RSA - April 2022, San Francisco CA
- (attended) LambdaConf - June 2018, Boulder CO
- (attended) ElixirConf - September 2017, Bellevue WA
- (observed) EthDenver Hackathon - February 2018, Denver CO
- (participated) Money 20/20 Hackathon - October 2015, Las Vegas NV
- (won 🥈) HackCU 2015 Hackathon - April 2015, Boulder CO
- (won 🥉) Coinorado Bitcoin Hackathon - November 2014, Boulder CO