Alan Szlosek

(email alan at this domain)

Education

Bachelors of Computer Science, August 2007
Florida State University in Tallahassee, FL

Skills Overview

At work: PHP5, PDO, MySQL, PostgreSQL, JavaScript, jQuery, JSON, Ruby on Rails, ColdFusion5, C#, SOAP, XML, WebDAV, Visual Basic 6, Win32 API, custom Wordpress themes, OOP, Subversion, Basecamp
At home: PHP5, PDO, MySQL, Sqlite, JavaScript, jQuery, JSON, C, C++, Win32 API, Visual Basic 6, OOP, Subversion, Mercurial
At school: C, C++, Java, C#, Operating Systems, Compilers, Lex/Yacc, OOP

Detailed Work Experience

November 2007 to Present

Software Engineer @ Cipher Integrations

Furthered development of a Visual Basic 6 application. My work involved reading DDE input from a third-party application, formatting the data as XML and sending it in a SOAP call to a third-party web service.

On another project, wrote two C# applications – The first read data from an SQL Server database, used it to generate Excel spreadsheet templates and email them as attachments. The second connected to Exchange through WebDAV, waited for email to arrive, processed any Excel attachments contained within and updated a database accordingly.

Daily I act as the primary programmer for Qgiv, and online donation processing system for non-profits. My job also includes collaborating with two co-workers over new features, their implementation, database design, code design, roadmaps, etc.

Significant tasks include:

Encapsulating communication with credit card and check processing gateways
Implementation of an XML API
Enhancing tools to shorten the setup time for new customers
User Interface cleanups and enhancements
Fixing bugs
Utilizing Basecamp milestones, comments and tasks

Cipher also does quite a bit of custom website and web application development. I've created several custom WordPress themes, developed a smart web-based application enabling clients to choose a time-slot (can hide holidays, lunch, all configurable) for a meeting with a lawyer, and rolled a simple CMS.

May 2006 to August 2007

Remote PHP Contractor @ 540 Interactive, Inc.

Brought an in-house online store framework to maturity for two clients. GNR has three online stores selling self-help medical products. The stores use the same core code and database data. Printing4Pros is an online print shop that sells banners, business cards and related projects. Customers can upload graphic files to be used in printing. The framework is of the MVC flavor, with database abstraction, markup separate from business logic, a few too many singletons, etc.
Technologies: jQuery, PHP5, MySQL, ORM, PostgreSQL.

Learned and utilized the CakePHP Framework for an online mortgage broker service application.

Stepped in to maintain a Ruby on Rails application for yoga classroom management. It's essentially a point of sale system with student attendance tracking. I continued to maintain it up until this month.
Technologies: Mongrel, JavaScript, AJAX

Developed and used my own database abstraction class and templating system on a few projects where beneficial.

Provided detailed estimates of project difficulty and required man-hours, which was used to formulate the overall project estimate and timeline.

August 2004 to December 2005

Programmer and System administrator @ 540 Interactive, Inc.

Acted as the lead developer, working with zero to two other developers on projects.

Customized and maintained the Content Management Systems that ran YoungMoney.com, MilitaryMoney.com and other InCharge websites.
Technologies: PHP, MySQL, image manipulation, database abstraction.

Integrated SugarCRM with a private jet charter auction website, feeding auctions and bids into Sugar.

Implemented countless other website “mockups” using PHP, MySQL, JavaScript and CSS.

Light to moderate use of Object-Oriented Programming, Database Abstraction Objects and templating systems for many of the projects.

Set up client websites in Apache and MySQL and kept server software up to date.

May 2002 to July 2004

ColdFusion Programmer @ StratoNet, Inc. (Internet Service Provider)

Designed, implemented and maintained database structure and code for the company website.

Customized news article software for a client wishing to create a local news website.

Development was done in ColdFusion utilizing MySql, JavaScript, CSS

Learned PHP to create a call center application for logging technical support calls and issues.

Wrote a windows application distributed on dial-up internet setup CDs that helped customers find a local dial-up number for internet access. User selected their state, a local number, then the application generated a “set” file used by another application to create the dial-up connection. Written in C using the Win32 API.

Personal Projects

Additional information and Mercurial code repositories can be found at http:www.greaterscope.net

ORMer - PHP5 Object-Relational Mapping Class

The goal is to automate the pulling of related data and to require less setup and than other PHP5 ORM projects.

Can operate off foreign-keys or a hand-typed relation mapping data structure.

Relation chaining – which uses joins in the background – for traversing from an ORM instance to its related data (a customer's orders, all products a customer has ever ordered, etc).

Relation chaining with the ability to specify additional where clauses. Example: pulling all products ordered by a customer within a certain date range.

dbFacile - PHP5 Database Abstraction Class

The goal is to be easier to use than alternatives, present a simpler API, and still be featured enough for large projects.

Connects to MySQL, PostgreSQL, SQLite and SQL Server. Prevents SQL injection.

Returns data in native PHP types.

Code specific to a DBMS (MySQL, PostgreSQL, etc) is encapsulated in driver class for that DBMS.

Autoform - PHP5 Form Builder/Validator

Carries much of the the burden involved in building large HTML forms.

Generates HTML and validates the form input.

Returns submitted form data that passes validation (ie. matches the regular expression validation patterns).

Vemplator - PHP5 Templator

Concise syntax.

Regular Expression based compilation to PHP.

Knox - Terminal Multiplexer

Splits up a text console screen into any number of subdivisions where each is its own separate console. Enables system administrators to SSH once to a machine and run multiple console applications at once.

“Command window” provides the ability to send the same shell command to more than 1 terminal at a time.

Written in C. Makes use of nCurses, libiterm and unix pipes.

Nesbit - Windows/Linux Peer-to-Peer Messenger

Windows GUI (Win32 API) and Linux nCurses frontends.

Each peer broadcasts its presence over UDP.

Messages are sent directly to each peer through TCP connections in XML formatted messages.

Written in C++. Compiled with GCC and Bloodshed DevC++. Used the TinyXML library for XML parsing.