| layout | page |
|---|---|
| title | About |
| permalink | /about/ |
I'm a lifelong learner. For the last 20 years I have been harnessing technology and creativity to solve problems. I have done everything from Tech Support to System Administration to Development and DevOps. My extensive background stems from by belief that learning is a lifelong journey. I don't believe in silver bullet one size fits all solutions. Each solution must be tailored to how you do business.
I Deliver Business Value. The best way to deliver business value is to focus on the Customer. The customer is the most important factor in any business decision. Customer Satisfaction (read Business Value) is the most important thing any problem solver can deliver. We need to make sure that everything we do is connected to the customer. I'm a big fan of LEAN which teaches us that anything that isn't for the customer is waste. The big items I like to focus on are
- Increasing Revenue - Best achieved through relentless commitment to customer satisfaction and finding new ways to meet customer needs.
- Reducing Expenses - Using tools like LEAN, Value Steam Mapping, Fast feedback loops and Minimum Viable products.
- Business Agility - Anything that allows us to outmatch the competition like DevOps, Retrospectives and yes Continuous Learning.
I'm a polyglot programmer. That means I don't believe in one language, framework or stack to rule them all. Each language has its advantages and disadvantages. I might write a web frontend in Laravel that publishes events to an event stream like Kafka. I might then use Kafka/KSQLDB (which exist in java land) to execute aws lambda services written in node to execute SQL statements against a legacy ERP database.
I believe in safety and security. Business today can't afford to be absent minded when it comes to security. I use a "shift left" approach which enables me to find security issues and defects early in the process. Security planning begins on day one. I have worked on many ideas where "we will worry about security later". This has proven to me to be an antipattern that usually ends up taking longer and costing more. One of my favorite techniques is to use static code analyzers and unit tests to identify security problems as early as possible. Another great technique is to embed your security professionals on project teams as early as possible so they can influence the requirements process and overall architecture. Of course this only works if you are lucky enough to have dedicated security staff.
I use a holistic systems approach. All aspects of the software delivery life cycle are deeply connected to each other. That shinny new feature you just made isn't complete until its in production generating customer value. You can't put it in production until you do, well, everything else. An excellent quote:
"In any value stream, there is always one and only constraint; any improvement not made at that constraint is an illusion." - Gene Kim / Goldratt
I don't like working in silos. I need to be connected to the customers needs every step of the way. I don't identify as a "PHP programmer" and "SQL is not my job". If the customers needs are best met with an event stream with kafka/java then that's what I will use. If the customer asks for ruby then that's what I will use.