LogansWalk
Overview
I am an experienced web application developer, both frontend and backend, as well as devops and database administrator, specializing in modularized, secure code, program architecture, and application optimization. I have over a decade of professional experience in both the private and public sector, from organizations ranging from schools to web design companies to consulting firms to nonprofits. JavaScript is my language of choice, although I am quite proficient in PHP. I also have extensive experience with Python, and have developed professionally in Go. My focus on frontend development includes primarily React, AngularJS, Vue, Ember, Backbone, and I've at least touched most of the other major ones. Anything that I don't know, I can pick up quickly and efficiently. Given my love of JavaScript, MongoDB is my preferred database. However, I am more than proficient in MySQL, and have experience with PostreSQL. If you can dream it, I can do it. What sets me apart is my absolute focus on the end user. I adhere to the philosophy of the iceberg: the customer is only going to see 10% of what your application does. They're only going to care about the 10% that they can see, and whether or not the 90% below the surface makes that 10% work. The 90% left, the pieces below the surface that make all of the gears move together - I focus on functionality. The user interface absolutely must shine. At the end of the day, what I care about is giving your users the absolute best experience that they can have. 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. Another function pulled the same record, performed operations, and then saved it again during the same operation. 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. The single worst thing that can happen to a project, bar none, is that communication breaks down. I consider myself to be the steward of good communication. 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: Development: - JavaScript framework development for that super-slick user experience and that high-concurrency backend - PHP development within MVC frameworks such as Laravel, my personal favorite - Modularization of code into microservices - RESTful API development - Experience designing code from scratch and reworking existing code - Database design and implementation - Managing teams of other developers Program architecture: - Program design and implementation from concept to production, including planning, implementation, review, and optimization - Project management use Agile methodology, including sprints, scrums, and nice project management tools like Pivotal Tracker, Trello, etc. - Development utilizing standardized design patterns Databases: - Philosophically, I believe that logic should be in the code, not in the database, so I'm not a fan of DB triggers or stored procedures. That being said, I've got years of experience with MySQL and MongoDB, so I can handle DB functions. - I am also familiar with PostgreSQL and SQLite. - Experience with concepts that typify mature database applications, including programming patterns, validation, inheritance, transactions, lazy loading, etc. Good coding practices: - I believe that good code is code that is readable. The fact that a machine can interpret it is secondary. - Primary focus on code efficacy and user experience - Unit/functional (e2e) testing - Excellent commenting and code organization skills - Proper error reporting and configuration Security: - Best practices and crisis management. Deployment: - I am a huge fan of Ansible, although I have worked with Chef and CodeDeploy Send me an invite! I'll do my best to respond immediately.