Wednesday, September 23, 2015

Socio-Technical Systems and the STAQ Development Manual (Redacted)

I recently wrote a development manual for STAQ (embedded below). It represents our current thinking about the best way to build enterprise SaaS software in 2015 - using a variety of techniques from several disciplines. Since I wrote this I have also become very interested in resilience engineering and the notion that web developers are primarily engaged in the construction of socio-technical systems. When I rewrite this I plan to talk about how we should try to minimize mean-time-to-recover (MTTR) instead of mean-time-between-failures (MTBF), and how continuous deployment grows a safety culture around your operations.

I redacted most of the examples that illustrate these points because they use sensitive code examples or URLs. If you want to see the rest of slides, join us!

Side note: I tweeted that "all programmers are self-taught" which was greeted by some skepticism. When I learned about socio-technical systems I thought it was a pretty good distillation of what I meant; you can go to school to learn how to write algorithms, but as far as I know, nobody is teaching classes in writing software that comprises "an interlinked, systems based mixture of people, technology and their environment."


Sunday, September 13, 2015

Google Hangout URL for tonight's ignitespeak open source orientation

I don't think the last post made this clear, but here's the link to tonight's Google hangout session, where I will be conducting an orientation of the app and how it works and what we need.

Here's an embed of the event!

Thursday, September 10, 2015

Project orientation for ignitespeak on 9/13

I'll be holding an online orientation session for the ignitespeak project on Sunday, 9/13/15 at 8:00 pm. It'll be a Google Hangout, and we'll record it in case you can't make it.

I wanted to do something efficient to help get everyone up to speed. Right now everyone's getting bogged-down in setup issues.

Thursday, August 27, 2015

I want to mentor you on an open source Rails project

Update: there's an orientation session on 9/13/15 if you're interested in helping

I built a small, fun Rails app called ignitespeak to manage speakers and proposals for Ignite Baltimore. I've long thought that it would be a great project for beginners to work on, because it's well-tested, it gets regular use, and it's open source.

I have an ambition to make the app more useful and available to all Ignite organizations around the world. If you're looking for a way to break into Rails development, and would like to get my personal attention, advice, or mentoring on your commits and pull requests, please contribute!  I created a number of Github issues for some possible projects.

If you're really serious about gaining more Ruby/Rails skills, I'd even be willing to do some pair programming with you, either remotely or at an open source hack night.

Monday, August 10, 2015

Stepping down from Ignite Baltimore leadership

I have a post up on Technical.ly Baltimore, Why I'm stepping down from Ignite Baltimore:
For the past several years, Neal Shaffer, Jen Meyer and I have had the privilege of helping to organize Ignite Baltimore, where 16 (or so) speakers each get five minutes to present an idea with slides that advance automatically every 15 seconds. 
It has been an extremely rewarding experience. Through Ignite we’ve met some of the most thoughtful, passionate and creative people around town. We even got to fly in one of the founders of Ignite, Brady Forrest (whose talk appears in the list below). Though I have been most publicly associated with Ignite, in reality it has been a group effort from the start: Patti Chan and I originally started working on Ignite back in 2008. Eventually the team grew to include awesome friends like Neal and Jen, and also Heather Sarkissian, Christian Malone, Lindsey Davis and Melissa Macchiavelli. 
But now it’s time for new leadership and new ideas. Jen, Neal and I are stepping down from the Ignite Baltimore team.
Check out the full post for more details, including a list of some of my favorite Ignite videos!

Tuesday, June 30, 2015

Lean advertising for startups

My friend (and STAQ advisor) Brent Halliburton is writing a book called Lean Advertising for Startups, and he's running a Kickstarter campaign to support it. I've known Brent for a long time and he is an expert on advertising, so this is going to be a really useful book. It fills a hole in startup literature opened by the promise of books like The Lean Startup, which encourages businesses to experiment and learn what works while avoiding waste. I don't think anyone since then has written extensively about what how to actually do this in practice when you don't have a huge budget, using currently-available technology. That's where Brent comes in! I backed his project and hope everyone else does too!

Friday, June 26, 2015

Today is refactoring day

Today is refactoring day at STAQ. From an email I just sent to our team:
My hope is that today we focus on maintenance of the most critical parts of the app, resolving the most painful hacks, paying down the most significant parts of our technical debt, while being careful to avoid yak-shaving or gold-plating, or various other programmer pitfalls. It also needs to be something that can be finished by close of business.
Definitely check in with team leaders to make sure your project meets that definition :-)
Personally, I think I am going to take a quick look at [some occasional weird exceptions in Airbrake] and pick 1 or 2 of those to put to bed. Then I am going to do some "organizational refactoring"
-Mike
 I'm really looking forward to seeing what we come up with! I've been wanting to try this for a few years, since I heard a story about LivingSocial. According to the story, there was a period of time when they did this kind of thing every Friday - no new code was allowed to be committed on Fridays: the team work on only fixes, refactorings, deletions, etc.