"Wow. @banksimple just leveled up. In the last 24 hours we signed on four of the best engineers I know. Can't wait to announce the team."
Alex Payne - 8/11 - https://twitter.com/al3x/status/20905067927
"What comes next for me? Something truly awesome and even more challenging then Engine Yard, but that will allow me to work from home in Portland. I cannot yet reveal where I am going to work next but I can promise it will be another game changing project and I am chomping at the bit to get started."
Ezra, 8/13
That is the new way to build companies, College degrees don’t matter much IMHO anymore, for developers anyway. It’s more how you interact with the open source community and what you release yourself. Your github account has become your new resume and what you say on Twitter and in various IRC channels are more likely to get you the best jobs then any recruiters ever will.
I'm interested in education, hiring, and matters of accreditation. Those last few paragraphs really got my attention. I'm glad I read all the way to the end.
That's a terribly short sighted thing to say (by the poster). I know HN users don't seem to value education, but a college degree has a lot of value outside of the education component. Living with others, compromising, group work, social life, classes outside your area of focus, etc. I'd rather hire someone who has been through this than a hacker who has only spent time in the echo chamber of forums and fellow geeks.
As of July 2010, unemployment rate for college grad was 5.0% while for HS grad was 9.9%.
I'm not saying not to get a degree and I do sometimes wish that I had gone for a CS degree. But that being said I have learned all I needed to know in order to grow a 100 people strong cutting edge company and all I have is my GED.
And even though I only have my GED I am still very familiar with how computers work, memory management, building virtual machines, etc. I have a small scheme here that compiles to rubinius bytecode and then gets JIT'd by LLVM into machine code that I will release one of these days and I have read tons of papers and feel like I know as much or more then your average CS degree grad.
Everything you need to know is on the internet nowadays. All you have to do is spend the time to reach out and grab it and you can learn anything you want to learn and eventually get any job you want to get if you only apply yourself hard enough.
I did not mean to disparage college degrees, merely to make a comment that you can learn as much or more then you would learn at your average CS degree school by just applying yourself and reading online, then practice, practice, practice.
In my ten year career, I haven't found there to be a correlation between having a degree and being a good developer. I've worked with a number of awesome people, most with degrees, some without, and plenty of bad people, most with degrees, some without. To me, a degree isn't a positive nor a negative signal for anything. You can talk about value of the intangibles outside the education component, but in my experience, a degree doesn't necessarily confer this either.
EDIT: Actually, thinking about it further, I haven't come across many bad developers without a degree. This is surely selection bias: bad devs with a degree can hide in the bowels of BigCo with HR departments who don't actually know how to hire good people, but absolutely require a degree. The bad devs without a degree can't get these cushy, hard to be fired from positions, and therefore don't last very long and probably find another line of work.
It depends on the software development project. I've worked with web devs who didn't know what a finite state machine was and did fine. Right now I work at a research institution crunching genomes. Not knowing the basics that a CS degree can give you will not work in this environment.
That's not to say that you can't get these skills outside of school but I think you get a better rounding of skills in school than out in the field. I've met more devs who didn't go to school that can't work on really difficult problems than the ones who did.
In my experience there is no direct correlation between a developer being good or bad based on whether they had a degree or not. However, what I did find was that someone who had completed their undergrad is generally capable of thinking at a higher level and can work through harder problems. IMHO, a University shouldn't be about training students to go into the workforce but to teach them how to effectively think and solve problems, regardless of discipline.
Why? It's a pretty simple system - elementary, middle school, and high school are about laying the knowledge foundation for critical thinking. University (grad school really) is about actually practicing that.
You need a body of generally accepted knowledge to actually be a critical thinker. Most people I meet don't lack the critical thinking, they lack the body of knowledge.
I generally agree with that statement but I wasn't making any presumptions only stating my observations. College is not critical to developing higher critical thinking but it certainly doesn't hurt.
I was a bad dev without a degree in the bowels of a medium-sized company (1000 people or so?). It was pretty cushy. I was really terrible. For three years. I think I'm much less bad now.
We called these hackers "polymath" and it is far easier and much cheaper to get rid of TV and get hobbies.
Beside, 4 hours of tv watching a day is practically a part time job. Might as well spend that free time on something more relaxing and brain stimulating.
I found education benefits most in expanding your mind and abilities (of learning, critical thinking, and sharper mind), not so much about the knowledge. Of course knowledge helps but you can pick them up on your own. Education force you to learn some topics that you might never use later but would benefit you in other way anyway. Some people can gain those without a formal education, more power to them. What it means is that the hiring manager can't be lazy to use degree as a filter. Have to really understand the individual's capacity.
Now is the time for me to focus on spending as much time with my son and family as I can and I can no longer commit to 100 hour weeks at Engine Yard. I also wanted to move to Portland where my folks live so my son can grow up near his grandparents and my wife and I can have trustworthy babysitters so we can have a social live of our own(even if it’s just a little bit;)
This is a man with his head on his shoulders. My only comment is I wish that more people had this level of dedication to their families.
I don't understand the whole 100 hour week business (unless it's an exaggeration). Even at 7 days per week, that works out to 14 hours a day, or 9am - 11pm. I could pull off those hours for a few days (and sometimes I do), may be a few weeks if really necessary, but no human being can do this consistently and do even remotely creative work. We run a startup and meet fairly aggressive schedules at half the hours. Why could they possibly need to work 100 hour weeks?
Yes, sometimes it's necessary. Yes, sometimes team spirit takes over and spending fourteen hours a day at work feels like fun. Yes, sometimes there's a creative burst and one could easily pull of a fourteen hour session. But I cannot believe someone could consistently put in an honest day's work and pull off those hours for more than a few months.
FWIW, I've done 100 hours a week for several weeks in a row.
I felt pretty productive since I could intermix the kind of work I was doing. 11AM-6PM would be meetings, interviews/recruiting, etc. Dinner break w/ hulu from 6-7. Then program myself for basically a full day (~7PM-2AM).
try being a founder of a ~100 person startup and you will see how weeks quickly become 100 hours. I never meant to say that I did 100 hour weeks every week but I did a lot of 100 hour weeks and definitely not very many 40 hours weeks.
"We just were victims of our own success and could not deploy customers fast enough to get free time to build the automated system that AppCloud is today."
This is a really hard problem IMHO. Obviously it depends on your business model, but I've found it at times an unsolvable problem...
Yeah, it seems to be quite a common problem at the moment. Look at Twitter; more specifically Digg, who have suffered from this for years and are only now getting out from it.
I still don't entirely get their model. They have all this rails deployment expertise, but you pay a more less flat fee every month, whether you're drawing on their knowledge a lot or a little.
I think I'd prefer to pay less for hosting, and have some experts on retainer for when they're really needed.
They're cool people in any case, and I wish them good luck.
A. If you are paying a monthly fee, what difference does it make if that fee is called a hosting cost or a retainer?
B. You will ultimately either pay more, or get less value, if you decouple your expert support from the specific hardware platform that your expert support understands best and lives with every day.
C. If you only pay your experts when there is an emergency, there is no incentive for anyone to help you avoid having emergencies. Nor will there be anyone but you to look out for emergencies before they happen, or prevent emergencies by doing routine work like testing and applying patches. And you will have to get really good at finding freelance experts and convincing them to drop everything, reorient to your system, and fix your problem in a matter of minutes as your server is in flames; you may have to pay premium prices for that. It might be cheaper to just pay the insurance bill.
Disclaimer: I work at Acquia on Acquia Hosting, a product which is like an EngineYard for Drupal.
> A. If you are paying a monthly fee, what difference does it make if that fee is called a hosting cost or a retainer?
I have more latitude when I put the pieces together: hosting here, retainer there.
> C. If you only pay your experts when there is an emergency, there is no incentive for anyone to help you avoid having emergencies
That's a fair point, but on the other hand, it also seems that if you're paying an 'expert surcharge' on your hosting, your incentive is to get as much out of that as possible, whereas the experts, getting a flat fee, can't act as de-facto consultants without eating up all their margins that way. There's something of a conflict there. How do you guys define exactly what your role is?
Also, presumably someone is developing the code to be hosted there. The better they are, the more likely it is that they'll be able to do a good deployment and monitor it on an ongoing basis.
Well written. I had never heard of the author or his company, yet unlike so many of the articles that come through here, it had enough context baked in that you could follow it without a Google search.
I found it surprising that Rails needs this level of hand-holding to keep it running though. Rails devs, is this really the experience you have deploying your applications?
It doesn't need that level of hand-holding, really, these days. A few years back it was a bit more difficult. Today the options are well known and really usable by a beginner (eg: passenger).
EngineYard brings a premium service, but none of my customers have been interested to pay the premium. They all go on SliceHost, Joyent, or home-hosted machines.
Sidepoint: around me, most non-rubyists developers don't deploy their apps themselves, whereas all the people I know who work with Rails or Sinatra do deploy themselves. I believe this may be thanks to Capistrano et al, maybe.
The only issue so far ive seen is that there arent any rails/ruby sites that have complex interfaces. Twitter is barebones. ONce theres a site that has heavy traffic and a more complicated interface its possible the perspetion of the technology will change.
None of those have interfaces on par with say amazon or ebay or even facebook. ALthough i know facebook uses mostly ajax anyway. IN fact justin.tv and scribd really are just a cms that pushes the video rather then the site being based around the interface as it is with facebook.
Its not really that important just something that ive noticed. THen again there arent really any java sites that i can think of that are high load sites that have complex interfaces either. Meaning newer sites. MAybe they just arent in fashion anymore. Or everybody is just moving to ajax front ends.
"I found it surprising that Rails needs this level of hand-holding to keep it running though. Rails devs, is this really the experience you have deploying your applications?"
That WAS my experience with Rails, but I'm pretty sure that the problem wasn't due to Rails, but rather the way that our system ended up being architected.
An intelligent setup would have been to have each child site a separate, service-backed (i.e. no ActiveRecord -- that scaled abysmally, and I don't know whether or not it's improved enough for more than prototypes since then, so that part might be outdated now) Rails application. The company common resources like custom Javascript, authentication (ours used a pretty hefty RSA server setup) and style sheets should be hosted in their own Rails app.
Do it that way, and ensure that your developers aren't idiots like the blithering idiot that thought he was an architect (without nepotism he'd have been fired instead of promoted to architect, as his only previous industry experience was as a gopher at accidenture), and you can make a Rails app that's not only robust, but also scales well.
It also avoids the tight coupling problem that the gen-y's and sweatshoppers all seem to love so much.
You decide to add a new feature? Spin up a new Rails app. You need to change the styling? No problem, update them in one place.
Not that any of that is specific to Rails, but even back in 2005, that approach worked well... and the company I was working for might have been successful if we'd stayed that course.
I'm not positive as to what you specifically are referring.
There are easy options for simple apps. As things get complicated, there are managed hosting options that are hyper-specialized to Rails, such as EngineYard.
There was a time when administering a Rails app was a much more hairy proposition than it is today, though.
Ive heard the complete opposite is true. That rails while improved is still a pain to deal with. THe benefit of tails is that theres more and more people using it so theres some expertise out there.
mod_rails/Passenger changed the game on deployment of Rails - Rails deployment is no harder than PHP if you use Passenger/Apache. Most of the 'Rails is hard to deploy' opinions are just relics from the bad old days.
high volume/high availability setups can be complicated, but that's the same all over...
I dont actively follow the rails communitee so maybe what i heard was a while back. I know rails and ruby in general are becoming probably the most actively developed communitee in relation to other languages frameworks. So as you say many of the issues are being resolved very quickly and effeciently.
Im not the biggest fan of rails, i kind of like padrino actually, however i do like ruby and have found some very cool people within the communitee.
Having worked full time in both .NET environments and now in Ruby/Rails, the toolkit in the ruby community is very robust and a far better experience. Any of our developers can do a production deployment with one command and do it with zero downtime. In .NET, it was never as elegant.
The problem is something gets started in the infancy of a framework or tooling and continues to get propagated. The "hearing" rather than "using".
Interesting. I'm a full-time Ruby and Rails developer, and I host/manage a few Rails sites personally. I'd beg to differ with whom you've been speaking. As betageek said, mod_rails makes it a breeze, plus it can be used with either Apache or Nginx.
Like any opinion, people are bound to have different ones. Using something like Passenger, you just put your app somewhere on your box, and add two lines to your httpd.conf, and you're done. I use nginx/unicorn, but it's still really easy.
The way I've been explaining Padrino is that it's Merb built on top of Sinatra.
Merb was a lightweight, modular framework made up of a small merb-core and then merb-more, a collection of 20ish gems that provided various bits of functionality, most of which were problems that Rails solved in its core. Stuff like merb-helpers. If you wanted fancy helper methods, you required the merb-helpers gem. If you didn't care, you would not require that and have a slightly more efficient app. Similarly, it didn't have an ORM baked in--you'd use some gem like DataMapper (with an additional merb_datamapper gem that told Merb how to integrate with DataMapper).
Padrino seems to have the same setup of a minimal core with lots of modular plugins, but its equivalent to merb-core is sinatra. Which is awesome because sinatra is great and this way they don't have to reinvent the wheel.
Ive played with PAdrino a bit and its really quite nice. Very flexible and has a good communittee. One of the problems i have with Rails is that it seems to leave the other frameworks behind. In fact i only know of one or two places using something other then Rails. ANd its usually for backend stuff such as i think serving json. At the same time Rails is a heavyweight which not everybody needs.
Ezra, thanks for all your help while at EngineYard. I recall many times where you would help out when I was having problems with client sites. Looking forward to hearing what your next project is.
Ezra and team helped a client of mine accept HTTP chunked transfers back in 2007, for custom uploads from a mobile Java app. That might be simple today (or more likely, unnecessary), but in 2007, virtually no one had done it. Googling returned the HTTP spec and one (1) incomplete howto article. They spent a ton of time getting this set up. Thanks, Ezra!
Oh wow, memories... my first sysadmin job had our servers in the same datacenter, in 2000. It was originally called Wavve, and had been built with dot-com VC, so they had all the toys -- biometric identification, massive stacks of batteries, Starbucks-inspired architecture, riot-proof glass...
"Oh the stories I could tell if only I could. But I feel that telling this positive story of the history of EY is the classy way to go out and I wish Engine Yard all the best in the world"
They wouldn't be normal people if there weren't a bit. It sounds like things went ok though, all things considered, and he's just ready for new things and a new place.
I don't think anyone would leave right before their stock was about vest, without a solid reason. :) But the key term is classy.
True story: in the early days of Merb, before it had really gotten a lot of attention, I once hit a show stopper - hopped on IRC, told him about my problem, he found the bug, fixed the bug, pushed a new release in something like 15 minutes IIRC, and stayed cool about it the entire time.
> I don't think anyone would leave right before their stock was about vest, without a solid reason.
I wouldn't assume that there's some hidden reason for him leaving. First of all, leaving right before his stock is about to vest just means that he's leaving a little bit of stock on the table. As he said, the vast majority of his stock has already vested (as one would expect after 4 years), and he gets to keep that. It's the 5%, or whatever, of his stock that hasn't vested that he's losing.
I read this as "I've been working startup hours for way too long, and I'm tired of it, especially now that I have a kid I want to spend time with".
I've seen startups handle the "all my options are vested" motivation problem with what's called an evergreen program. An evergreen program keeps issuing options such that your monthly vesting rate remains constant after the initial 4 years.
All businesses have their ups and downs. I was with a startup for 6 years and certainly have a good set of stories. It just isn't good karma to air dirty laundry.
We have been a loyal EY customer since Jan 2009, over 1.5 years now. I'm glad that EY is still growing and doing well and it's sad to see a cofounder leave. I hope Ezra the best.
Alex Payne quits Twitter, moves to Portland, cofounds BankSimple, an attempted game-changer if there ever was one. - http://techcrunch.com/2010/05/17/alex-payne-twitter/?utm_sou...
"Wow. @banksimple just leveled up. In the last 24 hours we signed on four of the best engineers I know. Can't wait to announce the team." Alex Payne - 8/11 - https://twitter.com/al3x/status/20905067927
"What comes next for me? Something truly awesome and even more challenging then Engine Yard, but that will allow me to work from home in Portland. I cannot yet reveal where I am going to work next but I can promise it will be another game changing project and I am chomping at the bit to get started." Ezra, 8/13