Last active: 1 day ago
I am an experienced web application developer and database administrator specializing in portable, secure code, program architecture, and application optimization. I have several years of professional experience in both the private and public sector, from organizations ranging from schools to web design companies to consulting firms to nonprofits.
But that is not to say that a "good enough" approach is what should be followed! No, rather, I only mean that I favor test coverage and stability over elegance any day. A short anecdote to explain why:
Not too long ago, I was working on a PHP project. It was running well - deployment was set up, the code was solid, and everything that was supposed to happen was indeed happening. During sign up, a record was created which was saved and then further modified down the line. Unbeknownst to me, another dev wrote some code which simultaneously pulled the same record, performed operations, and then saved it again. When the record was saved in the competing method, my database changes were overwritten. I puzzled over this for a good day or two before figuring out what was going on. If unit tests alone had been written, the problem would have been immediately obvious when the second piece of code caused the build to break. Unfortunately, with no tests present, the problem went unnoticed until it caused issues in production.
Another important facet of my philosophy is making you, the client, comfortable with the way that I do things. I get this done by setting manageable goals, always keeping open lines of communication and letting you play just as big or as smart of a role as you want to play. That doesn't mean that I won't play referee for off-the-wall ideas; but I will be diplomatic.
So, the long and the short of this is that I'm a clever, hardworking, nice guy. The kind of guy with whom you want to do a project...and then another one down the line.
Broadly, my skill set includes:
- PHP development within MVC frameworks such as Yii, my personal favorite
- RESTful API development
- Experience designing code from scratch and reworking existing code
- Database design and implementation
- Program design and implementation from concept to production, including planning, implementation, review, and optimization
- Adherence to the Framework Interop Group standards for easy collaboration in a distribute development environment
- Development utilizing standardized design patterns
- PDO database abstraction with MySQLi, PostgreSQL, and SQLite; familiarity with additional RDBMSs
- Experience with concepts that typify mature database applications, including ActiveRecord pattern, validators, table inheritance, transactions, lazy loading, etc.
- MongoDB and related NoSQL databases
Good coding practices:
- Primary focus on code efficacy and user experience
- Unit/functional (e2e) testing
- Excellent commenting and code organization skills
- Proper error reporting and configuration
- Best practices and crisis management.
- My current love interest is Ansible. If there's a deployment that needs to be done, you bet you can get it done in Ansible!