× {{alert.msg}} Never ask again
ABOUT ME
Hi! I'm a polyglot technologist with decades of experience in startups and industry, and one of the most active Github users worldwide. Want insights, guidance or help? Get in touch!
EXPERTISE
Ruby on rails expert help Ruby on Rails - 9 years experience
I started working with Rails in mid 2005, right after its initial release -- I'd been building a similar framework in Python in order to start a business, but Rails let me jump ahead to building the actual site. Since then, most of my day-to-day work has been with Rails. I was the lead developer on what was probably Europe's biggest Rails project from 2006-2009, and I've consulted with multiple clients since. All the while, I've been using Rails to build and run my own businesses, serving millions of visitors, and have contributed a number of changes back to the Rails core. Rails has been a great productivity enhancer for me, but I've also seen how it can lead to messy and hard-to-maintain code, and I help my clients avoid that danger.
Ruby expert help Ruby - 9 years experience
Paired with Rails, Ruby has become a good friend, helping me to success on dozens of projects since 2005. And when I've needed a quick script, it's been the first language I've turned to. I understand the language deeply, including metaprogramming and when to avoid it!
Javascript expert help JavaScript - 10 years experience
As javascript has become more and more important, I've made it an increasing priority to have a strong understanding of the language and community, and to use it effectively to build and enhance user experience. Whether writing single-page apps with Angular.js or Mithril.js, or just augmenting web site interactions using plain javascript or jQuery, javascript has become one of my favourite tools. I'm familiar with module systems such as AMD, and also with the tools required to manage and load them, particularly require.js.
No icon Postgresql - 14 years experience
PostgreSQL has grown into a powerhouse database since I started choosing it over MySQL a long time ago. In the early days its behaviour was always correct, but not necessarily fast: now it is both, and is also endlessly extensible. I've built various products for myself and for clients over the years using PostgreSQL as a backing store, and taken care of production deployment personally, tuning database settings for performance, and arranging migrations from one major version to the next with minimal downtime. I've frequently analysed and extensively optimised slow-running queries, cutting their run-time by orders of magnitude. I'm familiar with using advanced PostgreSQL features such as full-text searching, trigram indexing, stored procedures, and the new JSON column type.
No icon Linux - 15 years experience
I switched from Windows to Linux in the late 90s and was a hard-core user for many years, digging into every little corner to see how things worked, and even patching the kernel to add support for new unsupported devices. In the last few years I've been using OS X for day-to-day work, but I continue to manage a number of Linux servers, and am intimately familiar with security issues, planning for disaster recovery, monitoring, and using platform tools like software RAID and LVM to maximise reliability, performance and flexibility.
Sql expert help SQL - 15 years experience
I've been writing and tuning SQL continuously through my career, and I'm pretty good at it now. Most of this has been in the course of general project work, but I have also previously been hired specifically to extend and optimise schemas and queries in PostgreSQL.
Html css expert help HTML/CSS - 15 years experience
Almost all of the software I've delivered since 2000 has been web-based, and I've kept up with the dizzy pace of innovation in the HTML and CSS space. These days, I've come to believe that every site deserves to be good-looking, fully-responsive and mobile-friendly.
Jquery expert help jQuery - 8 years experience
jQuery has been a key part of my javascript toolbox for a long time now. I used it with Ruby on Rails back when prototype.js was the preferred library: nowadays it's a standard choice for almost every web project.
No icon Stripe - 2 years experience
I built and run a subscription billing service on top of Stripe, so I'm familiar with the platform, its API, and trade-offs relative to alternatives.
Python expert help Python - 7 years experience
My language of choice for many years was Python, and back in the Wild West days of SourceForge, I wrote "unittest.py", which soon became part of Python's standard library. I was a high profile contributor to the mailing list, and remained a core Python committer for a long time. In recent years I've drifted away from Python, but I find I still have a pretty good grasp of the language and, importantly, the "Python Way".
Seo expert help SEO - 7 years experience
I built traffic to a new site by carefully optimising it for search engines. Targeting specific keywords, and avoiding any "black hat" trickery, the site grew to millions of visitors due in part to its high search rankings. As Google's algorithms have evolved, so has the site, and also my approach to the field. What I've learned about SEO now critically informs the way I build and promote new sites.
Clojure expert help Clojure - 5 years experience
As a long-time lisp programmer, and with many years of experience on the JVM platform, I got very excited about Clojure when it launched. I've been building a complex sports data analytics website in Clojure, am a maintainer of several clojure libraries, and have contributed back to a number of tooling projects, helping to make Clojure developers' lives easier. My primary strength in the Clojure context is a deep understanding of the functional programming mindset, and how it informs application design.
No icon Tdd - 15 years experience
Developing an interest in Extreme Programming in the late 90s, I wrote "pyunit", a unit testing framework for Python, which was then bundled into the python standard library as "unittest.py". As a senior consultant at ThoughtWorks, it was part of my job to teach clients' staff the process of driving their implementations through tests. And of course I worked alongside the likes of Martin Fowler and the creators of the Mock Objects technique. The projects I work on typically follow TDD practices, and I can help my clients and colleagues improve their workflows, resulting in better software delivered to production.
Haskell expert help Haskell - 5 years experience
I've been drawn to Haskell since 2005, when I experimented with it alongside Common Lisp and Ocaml. Only since working with Clojure has Haskell started to stick, and now I try to use it whenever possible. While I'm not yet a world-class expert, I have a good workflow to share, and I contribute to open source Haskell libraries and the Emacs Haskell mode.
Server expert help Server - 15 years experience
Being both a developer and a curious system administrator, I've become familiar with all manner of third-party server-side software. From configuring a complex mail server to managing cached and proxied websites, I've done it all many times.
Devops expert help DevOps - 9 years experience
For much of my time, I'm a one-man web startup, so when I write code, I'm also the one to deploy and monitor it. I can't afford to waste time, so I take great care to set up solid processes for deployment and - if necessary - rollback. Thanks to these processes, I can deploy my changes to production dozens of times per day.
No icon Emacs - 16 years experience
I've been an increasingly avid Emacs user since I realised it opened up a whole world of optimising my day-to-day working environment and enhancing productivity. I must be doing something right, because my personal emacs config has over 800 forks on github, and many of the extensions I've written are now widely used. I maintain MELPA, the largest repository of Emacs extensions, and consequently review and contribute to more elisp than almost anyone else. In 2013, I spoke on the topic at EmacsConf.
No icon Agile - 15 years experience
I've adhered to, promoted and taught Extreme Programming principles since adopting them in 1999 with some enthusiastic startup colleagues. At ThoughtWorks it was my job to evangelise agile software development. I was very good at this, but even better at understanding how to temper and adapt the dogmatic sets of rules for a given group of developers according to their needs and group dynamic. I believe that the best results come from understanding the "why" of agile, and not just following recipes like Scrum which describe an overly-specific "how".
Git expert help Git - 8 years experience
Before git was written, I'd already escaped the tyranny of subversion by switching to a different distributed version control system: darcs. Once git got traction, I switched over myself, and started evangelising it. In 2007 I wrote a popular blog post illustrating how git would be much more efficient than subversion for the Ruby on Rails project. Rails switched to git not long afterwards. I use git dozens of times every day, for every project. I understand it thoroughly, including its pitfalls, and I know how to recover from problems.
No icon User experience - 8 years experience
I have a knack for seeing software from the point-of-view of a typical user, and I use this viewpoint to guide every aspect of the software I build.
No icon Html - 20 years experience
I've been writing HTML pages since University 20 years ago, so I've picked up a thing or two.
GITHUB
emacs.d 3191   1722
An Emacs configuration bundle with batteries included
Shell Emacs Lisp
exec-path-from-shell 463   36
Make Emacs use the $PATH set up by the user's shell
Emacs Lisp
mmm-mode 163   14
New official home for mmm-mode, fixed for Emacs >= 23
TeX Shell Emacs Lisp
color-theme-sanityinc-tomorrow 128   21
A set of Emacs color themes based on Chris Kempson's 'tomorrow' themes
Emacs Lisp
less-css-mode 103   17
Emacs mode for LESS CSS (lesscss.org), with support for compile-on-save
Emacs Lisp
STACK OVERFLOW
 Reputation: 9545
  •  Silver Badge: 24
  •  Bronze Badge: 32
