hacker lee carmichael software engineer consulting programmer Perl Perl5 Javascript JavaScript PHP C web application developer cakephp



I am a software engineer/programmer/coder/leader working on web applications, data munging, daemons and other various things (applications, services, products). Over the years, I've thrived in environments where I adapted to write solutions in different technologies and on diverse platforms. I spend most of my days working in Perl, PHP, JavaScript (with jQuery) and HTML/CSS along with C, Java, and VBA (A while back I did lots of Excel to web integration). In the Perl web dev world, I'm using Dancer with the front end display in either Template Toolkit or JSON. I've worked closely with Apache in the past but now its mainly nginx. I often pull data out or store data into either MySQL or Sybase databases. 

I enjoy working with business folks (marketing. product managers, sales) to see an application/service become useful and helpful to its users (and my business' customers) and that they can produce a profit. I find that often those folks are my greatest allies since in the end we both want to produce great applications and satisfied customers.

Recent Updates

My last few months have been jumping into some business and technology consulting. It has been a wonderful learning experience. I've learned some new tech and lots about the manufacturing business. The business uses a customized e-commerce platform to sell stock and customized products. It has been a lot of Transact SQL (SQLServer) with Python and Perl. I've been enjoying the Python 3 work. We've been working on defining business metrics to measure where the company is now and how to measure if our strategy execution is working. Since it is a small company, I've been supporting in many areas: vendor management, product management, web analytics (Google Analytics), email campaigns and learning about Google and Bing Ads.

Last Update: Dec 28 2018

Its been a few years since I last updated this and now that times are changing a bunch. It seems to be a good time to do it. For the last few years, I've been leading a larger software engineering organization. We had two products a merchant services payfac and e-commerce/storefront. In 2017, we divested of the e-commerce platform to an external company. I was responsible for many parts of that effort like technology strategy, execution and keeping both sides on focused in a tough time of transition. My teams did an outstanding job delivering on time. In one case, they rebuilt a core piece of functionality from the ground up in 6 weeks. Also, 2017 saw several new initiatives being completed like launching an EMV terminal along with fulfillment, migration to faster and more stable gateway with zero customer impact, new virtual terminal and initial integration for our mobile point of sale with a great bluetooth EMV device. It was a great year. 

 For the last few months in 2018, I've been working on using Vagrant to support some legacy applications along with casperJS to support integration testing, learning node and express to build some new apps and getting some apps moved to cloud providers (mostly digital ocean but we did tons of planning for AWS on the capital one side).

Last Update: March 15 2018

Previous Updates

As 2015 begins, I have been in a new role for about 5 months. I am leading up Spark Pay Technology team, this current entails three development and one devops teams. It has been months of new challenges and incredible times of learning about myself and gaining insights. 2014 was a year of delivery. I lead a small team to add and migrate our customers to a new vendor that had high business value and enabled us for greater long term feature and functionality growth. It is a critical part of our infrastructure and our changes had little to no customer impact. After that I worked with various parts of Capital One to add the ability to redeem rewards at Spark Pay merchants. This was launched into a small pilot in November 2014. In the next few months, I will need to continue to learn how to balance leadership of people and teams with building products and delivering them to market. 

Last Update: Jan 24 2015

YAPC::NA 2013 was great. I learned a bunch about various new things (like statsd, Devel::SizeMe) and met a tons of great people. I'd love to get some time to blog about it but not sure I have the TUITs. Our team have launched a new service: Spark Pay. My team has been converting more to client side using backbone and working to continue to move quickly and develop some great new features and work on scaling. 

3Ring has made it to semi finals of the MN Cup. The team is working hard on getting business plan together. We had a school pilot in May that went great, the alpha of the binder system has been up and running using Perl (Dancer), MongoDB and Bootstrap.

Last Update: June 06 2013

Quick Hits About Me

  • I play well with others and thrive in small teams. Also, I like to work alone.
  • I like to be in control of my day and schedule. I like to work on tasks not a schedule but I am highly adaptable.
  • I prefer to save an application/library/code before throwing it out to start over. In the end, saving is almost always better for the business than starting over.
  • I like to find existing libraries/code/apis and integrate together to solve problems. Instead of a writing everything from scratch. 
  • I like iterations with close customer feedback.
  • Unit and automated end to end tests bring me joy.
  • I do best when I can learn new things (things is often hard to define :)
  • Sunlight is good as long as I have sunscreen on.

You can find out more about my experiences and background in my Resume, LinkedIn, GitHub or by contacting me.