Senior Software Engineer at CAIS, Technical Lead on CAISIQ.----I am a practitioner of Extreme Programming with the experience to know that collaboration, automation, tests, and simplicity will deliver successful products to market faster.I leverage a test driven workflow that has proven to be effective for success in the market. I focus on the product, ensuring that the correct features are delivered in a timely manner, by relying on tests to ensure the intended behavior through the entire system.I own the entire lifecycle of code, from local development all the way to crafting automated deployment into the production environment. I rely on widely available tools and methodologies to create a reproducible development environment which yields early feedback signals. This means we catch the errors early, so the customer does not. It also increases our speed to market by enabling the developer to detect problems immediately.I follow simple rules to ensure a simple software lifecycle, such as 1. All software can be run locally.2. The same commands are used in CI/CD as are on a development machine.3. Configuration always and only lives in environment variables.4. The software never knows which environment it runs in (including tests).Diagrams help, but working code is a lot more valuable. I have a tendency to release code to environments before I am comfortable with it, in order to catch incorrect assumptions early. A working test and CD pipeline is a necessary component of acceptable code. I am particularly interested in continuing my career with Elixir. I have professional experience in Kotlin, Elixir, Ruby, Scala, and Java. Over the course of my career I have gravitated from the early exuberance for Object Oriented Programming, to the well-grounded approach of Functional Programming.
Listed skills include Java, C#, Spring, R, and 16 others.