emacs editor themes elisp customization
ruby-on-rails authlogic devise
REVIEWS
Average Rating
5.0
(14 ratings)
Awesome mentor!
14
Pretty good
0
Could've been better
0
Needs improvement
0
Unsatisfactory
0

Excellent mentor and very knowledgeable - thoroughly recommend
Edward Mar 06, 2015

Steve was awesome. He helped me with integrate opentok gem and javascript to build a real time video conferencing app. I am a beginner at programming. Proficient with rails but still need a lot of work with javascript. He was very patient with me and was able to help me understand the javascript. He really knows his stuff. Very happy and will definitely work with him again for help.
Widny St. Louis Feb 08, 2015

Thanks a lot Steve! Very professional and friendly.
peter wang Feb 03, 2015

Great help.
Steve Lawson Jan 29, 2015

Very knowledgable. Helped me a lot.
Steve Lawson Jan 28, 2015

Incredible mentor. Very knowledgable and articulates concepts very well. Highly recommend!
Spencer Hamm Jan 23, 2015

Steve helped me understand how to design an implement the feature we were looking form. He also taught me some helpful postgres tips that will save a ton of time in the future!
Tony Castiglione Jan 11, 2015

Great and friendly guy. Got right to the point and solved the problem! Will definitely reach out to again. A+++
William Flanagan Jan 10, 2015

Steve doesn't stress you out, because that's the last thing you need. He is helpful and resourceful. I would definitely ask him again.
Armin Naimi Jan 09, 2015