Last Update: July 25, 2017

I want to wake up everyday, open a text editor, and write or improve code - preferably Ruby code. I’d prefer to do this remotely as I like where I live and there are no tech jobs in Rehoboth Beach, DE.

I want to work with companies that value doing things the right way and not just the quickest way. I understand that technical debt is sometimes unavoidable, but it should not be a standard feature because it will need to be paid off eventually.

I want to feel like I’m working on something that matters. I can force myself to be interested in any task by treating it as a challenge, but working on something I actually care about would be even better.

What I Don’t Want

I don’t want to continue doing work that I find unfulfilling. After more than ten years of web development, I still find myself fielding requests to reset WordPress passwords. I sometimes feel like a qualified auto mechanic working at a car wash.

That’s not me being arrogant. I definitely have as bad a case of impostor syndrome as the next developer. In fact, as soon as I learn something, I feel like it must be easy and everyone else probably already knows it.

I don’t want to get strung along by a company that doesn’t value my time or their team’s time. I put a lot of time and effort into building relationships with my clients. It’s very frustrating when it turns out that a company is not serious about their project or about hiring developers.

What I Have to Offer

I care about the quality of the work that I produce. I treat software development as a craft. I am always learning, keeping up with the latest trends, and striving to write code that I can be proud to show to others.

I’m practical. I have learned to not over-architect solutions as I’m usually working with clients on very tight budgets.

I’m organized and reliable. My friends call me “Vacation Dad” because I’m always prepared and I always have a plan.

I have a strong interest in object-oriented design. I can put myself in the mindset of a programmer and see how a system can be mapped into a set of objects and how those objects can interact with each other.

I’m responsible. Although I have not worked on large teams, I have always risen to a leadership role going all the way back to projects in college.

I like teaching. I don’t have a ton of experience mentoring junior developers, but I blog often, I wrote a book, and I am currently guiding my wife and my business partner as they learn more about programming.

I don’t hate JavaScript, I just haven’t chosen a framework yet. I realize that we are moving towards separate front-end apps and backend APIs. I’ve done a little bit of work with Angular, and I’m interested in React and Vue. I just haven’t done much production work with any of them yet.

I have experience. For the past few years, I have been the sole programmer for a health fair management startup. I helped them grow their Ruby on Rails application by adding an automated test suite, multi-step forms, Stripe, Twilio, and Mandrill integration, and a workflow for vendors to browse, express interest, get approved, and register for health fairs.

I’ve worked on other Rails applications including a client management system for a local health department, a college ranking system, a mobile app API with Facebook and Dropbox integration, an employer/candidate matching system, and a watchdog service for application monitoring.

I built a C#.Net application that allows users to interact with water testing equipment via a custom XML-based domain-specific language. It runs on Windows, Linux, and Raspberry Pi. It’s currently driving underwater equipment in Japan.

I also worked on multiple Drupal, WordPress, and PHP websites for universities, non-profit organizations, startups, and small businesses.

That’s It!

That’s all I want. I want to write solid code for a good company. Now, where can I find one of those?