# About tech star first year in boston 10 each year, from boulder 9 from boston # About this event * try to get sense how real companies are using rails * why, how does it integrate with dev process, how do you build a team, how does it drive tech decision # Panelists: ## [Mike Champion](http://graysky.org/) * [oneforty](http://www.oneforty.com/) * local company * angel funded * very early, single dev with 2 more coming on board * appstore for twitter, for developers to help promote, users to find good ones ## Jim Psoto * [panjiva](http://panjiva.com/) * venture funded by battery. * $5mil * morning star of bloomburg, but global level ## Morten Primdahl * CTO/cofounder of [Zendesk](http://www.zendesk.com/) * Support / Help desk * Zendesk recenetly moved to Boston * Series A from Charles River * Just got series B, moving to SF soon ## Matt Janowski * COO thoughtbot * staying boston * self funding * consulting work for client mostly, with a few products # Part 1: how ruby and rails integrate into the company ## why ruby, why rails? context: start of company, or later? * Mike: started on rails, built at pivotal initially. probably choose for same reasons most people do. quick startup, respond quickly. * Jim: second that, at the beginning back in 2005-2006, back when unnamed. ## panjiva uses java too? * Jim: yep, heavy duty data backend processing, and really need to optomize it. only a small subset for it though. kinda use db as the api. didn't start using java, but a certain point, did the switch. * Morten: was working at Java shop with DHH back then. that company shared CO with that company. wanted to do the startup thing, and was watching the prototype of rails evolving. rails managed to get decent mindshare back in 2005, and so jumped on that. other founded was .net, morten was java, didn't want to go into .net, so ruby middle ground. * Matt: was a period with plethora of pizza, php java, etc. was watching rails progressing on DHH blog. had a fallout with previous company, called up thoughtbot, stop doing phpt/java, do rails. picked up a good efficency with rails even early on. ## Were there any other deceisions early on that were affected by rails? ie heroku being available * Morten: was difficult to deploy before mongrel * Matt: culture of the community, a lot of people had a commitment to good software practices, simplicity, other good things ## Having started so early on with process, how did you keep on track with latest changes of ruby/rails/etc? * Matt: been fortunate enough to get rid of clients that don't stay on the latest version. long term contracts include upgrading you on rails, ruby, plugins, etc. part of monthly payment. if clients don't like that, they don't coose it * Jim: been kinda bad with that... older gems. tradeoff between putting out fire, and upgrading software, and the growth rate * Morten: only were two guys initially. it's a different set of problems. fortunately, have good guys from boston to help keep us up on things. ## As you were building out rails apps, how did you come up with services like hopetoad/thunder thumble? * Matt: first made widgetfinger, to run thoughtbot.com. some older clients were going to need cms. mildly successful, but not what it is for hoptoad to the rails word. for hoptoad, if you got any errors on a popular site, you'd get a ton of error emails, and would rather like a single email, and a web interface. for thunderthimble, wanted to be able to track all these different products ## Since rails was extracted out of a real product... common trend to give back. are you doing this? * Morten: we have a bit, but plan on doing it more ## Is there value in giving back? * Morten: well yeah, that's what open source is about. it's about being a good ruby shop * Mike: github has helped this a lot, lowers the barrier to contribute back to other people stuff, make it easy to start them * Jim: github... it's also good for recruiting too * Matt: we did the reverse order. we were open sourcing, and then as a result, it was a recruiting tool. ## a couple mentions of helping build team. it's hard to get good ruby rails developers. they demand high price, and hard to get on board. oss good way to get attention. how do you perceive attracting good rails developers? through contributions to oss, craigslist, where do you attract talent * Mike: were fortunate enough to find 2 developers. it is generally difficult. still a pretty small community. compared to java, where has a lot of developers. people have chosen the rails is because they want to be there, or want to be closer to the edge. not quite early adopter status, but there's a combination of keeping up on edge vs wanting to do stuff. found people who specifically wanted to join a startup company, rather than persuading a 100k developer. idea of building something from the ground up, options, etc. * Jim: best people want to be part of osmething big. articulate the vision, and communicate why it makes sense. and people want to work with good people. of course, need something to live on. how to find... it's really hard. been trying not to look for specific kinds of developer. the really good people can get up on any language they want. don't have ruby req, just have non-tech specific that are more important. * Morten: first two hires were argentina and really cheap. next was a dane, but very expensive. he was interested in ruby, and thought it was cool. have had ads out in US, but hard to get developers that have the same values, that are into the vision. ## Got into a little bit of it... how experienced do you require people to be? jim, as long as good people, don't care. go for junior vs senior? * Jim: should stay junior as long as they can. big change from year 0, to 1, to 5. in early stage, need that are hungry, ready to prove themselves, and quick learner. need someone that can run the marathon that is startups. lot of sweet, that isn't glorious. someone willing to put in the effort and young more valuable than 25 years. * Mike: almost felt like not looking with 25 years of experience. hungry to learn. wanting to do something ## most of room was doing ruby. only a few hobbies. most are getting paid. rubyists more likely to do startps? * Matt: only recent you could hire people with a lot of rails experiene. hilarious to talk to recruiters about lot of experience. start with someone out of school, but passionate... thoughtbot isn't going to have a billion dollar exit (unless hoptoad takes off). everyone has developer background, and taken everything they don't like from other places, and make sure that doesn't help. ## to move past hiring... young startup with developer. people get strongly opinionate, what hats to wear, processes to use, tdd, cucumber, etc. go down the line and say how you integrate rails. hats? * Mike: only person, bosses himself around, tracks his progress, etc. even do pivotal tracker with one person, since it's a tool for communication. low ceremony. interested in CI later, but just runs test. * Jim: most of the things you do day to day, are things for the first time. even if you've worked on similar problems. key skill for new hire, ability to get up to speed and problem solving. everyone is pretty much doing everything. from linux sysadmin to javascript. * Morten: 3 guys/founders that supplimented everyone. . spend some times correcting each other. ain't pretty, but need to get things done. we're looking back to fix those decisions to some extent * Matt: from business perspective, doing whatever is the next most valuable. from tech, constantly trying new things. want to look at a new rspec/cucumber, in touch with authors, how their using it. won't introduce 10 new technologies, but some. advantage of being able to experiment with other people's business without them knowing it. someone will try it on a side project, bring it in on a project, and evauate how it works. can know if it works 8 weeks later witout much sacrifice. ## what do you use for bug tracking? * Mike: pivotal tracker * Jim: trac, sometimes have to iterate quickly over 6 hours. google spreadsheet is a lot quicker in those cases * Morten: used zendesk for a while, eating on dogfood. have used pivotal for some times. switched to rally, but not up and running yet. needs more insight into business needs * Matt: use what client needs. default to basecamp, lighthouse, pivotal, tender + get satisfaction. use github for issue tracking for oss ## how big are teams: * Mike: 1 dev, 3 dev soon * Jim: 10 * Morten: 8 dev, 20 total people * Matt: 15 or 16 ## As you guys came through ruby/rails, what bottlenecks did you encounter that surprised you, what did you overcome? * Mike: still early, but been using it for awhile. better dev experience than deploy experience. seems to be getting better. hopefully won't be having to kick fcgi etc anymore. interested in how heroku turns out * Jim: performance has been a moving target. on one hand, optomize raid arrays... on other hand, moving up to stack... own own hardware, so setup is important. holistic view is important, all the way down the stack. how data is striped up to memory usage, memcached, etc. every few weeks, getting performance challenges * Morten: moving target. fix something in one place, another problem pops up. db indexing is hard. moved to EY, started with single slice, and slowly moving it up * matt: in 2005/2006: own hosting, because there wasn't anything out there, and new it was bad. but was still worth to do it for rails. with them existing EY/heroku, stopped having to do hosting. EY is great because they can deal with the DB. got to the point where we can't use SQL anymore, sheer number of rows. nuts, but cool. holding hands with EY to figure out tokyo cabinet. those are all problems the software generates. inheriting shitty codebases has been a problem. untested, rails stuff that's not recent. ## in terms of backend, what are you using? hosting, db, etc? also, what type of volume, and how many machines? * Mike: EY flex, 2.3.3, rspec mysql * Jim: own own machines. ubuntu in colo, postgres. 10-20 machines. a fair amount of volume, no number of fhand * Morten: private EY cloud, mysql. deployed new site on heroku. went very very well. great performance because it's semi static with varnish running ## tokyo mentioned, how did you decide to switch? * matt: had the thought early on to switch to tokyo, and should have... looked at couchdb, tokyo. joe ferris settled on tokyo cabinent, and looked like it will work. will also second heroku, started switch to heroku as a staging environment ## audience question from jayneely: mentioned bottlenecks. lot of head nodding. frequently encounter same problems, in same tech particularly. want to contribute back, but can't... as people using these oss... how would you create common documentation format? * Morten: when you use oss, have to sit down and understand. a hello world is great. * Jim: sometimes have to sit down and look at the source, and interact with their forums. * Mike: request would be: how they are using it in their own setup, maybe some things about people using it and how extensive. have a sense of a cool toy, or something being used embiggenly ## audience comment from bcardella: some have started using examples directory. better than just going through rdoc * Matt: first thing when picking a oss project... well tested, wiki pages are blank, readme is blank. not sure if I'd trust that for client. if there's 20 wiki pages, clear examples. list of site of where its in use, with emails to contact people. for us on releasing side, budget internal time for oss & r&d. several months to release something, and minimal commitment level * jim: have high criteria for oss. seem active, tested, etc. ## two or three gems, plugins/services, imprsesed with? * Morten: new relic -> transaction traces. can go in see what queries are slow. gives you great insight, otherwise you are going blind * Matt: second that, hoptoad wouldn't exist with EY & new relic. justin french's formtastic. generate forms in non verbose way, with lots of meaning per line. * Mike: less, css metarframework. lot more natural to programmers ## to matt: any resistence when going forwad with new technologies. * Matt: end of day, has to be something that provides business value. want to be on same page. make it clear that part of our process is going to involve some upgrades, and they just need to trust us. # Part 2: business, funding, etc. ## Give us a brief story on how started, first rounds, etc * Mike: angel funded. primarily of strength of id, and founder's credibility. kind of an outlier, getting into techstars without tech background. in a sort of angel stage, need to raise series A in next 6 months * Jim: angel round as well. met through networking, got very lucky. arry summers, and a bunch of other really good investers. other startup founds that were acquired. was a very important step to get to the next stage. once you have that initial setup, that network makes introductions to the next series. key things they look for: venture is not for most companies. some want to try to have all or nothing type of exits... maybe look at venture. but this community makes it clear you can get a lot off the ground. take as little as you need. * Morten: self funded initially, then friends and family, buy into company for cheap. bought time to quit fulltime jobs. back in august 2007. one angel who wanted to buy in, let him do that because he was good with excel, and needed those to get further along. german, and very precise. then started talking to US VC, because 80% of clients were in US, and it made sense. was around start of financial meltdown, and got ot break even, but wanted to move forward. series A got interested.... B got interested way early, because of that initial network was setup. we'll take B now, and see what happens. * Matt: haven't raised money. from self funding. paid themselves below market, haven't taken profit out of the company. things have grown enough to be closer to market. ## Any advice, what was interaction like with VC. diligence steps, etc. what advice for young startups in this environment, starting to get funding? * Mike: part of the sucess laura had, was having the right network. right people that are interested. most of the angels didn't care about the tech, the team, more interested in high level * Jim: advice going into a pitch. be very honest with Venture firm. every venture knows the idea you start out with is different than the end. here are the things I know, this is where I want to go, not sure, but this is how I'm going to explore it. ultimately, investor is on your team. you make money, tey make money. if market decides the idea isn't fundable, maybe a good idea. be careful how you structure it, lots of horror stories. be honest, and be transparent * Morten: don't go to bed with the wrong person, no matter what they pay you. don't want to be in a situation where your desparate for money. not eveyone is github, or has that launchpad. hae to pay more than just stock, needs to be someone you can rely and trust. ## Did rails come up in due diligence? * Jim: not really, more interested in the people * Morten: had some on the platform, but rails was a plus. not a general idea, but some had distate for java * Matt: been in meetings with client's investors. don't invest in shady person, don't invest ## Question from tdyer: what bad paths did you go down? at some overfunded, and failed, underfunded, and etc. any blind alleys? dev process, tools, etc * Matt: had clients where they're resistant to working the way we think is correct. your still wiling to pay us, but we can't work this way... * Morten: try to be openminded and listen to employees. try to mix in best practices where they work. * Matt: 'strong opinions lightly held'. someone came in with something crazy, but made sense... yeah, let's try that ## Usually, comes down to trust. do you trust the development? * Jim: even if you have lots of money, good to act like you don't. time short, urgency high. timebox them. in team structure, good to have some rivals, like obama or lincolns administration. some naysers/contrayians that constantly question status quo. always go through it every 2 weeks, but it's good re-evualte ## Question from croaky: common theme... what would you do to help grow the boston/financing community grow? * Mike: techstars business sides have been wondering this too... techstars has been successful about networking succesful busines people. * Jim: ultimately, investors aren't interested in ruby, interested in startups. technical startup event/meetup instead of just ruby. need to integrate other language groups. * Mike: paul graham had started dinner for startup meeting dinner. * Morten: sometimes have a hard time communicating to sales people. need some catalyst to get VC type people. techcrunch 50? dialogue going * Mike: moving to SF right? ## Audience: oooo, sick burn * Matt: there's cool tech idea vs business ideas. qualify your thing. does someone that might invest in care, or just rubyists? looking at obvious local people, MIT sloan, techstars, etc. can't walk in, but might make the right connections ## Audience question: what some differences between different language groups. different midndset? * Mike: came from java, which was a lot different... also, going out as far as waltham has much different vibe. different types of companies there * Matt: not the right answer to give, but if you're at a user group for whatever you do, you probably have some interest. but I do think, doing TDD seems to be bigger to us. if no tests, fail. back in php, wouldn't question. * Matt: most things around... the thing they were a reaction to was no longer the thing. hopes rails isn't the best framework. doing rails for 30 years sounds pretty boring.