Michael E Smith

1912 Shipley Rd Cookeville, TN 38501 | 931.529.7771 | sitecross@gmail.com | michaelsmithonline.com


Objective

Become a vital member of the information technology department to challenge and expand my skills.

Experience

Textile Management Associates

Senior Web Applications Developer

2010 - 2014

Textile Management Associates is a large textile holding company, owners of well known brands such as Astroturf® and SynLawn®. I worked with the web services team to develop a customized CRM solution for multiple business units.

High Caliber Services

Web Developer / DevOps

2001 - 2010

High Caliber Services is a quality outsourcing company for the automotive industry. When a quality issue arises, a supplier will contract with them to send individuals to perform a sort or rework activities. I developed an online web application to allow their customers to track the number of parts rejected or reworked for multiple issues and associated with traceability information.

Education

Tennessee Technological University

B.S. Computer Science Information Systems

1998 - 2003

I graduated Cum Laude with a Bachelor of Science Degree in Computer Science Information Systems with a minor in Business Management.

Skills

Elastic Search
Redis
PHP CLI Apps
Composer
HTML5
Bootstrap CSS
JavaScript
Behat / BDD
TravisCI
PHPUnit
Automated Deploy
App Monitoring

Open Source Projects

This allows for easy abstraction of event data collection and storage, allowing it to be stored locally or external service.

This provides Symfony integration of the EventData library and adds a panel to the profiler to show the events collected.

This project provides a basic throttling implementation that can be extended to the projects needs such as limiting the number of api hits or votes by a user.

This project provides a simple but extensible rules engine similar to that of email processing rules. This could be used to conditionally add discounts to shopping carts or perform actions when records are persisted.

This project focuses on extending PHP native DateTime object with convenience methods for finding the beginning and end of day, week, month, quarter and years.

This project provides an object cache that will seamlessly cache all method calls to an object. Basically it will mimic an object caching method calls made to it.

This project provides a quick and simple way to secure development front controllers to multiple ip addresses instead of just localhost as the standard distribution does.

This is a deployment framework built using Cilex (which was inspired by Symfony’s Silex) and Herzult’s php-ssh. This project allows for quick and easy scripting of remote deployments removing the headaches of connecting via ssh and transferring files while trying to duplicate the exact steps with each deployment.

Other Projects

Co-founder of this site which allows small local rental owners to list their properties with description, features list, images and maps. It also allows the searcher to filter the results in many ways to find the place that best suits their needs.

This site uses Symfony 2.5, MongoDB and PHP v5.5. The application makes heavy use of the service container to allow for thin, manageable controllers. The Imagine library is used for on the fly scaling and caching of images. Bootstrap CSS v3 is used for a responsive desktop, tablet and mobile interface. Google's geocoding api is used to store a location's latitude and longitude for searching and map display. My object cache library is used to prevent numerous repetitive hits to this api for the same data. Also Google's map api is used for interactive maps allowing the user to scroll the map and load more results as needed. The geospatial features of MongoDB are used to allow the user to enter an address and see the rentals sorted by the distance. The site makes use of Mandrill for offloading email delivery. Also the Keen IO web service is used to store and analyze event data, such as page views, messages sent and comparisons run. Rollbar API is used to track and alert both server exceptions and client JavaScript errors. My Throttle library was written for this site to prevent owners from receiving a flood of emails from a single user. This application also takes advantage of my Milex deployment framework so deployments are quick, simple and repeatable, increasing the speed with which a deployment can be made and removing some of the stress of deploying new Resume\code to production.