Nov. 18, 2017

The first time I used git was at a hack-a-thon, in a room full of 30 people mixed about 50/50 designers and developers.  The organizer suggested we all use git and Git Hub to store our work for each team.  There were some groans, and I admit I wasn't thrilled, I tried git once in the past and it was a nightmare compared to the simplicity of Subversion.  Setting my biases aside I supported the call figuring it was a great way to get a lesson on git.  It was supposed to take 30 minutes.

Two hours later, 60 eyes in the room glazed over, souls crushed, and git barely comprehended we called it quits and decided to get back to the real point of the hack-a-thon.  That sums up git pretty well for me, a distraction from the real reason you're using it, to code on a team.  That's exactly what happened at the hack-a-thon, even the organizer, a git expert, had to look things up and back track on commands.  The truth is, git does so many things that its hard to figure out how to do the one thing you need, like revert a file.  All the tutorials focus on commit, push, and pull, but when you really need a repository most is rolling back changes, local, or remote.  What's the point of keeping revisions if you never roll back?  You could just copy the code to shared directory.  Git makes it hard to roll back and merge, which makes git hard for the thing a repository is intended to make simple.  Maybe it was just because we had a room full of novices, maybe I wasn't a good engineer because I didn't get git either.  Maybe not...

"But git is powerful!" you may hear.  That is a fact, but so is a Saturn V rocket and I don't use that to get to work.  

Fast forward to back at work, the Google.  I set up a git project because its one of the few options that are approved.  Working with seasoned engineers at the bleeding edge of cutting edge, I though I'd be surrounded by git masters using every possible git feature with ease.  Turns out we mostly push, pull, commit, and rollback just like basic Subversion, except everyone has to look up how to do it every time.  So its not just the novices...

Check StackOverflow, there are thousands of up votes on each git question.  Thats an indicator its just too complex and few programmers really get it.  Yes most of us can stumble through it, but honestly 90% of the time we barely know what git is doing.  Thats dangerous for a development team, you're literally a bad StackOverflow answer away from blowing away a night of hard work.  Which ironically makes git's claim of being more protective of losing changes, kind of false.  It indicates a bad design that needs to be improved...

I hope git matures and simplifies its interface, teams need some basic repo functionality to make coding the focus for novices and for experts alike.  Balancing some of the power of git with usability is a fair request.  There will always be outliers who defend git and its complexity, but they are just that, vocal outliers.  I'm a seasoned engineer and I'm on not afraid to claim that experiences have shown most of us, novice programmer or expert programmer, find git complex and difficult to use.  


Aaron Post

Marketing Technologist
"I was and have been particularly impressed by Paul's ability to take complex projects and break them down into simple and effortless task so any team can quickly get up to speed. That skill takes years to develop among the best of entrepreneurs, but it seemed to come perfectly natural to him. "

Jon Beekman

Founder / CEO
"Paul is an incredibly talented individual, combining keen product development and design insights with years of experience as an engineer and programmer - a very powerful combination. I've worked with Paul many times and love how he just rolls up his sleeves and gets stuff done - I've recommended him to friends and look forward to working with him again."

Laurent Painchaud

Founder / Lead Fabricator
"Paul understands what it means to "skate where the puck is going and not where it has been." - he resides down on the horizon at the intersection of entrepreneurship, technology and simplification. I am very excited to be collaborating with Paul and together we are going to be introducing some game changing solutions, of this I am 100% certain. "

Marketing Strategy Session

Need help getting clients for your small business?

Small business marketing is especially difficult and resource constrained. I can help you drive sales without breaking the bank or taking up all your time. My advice, when taken, nets my clients sales increases within days of implementation.

Python / Django Development

Need a custom website built fast and on budget?

Hire me to help you get your python / Django site working. I typically do short three to six month projects and emergency fixes. I have designers I can recommend.

Speaking Engagements

Need an interesting and engaging speaker for your event?

I've given talks on every aspect of startups, product development, and upcoming technology trends. Currently I'm focused on small business website building and marketing. I can provide case studies.