If you’re into Ruby community the chances that you haven’t yet heard about Steve Klabnik are pretty low. An active Rails contributor, instructor with Jumpstart Lab and a nomad of his own kind came to wroclove.rb to talk about ‘ OO Design and the history of philosophy’. I’ve cached him for a quick chat just before he has hit the stage with the speech.
If you’re into Ruby community the chances that you haven’t yet heard about Steve Klabnik are pretty low. An active Rails contributor, instructor with Jumpstart Lab and a nomad of his own kind came to wroclove.rb to talk about ‘ OO Design and the history of philosophy’. I’ve cached him for a quick chat just before he has hit the stage with the speech. Read on about challenges of teaching people to code, advantages of attending conferences and hints on making your code look pretty.
Current Location: Los Angeles, USA Current Workplace: Jumpstart Lab
Usually I say ‘I make the Internet work’. Or ‘I make computers work’. Or sometimes if my computers are broken, whenever I feel bad on what’s going on whenever I’d have a hard day, I’d say ” I’m the reason why nothing works”. It’s always one or the other.
I really like people and I like to travel a lot and those two things tight together. I get tired, and it’s nice to sleep, but definitely I like to be around a lot more than not. The Internet allows us to have friends all around the world and it’s nice to be able to meet people in person - sombody I know from Twitter for example.
Github is really indispensable for doing open-source project management and that’s the way I talk to people I’m working with.
As for actual coding I use VIM and Iterm2 most of the time.
I think the challenge is more about teaching beginners rather than getting them interested. When you explain stuff that feels very basic, it suddenly strikes you that still you need to make it even simpler because you forgot how much you’ve learned. It’s very easy to say “Oh let’s just MVC” and that sounds like a very plain explanation because you’ve already learned the concept. But when you don’t know what that is, you need to explain one level more. That may also help with getting people interested in programming because when you don’t do a good job of that, people start to think ‘Oh that is really hard”.
It would be a good idea to have more coding at school but I think it’s harder for schools to get quality teaches and that’s what really matters. In the States there’s been a lot of alternative programs that are popping up, like gSchool - something like an alternative college for programmers and I think those programs are really useful because of the good teachers. In my high school in programming classes my teacher was really really bad so I didn’t learn much.
Basicly I played computer games when I was a little kid. My grandma got a computer and there was a game called Adventure where you typed “go east” “attack the pirate” and I just could not stop, I really really liked it. I wanted to make my own games and that’s what made me stated.
I think that art is something that makes you to think about the way that the world works and programing can definitely be used towards those ends sometimes. We can change the world with programming. To a certain degree you can definitely tell what kind of person it is by looking at the code. With Ruby we all have very similar styles but if you break a wave of the official style then it gets more personal.
The biggest one is: always think about what you’re writing more. Not accepting your first solution is the best way. You almost always write something once, you get it working but then it looks terrible. So you can either commit it and say ‘it’s done’ or to say “ok, at least I have something that works - now how can I make it better than this”. There’s been a number of times where I’ve been on a team and some people worked on a project when somebody finally said ‘ok - it’s good, time to go’ but then other person was like ‘what if you’ve tried it like this ” and in the end the code got much much nicer . There’s also a lot of animated tools like the code climate for example - that can be much helpful for keeping the code quality. Sometimes I use Skype and pair. Because I’m travelling all the time it’s harder but almost always I get code reviews or similar pull requests rather that just pushing code ups.
I’m really motivated by people finding my work useful. I started working on Rails because there was a lot of programmers using it. When I know tons and tons of people are relying on the code - that’s very motivating.
Usually I would want somebody who doesn’t think that they know everything. The ability to say ‘I don’t know. Let’s look that up” is usually a good indicator.
The problem with culture fit is that you can encourage too much similar thinking and I like the diversity. I think the culture is important but at the same time I don’t think being a perfect fit is the right way to go about culture. I think sometimes you need a little bit of clash as well.
Being able to have friends all over the world and being able to say like “I’m in the town - does anyone have a couch I could sleep on” and then actually to find one. That’s probably the most amazing thing - how many friendships are made.
It’s not directly a project but I think teaching and being a paid teacher is one of the things I’m most proud of in general. Also my recent contributions to rails make me proud too.
You don’t know everything.
Twitter is pretty much it, which I actually don’t like… I think Twitter as a company made a lot of poor decisions, but… as long as my friends are there, that’s definitely a place I’m most at.
I just got a new phone a little while ago so I don’t have a ton of apps installed. But I have a fit beat and I really like it. It keeps tracking how many steps I walk and how many stairs I climb. Today.. 4400. Yesterday it was around 22000. It has an app integration so it knows when I go running ect. That’s probably my favourite at the moment.
A bunch of different stuff! I’d like to go to all 7 continents. I still need Africa, Australia and Antarctica and I’ll be knocking all of them.