 We're going to have a lot of fun here. So I want to get started as soon as possible. Thank you all for finding us down here in this crypt. But it's really heartening to see a good crowd here. So anyway, I'm going to start by just briefly introducing myself. My name is Obi Fernandez. I'm known in the Rails community for writing The Rails Way and subsequent editions of it. Rails Four Way is out as a beta book. You can get it on Lean Pub. And it's going to be out in print within a week or two. That's one of the big reasons I'm here. And I want to introduce the rest of my panel, starting with Alan Grant. Hi, my name is Alan Grant. I'm one of the co-founders of Hired, formerly called Developer Auction. You might have seen us here last year. We're a pretty young company. We're about a year and a half old. And actually started out of my Rails Conf trip to Austin three years ago where I tried really hard to hire engineers from my previous startup and failed and came back and over drinks. This idea was born and I was like, I can hack this out in a week, and let's see if it works. And here we are today. Hi, I'm Chad Pytel. I'm a developer and the CEO of Thoughtbot. We are, in case you're not familiar with us, we're the creators of Factory Girl Shoulda Paperclip. And we work with early stage startups building products. OK. And over the last two years, we've gone from 19 people just in Boston. We're in our 11th year. We've gone from 19 people just in Boston, and we're 81 people across eight offices now in the world. They're only two people. Yeah, yeah. And it's been a lot of fun growing, and we've obviously hired many Rails developers over those two years. Jeff Kazimer, I have a company called Jumpstart Lab that I started in 2009 to teach primarily Ruby and Rails programming. Since then, I started a program in DC called Hungry Academy, a living social program in Denver called G-School, and most recently a training program called Turing, the Turing School of Software and Design. And over the past two years, I have helped about 72 new developers find great jobs. So hope to share some of that today. Wow. I'm Corey Haines. I post pictures of cats on Twitter. I'm the CTO of a local company called Viewpoints. That is a ratings and reviews site for consumer products. I know a lot of developers, and I've worked with a lot of developers, sort of Rails developers, sort of on their code bases and stuff, seeing the sort of evolution of the skills and all of that over the last few years. I think that's why I'm here. Not the cats. Oh, yeah, and I wrote a book. Obi said I could do that. Go look at four rules of simple design. It's a good book. You should get it. Actually, I invited you because we'll start out with the red meat, because I'm that kind of panel moderator. How important is craftsmanship? I know that employers can generally be all over the map, but Ruby started before it hit the mainstream. I think it was very, very important to practice TDD and peer programming, all this stuff. And how is that evolving as we hit the mainstream? And you're welcome to start. Well, I think if you have the benefit of a team of very experienced developers, then you can sort of stray from a lot of the established practices. And as you gain more experience as a software developer, you start to be able to question and be effective using different techniques. There's no one true way that is the best way. But there are a ton of really bad ways to develop software. And I think experience is about finding out what are those ways that are bad. And so my opinion is that especially when you're sort of beginner moving into intermediates, so for me that's usually up to about five or seven years of experience, you should sort of find a way that a lot of other people are effective doing and do that until you're really good at that. And make sure, it doesn't matter who, but if you really grasp onto somebody who's very effective, really study how they do it and get good at that way. And then eventually, you figure out where are the corners and the holes. So I'm going to give the rest of the panel a chance to respond to that. Well, so here's the thing. You mentioned that for the first five to seven years. But Rails has, everyone's talking about 10 years. I don't know that a significant number of people started doing it really until 2007, 2008, where we could really, and it's really not until the last few years that's really become a mainstream phenomenon, right? So does that change your perspective of his answer, any? What's really important to me and my team and what I think is the foundation of craftsmanship is not that you are good or that you are the best, but that you are always trying to be better at what you do. And that defines a really high-functioning team of people and high-functioning developers who are crafts people. What if you start out being really bad at that? Well, if you don't have a team of people supporting you, then you should seek out those people. But if you're just content to sit back and be poor at what you do, then you're not going to accomplish anything. And people aren't gonna want to hire you, I think, or you wouldn't want to work at the place that would. So a question for Ellen. Given that there seems to be a lot of Ruby jobs and if all of you guys go to the center of your pamphlet here, you see an infographic that Hire provided. It seems like there's an extraordinary demand, especially in San Francisco. How many people are poor programmers that are trying to cash in on the fad? Is it like the dot-com era all over again? There are no poor programmers, just programmers at the start of their careers. It's actually an interesting question. And I want to kind of go back to the previous question for a second as well and kind of do you really a question for a bit. On craftsmanship, which is a word that I only know a little bit about, I aspire, but I wouldn't consider myself an expert. I feel like there's a cultural element where different companies define it very differently. Like one of the things we talked about was pairing, right? There's companies that have very strong pairing cultures and there's companies that have very strong like no pairing cultures and remote cultures. There's still pride, different types of craftsmanship. So to some extent it becomes a, are you a fit, so to speak, for the environment that you're gonna be performing in. Now, different aspects of culture, which you just mentioned as far as wanting to always be better and not wanting to be selling your job. Also cultural elements, I feel like they're much more universal. I don't think that there's a company that's like, I wanna hire the developer that's stagnating. Like that's exactly who we're going after. And but I guess before answering your question, we see a variety of different candidates and we curate the pool that actually participate and hired. And so to some extent, the people that are participating have already passed some sort of bar there. But I'm kind of curious as far as the audience, like what brings people to this particular panel? Cause I think that will help us better understand what we should be talking about. Like maybe like as a show of hands, like how many people are here because you're hiring Rails engineers and you really wanna figure out how to like hire Rails engineers. Like how many are here from the company side? Okay. And then how many are here because you're interested in sort of the future of jobs from your own perspective as an engineer? Okay, so that's the overall majority. Cool, that's good to know. So then why is there so much, if everyone here is looking for a job, then why are there's apparently so much demand for Rails developers and it's so hard to hire them? Well, so a better question then on that is how many people that raise their hand that are here from the company side are currently employed and actually how many are currently interested in job opportunities that are not currently employed? Right, right. So I don't think people are here because they have a hard time finding Rails jobs. I think it's just because, what you said, everybody wants to continue to keep learning and leveling up. What's the next step? There's also the idea that right today people aren't having jobs and there's a lot of Rails jobs, but what's the landscape look like a year from now, two years from now, five years from now, if all you know is Rails or you entered the industry primarily through Rails, where are the places that you should be going? I don't know if this was a later question, but what should you be studying? Are you gonna be able to find a job in the future if all you know is Rails? Thank you. Let's save that one for, we got about half an hour left. Let's save that for the last quarter, but here's another microphone. I have a quick comment on that. While we're on that, it's actually kind of hard now to get a job doing just Rails, right? We had an engineer that started recently who is extremely smart, passed all of our coding tests, just stellar, had no Rails experience, and after his first week, he's like, wow, I am really, really challenged. I'm like, why? He says, well, I knew I would have to learn Ruby, and that's cool, and I knew I'd have to learn Rails, and that's cool, but now I'm also having to learn CoffeeScript because you use CoffeeScript instead of JavaScript, and I'm pretty good at JavaScript, but I'm not an expert, I'm an Angular, and Capybara, and RSpec, and all these different ecosystems, like it is a really, really rich ecosystem, and some of those ecosystems are Rails-specific, like the RSpec, Capybara, but some extend beyond that, so I feel like even today, it's hard to just be a Rails developer. Yeah, totally, I think that's been one of the big barriers to, it's one of the things I scratched my head about, so maybe there's a chance for Jeff to jump in. You are teaching, you're teaching people ostensibly to be hireable as Rails devs, but to be a Rails dev, you have to know SQL, you need to know JavaScript, you probably need to know some CSS, or at least understand the ASAP Pipeline, which is really hard as a beginner. It's really hard period, yeah. Yeah, how the hell do you do that in nine weeks, or five months, or whatever it is that you do starting from scratch? I think the first problem is that it's really difficult to understand how many pieces there are now, right? Like when I started writing Rails applications, and you started writing Rails applications, it was like download the Rails gem, generate an app, and go. And now it's like, you can't even just do that, you need V8, so the ASAP Pipeline will do this, and you need all these header libraries, so Postgres gem will build, and now it was set up Postgres, and good luck with that, and it's just there are so many pieces just to get going, where one of the central premises was like, this is fast, this is full stack, like everything's ready to go. We've kind of lost some of that just from the physical setup of getting going. But then also mentally, you can't, when I learned Ruby, the question was, how little of this Ruby stuff do I need to know to build Rails applications, right? And I think- Actually, let's riff on that. I want each of you guys to answer this. How little of the Rails stack, the greater, let's call it the greater Rails stack, do you need to know to be hireable, like to actually be productive for one of you guys? Very little. I would say very little, and I actually, when I do tutoring and stuff at the schools, is I tell them to stop learning JavaScript and stop learning all of the other stuff, because if you're sort of at the beginning of your career and you join a place where you're expected to be proficient in all of that stuff, that's the wrong place, you're not going to be really effectively learning there. So I tell them, learn a little bit more depth, have a surface knowledge, but learn the Rails stack, learn how to spin up a Rails app and build just a raw HTML type of thing. And then when you find the job, hopefully there's people there, you're at a place where they know that already and then they can bring you in. The rest of you guys agree? Yeah, very much so, but I would encourage people to be very upfront about what they do and don't know, but don't spin it like I don't know these things so I can't do it. Spin it in the context of here's what I've learned and it's much more important to demonstrate that you can learn than it is that you know things now. And that's what we do every day, we learn new stuff, from the smallest things to the biggest things and being able to do that is being part of being an effective developer. Yeah, and I would agree with that as well based on what we've seen as far as hiring activity on the hired platform. Specifically how much Rails knowledge do employers look for? I think that to me or your point, it's very important to be accurate about it. So if you claim that you're a Rails expert, you're gonna get interviewed on deep Rails stuff, but I think the thing that employers care most about is that do you know how to program? And it's language independent and I think that it's actually more about Ruby than about Rails. Do you know how to write a loop? One of the things that we've seen in our own interviews that actually happens more with Rails developers than I would say with other kinds of developers is not knowing how to loop over an array of elements or not knowing how to loop except for each. So then you're like, oh I need the index, how do I get the index? For each with I and then throwing that away. Those are the things that I feel like people stumble on more so on interview than Rails stuff. Like I feel like people expect you'll learn the Rails things on the job. Are you guys seeing candidates that can't write and anything but a fundamental loop? Back in the Java days I had everyone and their grandma was doing Java because it was so hot at a certain point and I had a candidate and the second question I asked them was can you tell me what an interface is? And he just absolutely could not tell me what an interface was. And I was like, what are we even doing here? Are you having that kind of experience? So at Thoughtbot, full developers at Thoughtbot are experienced Rails developers. They've shipped multiple applications. They do test-driven development. They're very good with, we don't have, we don't have front end developers so they tend to. Do you help your clients hire as well though? Yeah, and we do. And what I tell them is that if you're serious about hiring and building a team you need to provide an environment of training and support because these people just didn't appear magically. They don't just appear magically and you're trying to hire two people. No one knows who you are. It's gonna be very difficult to attract the kind of level of person that you're setting your standards to. And so. So there's still Thoughtbot and Pivotal and Hashrocket and other firms that attract top talent. It sounds like you just said that it's difficult for some of these startups and smaller clients to actually attract, let's say, quote unquote top talent. Is that a fair statement? Yeah, I mean, that's what we see with people that we work with. Not to say that it's not impossible but those people have their choice of where they're going to work for. And so they are very choosy. And what's it take to hire some of those people? And any of you can answer. I think one of the things we see that doesn't work is salary. Although engineering salaries, developer salaries start off with a high floor. You won't find many developers like under 60K. It does top out relatively quickly and that's something I try and warn our students of. You don't find a lot of people who are doing full-time programming that are making over 200. And so it's kind of like you start quick and you ramp up and you're two years in and you're making 110, 120, 130 and then it starts petering out. Now there's also the flip side of that is once you really get up above like $100,000 the relative value of those dollars starts diminishing really quickly. And so I see not it frequently people turning down more money to do a project they're more interested in or work with a team they're more excited about. Which makes a ton of sense to us but to business people that's incredibly frustrating because they're like no I wanted that guy. Like I will pay 20K more and it's like pay 50K more it doesn't matter like he's not coming. So when I, so I do a lot of counseling to our students about picking a job. Most of our students are fortunate to get between like two and five job offers. And if they really have a hard time choosing I ask them to pick the job where there's a person responsible for them becoming the person they wanna be. And so like whose job is it to make the team awesome and you as an individual awesome. The great Jim Wyrick that was one of his responsibilities at Neo like he did not work on production code. He worked on making sure the team were learning and becoming the developers that they wanted to be. I think I have this like long talk rants about why developers quit. And I think one of the reasons good companies lose good people is because doing the work isn't good enough to get you to keep you growing. Like just doing the work. You don't see hate sports analogies but like players can't just show up to the game to get better. Like you have to practice, you have to have that learning and like that mentoring built into the company or else after a little while people are gonna leave because I get good enough at the job I'm doing and then Corey's like hey we're selling clothes and trunks and I'm like yeah let's do it. Like some new challenge I don't know about. Some area of growth for me. Yeah I agree with that especially the first part with salary not being like the primary consideration. We've seen this actually in data. So when we started the company hired it was originally called developer auction. We quickly changed our name because there was a misnomer here where we're saying oh you're putting people up for auction it's all about the money. I have to go to the highest bidder and it's like no it's not really an auction. All it means is that you get to see salary up front and the companies that make you an offer see the other offers. That's the only part of this like an auction. But what we saw very early on is 70% of the time the highest bidding offer is not the one that gets rejected. The candidate is not even interested in going on an interview. I mean there's big companies in Chicago not to name names that have sometimes very, very aggressive offers and people a lot of times may not be interested in moving to Chicago or working for that particular company. Now the part. Oh just really quick I do advising for like startup founders looking for technical talent as well. And one of the things that I try to counsel on Amon is there's a very good chance they don't need quote unquote top talent. Like you're building a crud app. You probably don't need this like fancy computer scientist. You can probably get away especially at the beginning with somebody who knows how to build that sort of thing and then counseling them on figuring out what the right technology is for that specific thing. And then you can get away with a mid-level experienced person who's aggressive and really wants it and is getting better and better. So let's talk some numbers. What do you pay a mid-level experienced person that you just mentioned? How many years? Well you have it in Chicago. Corey you just described, you just kind of painted a picture of someone who can definitely do a crud app but it's not a computer scientist. So maybe DHH. How much? I won't say that. See what I did there. I don't have an, it depends on where at here in Chicago. I would probably, I would probably 60, 70. 60 or 70. I would think so. The rest of you guys agree with that? It's a little higher than that. Your answer would be higher. Yeah, a little. I would say somebody who can effectively build a crud app, use the mic. If you can effectively build a crud app independently, I would say you're gonna be in the 80, 90 range in a normal market, in Chicago or D.C. Sounds like Chicago's a shitty market. There are different factors though. So like a startup company that's giving people, you know, an opportunity to work on something that they actually care about, then you would be able to get people at, you know, 10 or $20,000 less than 80 or 90 because you're gonna be able to make a compelling story, let alone convince them to work for almost nothing for equity. Yeah, and I mean, from a numbers perspective, I don't get into that a lot with the people. So that's sort of like what I would probably offer. So probably know better on what the market is. Okay, so like off in a galaxy, far, far away known as San Francisco and the Valley, it's like completely different story, right? Like what do you see in terms of numbers? Yeah, I think it's very rare to see a number like below 100K for kind of a mid-tier, mid-tier or even junior developer. I think, you know, we see, we actually see people's expectations get elevated. So we have a number that we ask for, which is how much are you looking to make that we don't reveal to anybody and we see a lot of times people getting like 30, 40% more than what they expect, specifically when it's in the Bay Area. Of course, it's a very unique market. So 110 to 130 is sort of the range. So that's not necessarily what we see for in, what we see now that we have offices in eight cities all over the world is sort of like the same effect that it tops out pretty quickly. There's actually not that much range. And so you get into situations where the difference in salary that you see in San Francisco doesn't actually match the difference in cost of living. And you see people not making anywhere near that because they have been convinced to work on a startup or they really, at Thoughtbot, like we make certain sacrifices in order to work the way that we do. And people wanna work at Thoughtbot because of that. Okay, I wanna shift gears a little bit. So, sure, two minutes. Yeah, I wanna add one point to your original question, which I think will actually be useful to people looking to hire. So the question was, if you wanna get the top engineers, what makes the difference to them? And I think all the points were spot on. But one thing that I feel like it's easy to change a lot of times is the interview process. It's crazy how many times we see great companies miss out on great candidates because people are too busy to interview or something like that. Like, oh yeah, sure. Like we'll talk to you next week. And then the next meeting the week after that, that like that is the one thing that every company can fix that shoots a lot of companies in the foot. So given that most of the room here is not employers, but employees, like, if you're on the other end of that situation, is there anything you can do about it? Don't apply through the website. Or if you do apply through the website, you have to find the person who's, that website probably dumps into a box that somebody checks once a week or something like that. And almost every student of ours that gets hired at a place, it's because we're able to introduce them to someone on the team, whether it's a engineer, senior engineer, VP of technology, whatever it is. Like someone who's not in HR that can like circumvent all those slow, slow processes. Okay, true or false and why? It's a dirty little secret of the industry that most of the great jobs are not gotten through recruiters and websites. All industries. Like you advertise as a last resort, right? Like you've already maxed out your friend network, anyone at your meetups that you knew, et cetera. And now it's like, okay, now we'll advertise. I'm like, get some random people. So you guys agree, okay? Yeah, and the meetups, Ruby meetups, Rails meetups are very, very important to not only finding a job, but finding people. I can't stress that enough. That's where a lot of stuff happens. And it's not even just at the meetup, but it's then going out afterwards and socializing with those people. Because that's where, if you have a company that you're passionate about working for, you really care about them and you think they might be the right fit for you, then seek, you know, not in a various way, but seeking the people who work out that company and building a relationship with them is gonna make it so much easier to actually get the interview or be persistent with them. And really quick on the flip side of that is going to a lot of meetups and building your network of people around. That's also a great way to discover what jobs are out there. Because since they aren't posted, you might say I really wanna work a thought bot, but there might be a place right down the street that turns out to be awesome and they happen to be growing and you meet somebody out of meetup like that. Can I throw in real quick? If you do apply to kind of a top tier place, knowing somebody can be a way to stand out, but you can also find other ways, like we've had students that they wanna get to a place, I don't know people there, but we find one of their open source projects and like send them a poll request. We had a student get rejected from this company, I think it was called Thought Bot. And in the rejection email, the guy who rejected him had a PGP signature. And so the student replied back to him and said like, oh, thanks for your time. You know, I'll apply again in the future and encrypted it with the dude's PGP key and then got interviewed and then got hired. So it's like, when you're applying to a place, it's getting like hundreds of applicants. When everyone else is getting no applicants, you have to find a way to stand out. And persistence is key. So we have an apprentice program and we have over 400 people waiting to even get their application reviewed. And unfortunately the people who really stand out are the people who get back to us every month or whatever and they say, I'm really interested in this opportunity and it makes a big difference. And it's a well-established fact that if you include with your email at least one picture of a cute cat, it will get noticed at every company. I wanna throw one more piece on there, sorry. Another thing that I tell students is like companies who are hiring are hiring. And a lot of tech companies, it's very rare that it's like, we have these very defined roles of we want two mid-level engineers, whatever. It's just like, we wanna add people to the team. And if you find a company you're interested in but they're advertising a job that is not the job you're a fit for, they're interested in hiring you too. Because if they're hiring anybody, it shows that they have money and they're growing and just nobody advertises junior jobs. People don't really advertise them any mid-level jobs. Everybody advertises senior jobs. But you find a company that is hiring for senior people and you consider yourself a mid-level or junior person, apply anyway. They might hire you anyway. So would you say that a strong Rails developer, maybe five years experience something like that, can easily find work as a freelancer for $100 an hour? Just consistent work? I was building $100 an hour when I didn't know shit. So yes. All right, so maybe even 125, 150? As a freelancer, I don't think you can build under 100 an hour and even cover it. Okay, so if you're working full-time at those rates, that's equivalent to $200,000 or $300,000 a year, who in their right mind would go work for an employer in that kind of market? So it's hard to actually bill enough hours to actually make it add up to that. And the act of getting to the point where you can bill that many hours is pretty difficult. And then you have to deal with that many customers or invoicing them and the headaches of contracts and all that stuff. So there are people in their right mind who just don't wanna deal with all that stuff and would rather- $100,000 to them. Yes. I think freelancing is one of the worst jobs on earth. Like I would never ever go back to freelancing because it's all on you. There's like no one ever shares the burden. No one, like there are all these jobs that you're not qualified to do. You're now like reading, writing, editing contracts. You're doing accounts payable and receivable. And at first it's like, oh, it's not so bad. It's so fun. I can wear my pajamas and stuff. And then like a year into it, you realize like there's this big entrepreneur myth, right, of like, start your own company, be your own boss, it's amazing. And I'm sure it's the same for you when you guys are starting out. When you're in charge, that means you worry all the time. Like, what's the pipeline? What helpful is the pipeline? It's okay. Now I know what I'm doing three days from now. That's cool. And then pretty soon you're like, shit, the pipeline should be like two weeks. It should be two months. It should be six months out. Oh, maybe I'm not billing enough. Maybe I'm billing too much. This client, they're not paying on time. You send out net 30 invoices and they get paid in 90 days. And then you're like, oh, your friends are like, yeah, fire that client. You're like, bitch, I need the money. Like, I don't, like, I can't, I can't, like. And besides that, I mean, there's also like, what about mentorship? Who are you gonna learn from? Or, you know, are you gonna be your own mentor? And then what about the projects that, you know, never go anywhere? Like, I came from that world and, you know, had a consulting company for a number of years. And the thing that kind of drove me crazy and eventually got me to do product despite, you know, a massive pay cut was never seeing projects launch. Like, working on something and I was like, you know, it doesn't go anywhere and you're working on something else. Like, what about, you know, that feeling of creating some of this really, really quality? Corey, anything? Any thoughts on that? No, no, exactly. So it seems like, okay, so between, between hitting the mainstream hard and the efforts of people like Jeff and other, and apprenticeship programs at some of the consulting shops, is there a possibility that over the course of the next couple of years, we're gonna see a glut of talent on the market? And what, you know, what basis do you have for that? I mean, are we immune to like all the other kind of historical trends that happen in any sort of market? I wouldn't take it that far. But, you know, I worry, of course, like if we're training developers, we're gonna graduate over 100 developers in 2015. And at what point do you reach saturation? But the reality is when you compare it to like Java developers, how many Java developers are coming out of college every year, it's tens of thousands. So like all the training programs all put together, it's not even a drop in the bucket. I'm not as worried as much about a glut as much as a severe drop in skill level. As you start pushing beginners out like crazy, Deb Bootcamp here puts out like 20 people every three weeks. And they are nine weeks in. They're absolute beginners. And from what I understand, they're graduating and making like 60K or more. Yeah, I mean, I don't honestly pay much attention to the money, because I don't think that that's important. What I think is important is the fact that you start to see more rescue projects. And you start to see, there's ideally these people come out and they join a company that has either an apprenticeship program or a very heavy culture of mentoring and learning. There's only so many of those companies that have effective apprentices. And then they started working, they need a job. So they go work at a company where they're sitting in a cube cross-training into another language and basically just sit there writing bad code because, and so that's what I'm afraid of more than a glut where like, oh, salaries go down or anything like that. It's just across the board, the general skill level is gonna go down and then you're gonna start seeing projects failing. There's going to, I know that there's more and more sort of contracting companies that consist of basically people out of schools. Chad's not afraid of this trend because he does rescues. I don't want that work. No, we get, that's not what we exist on. That's not our primary business. And we don't want that either. That would be really bad. I would be bad not only for the industry, but Rails specifically. But I mean, it really seems like these programs are popping up in every single city. They're starting to come from overseas. I literally got an email two days ago from a program that's coming over from Spain and setting up shop in Miami. And there's a new one in Atlanta now. I mean, it's all over the place, so. If the people can actually, if people are graduating from the programs and can actually do the work, then there's really, there's not an issue because there's more than enough jobs. So, we're just nowhere near how many jobs there is or will be. And so, the bigger concern would be that those people are actually not able to effectively do a good job. Is it self-regulating, you think? I don't think it's self-regulating. I think there's a lot of responsibility on what I consider our generation of developers that got into this community in 2005 to 2009, who at the time were developers and are now VPs of engineering and CTOs and CEOs and so forth. And there's the pressure on us. Like, we know that apprenticeship works if you do it well, right? And like, we know how to build the teams we would have wanted to be on as junior developers. And the question is like, will we follow through? There are, you know, Prentice I.O. of course is a great example of companies that are doing it right and bringing through people and you get high retention, you get high loyalty and there's so many benefits to it, but you have to be willing to make a three-year play, a five-year play that it's not the most profitable thing for the next six months. And that's where I think everyone outside of San Francisco has a big advantage. Like, we see if you're in Denver, for instance, where we are, like, there isn't the focus of get out, get out, right? Like, get in and get out, get out with your equity and get out with your, hopefully, millions of dollars and so forth. It's more of we're building a company for five years, we're building a company for 20 years, so it's worth the investment. Like, we want these people to be around in five years. Anyone, we're coming up in five minutes. Anyone have any burning questions they want us to discuss or broach? Okay, so the question is mid-level developer, a lot of his experience is just personal projects. How do you get an employer to recognize that? I think you have a great privilege in programming, almost unique across any field, any professional field, that you can demonstrate your skill very quickly. And if you can get a few minutes with somebody, I can sit down with somebody in half an hour and tell you how good a developer they are, like, pretty accurately. And so how can you get them to see your code, right? The obvious answer is like open source work. I think a lot of people are intimidated by open source that getting into projects is too hard and all that. You can just publish your own projects. We have a- So the answer is, you know, get hub, get them to show you stuff. So if you're wondering how to, you say, I can't, I don't even get the opportunity to come in and sit down. Don't do it under the context of an interview then. Contact the company and say, hey, can I come in and like pair with one of your developers for a day or a couple hours? And you'd be surprised that the company would say, yeah, that's great. We'd love to have you come join us for the day. Yeah, actually, if I can plug in old blog posts of mine, one of the ways to hire senior people sometimes, even if they're working for someone else at the time, is tell them, hey, can I get you to come in and just consult for a few hours or maybe a day and give them like a high rate for doing so, like maybe a thousand bucks or something. And if you start making that a habit before you know it, you've hired a senior person. We had another question in the room. So the question is, how do self-starters, people who are self-taught, who have a mentality of continued learning compared to people who are coming out of programs where there was more of a curriculum and they were kind of, were force-fed a certain way of doing things? Is that fair? We've seen people out of all different kinds of programs and the people who get into the programs largely have the same drive and everything as anybody else. And the programs aren't so structured where it's mostly just building applications and pair programming with people and doing programming. So it's not like going to school in the same traditional sense. Can I get a show of hands for people that pair program every day? Well, someone said used to. How many of you used to pair program every day and don't anymore? Okay, well, it's not necessarily. Is pair programming a big part of the future Ruby jobs? No, I don't think so. I think diversity is important. Like there are some people that love pairing and some people that hate it. And I think both opinions are totally valid. Right, I agree, but I just, it's not a big problem. But you don't let anyone pair program at thought bot. No, so people pair program whenever they want. I think the future is understanding the benefits of pairing in different situations like senior, junior, peers and applying it when it's appropriate. There are places like Pivotal that do it 100% of the time and are very effective at it. There's places that don't ever do it and are still very effective. But if you can really understand it and not look at it as what we have to pair because Corey said so and instead look at it as what you get out of it then you can find those situations and not have to say we do it all the time or we don't do it. I would be surprised if there was any company that never paired because if you don't have a situation where you go, I can't figure this out. Hey, can you come over here and help me figure this out? Which is pairing, I would probably think that's not a great place to be. Okay, so final kind of future facing question. Are we, as a community right now, are we Java like in 98 or 99 or 2003, 2004 where still a lot of growth left, a lot of excitement, a lot of growth left or is something gonna disrupt us in the next couple of years? Obviously I'm asking you to predict a little bit but what do you think? Is it Go or JavaScript or something? I think based on what we're seeing on our platform there's a lot of growth left and the reason I say that is because we're seeing the early stage startups a lot of times, series A, series B funded, they're growing their early teams and they're making investment in Rails and that's not going away and those things are gonna take years to unfold. I mean, we'll see what happens but I think that based on the number of companies that are just now starting to adopt Rails in a really big way, I think we're still in the early days. So I think you're absolutely right in terms of the growth. I think that there, I don't think the thing that's going to attract people to switch away from Rails especially experienced Rails developers to switch away from Rails really exists yet where it's gonna happen in large numbers but I think that we are on the sort of cusp of something potentially coming along that does that. I see people at Thoughtbot, myself and people just in our community who are very, very interested in other things and are actively seeking them out. And do you attribute that to maybe just being burnt out a little bit on, you know, we're approaching 10 years for the oldest members of this community, you know. Are we just kind of ready for something fresh or is it more global? I think that's part of it. I think that it's Ruby Rails. I think it's the leader of our community getting up on a stage and telling 70% of the audience that they're doing something wrong year after year might wear on people a little bit. So all those factors combined, you know, cause people to look for other things. I think that Java's the wrong analogy. I think we're actually the PHP. And I don't mean that in a negative way. It's hardly a positive way to know that. So if you look at what PHP does is it allows people with very little experience to write an application, get it up there, have it running more so than Java, like spin up a new Java web app as a new person but spinning up a new Rails app, getting your ID out there. You end up oftentimes with very poorly written systems and difficult to maintain systems which we already see in Rails. But what it is, is it's giving people the power to put their idea out there. And it doesn't, you know, it's not exactly conducive for building really long-term maintainable applications if you use the standard set of ways of developing it and you are not a highly experienced developer. And but the beauty of PHP was that you can just load up PHP, you know, install PHP and have a website running. That's an amazing amount of power. And when you talk to people who are just starting programming, like the thing I tell them is you wake up in the morning and at the end of the day, you've created something that is not there yesterday and that is beautiful and an amazing type of thing. And Rails, you're able to do more in a more effective way than you are with raw PHP. So I think what we're seeing is Rails going into what I think is its natural state, which is taking the problems and the frustrations with PHP, layering on these sort of productivity enhancers and then putting it back into the hands of the people to be even more productive than they are. If you look around you at a conference like this or at your local user group, it's really just the tippy top of the iceberg, right? In terms of the people who are doing Rails at this point. I mean, it used to be that you went to Rails Conf, you were with a significant portion of the worldwide population when we first started out. Nowadays, what do you think that you're seeing in a conference like this? Like percentage? Yeah, I agree. You know what I'm saying? I mean, it's a self-selecting group, right? So it is the people who are most engaged with what they're doing. If I can add on to the previous question real quick. We're gonna go over time because I don't care. The thing I fear most is becoming a guy that I met and I was talking to him about Rails and he said, oh, I use wheels. And I said, what's that? Have you ever heard of this? No. And he said, oh, it's Rails, but it's implemented in cold fusion. And I said like, holy shit, like this is delusional that you're like trying to perpetuate this technology that's dead. And so whenever I see people in Ruby rebuilding stuff that already exists in JavaScript or already exists in Elixir, I'm like, oh, shit, it's wheels. Like, we're wheels. And that's the thing that I worry about is like, if we are too stuck in our little world that we'll lose the perspective of like what's really happening. I think that Ruby and the Ruby generation are probably the last great programming communities, not because something is gonna- Like in the end of history kind of way? Yeah, like because it's too easy now to get started, it's too easy to like bootstrap a community and application framework and all those kind of things. And I think from now on, we'll only have like micro communities. So we're like Bitcoin and everything else is like doge. Well, not so unevenly. But you know, when I think you look at like closure, great, small community, people that love doing closure, it's never gonna have this like rocket to the top, elixir, not gonna have to go. I just don't believe that there are too many good options. Yeah, but people said that about Java. Well, Java had the marketing machine, right? Like you tie in the colleges and the AP tests, now you create this pipeline of developers. And I just don't think there will ever be that concentration again in one place. What does the rest of the panel think? Yeah, I agree. I think I disagree with that to a certain extent because when you look at closure, like it's a language that is very good at solving specific problems. So it's not going to get to a general audience in the same way that Ruby did. I gotta disagree with you too. It sounds like a recipe for getting blindsided by whatever comes next. Let me make one thing is that I think it's important to realize that as I understand it, he's talking, you're gonna have a lot of these micro communities that build up and it's not to say that it's going to be only a hundred people and forgive me if I misunderstood you, but it's not that there's a hundred people, but you're not necessarily going to get this massive group of people who all come together and all of that. You can have these small, and you already see it in the Ruby and Rails community where you're starting to see them splinter off into these small. And people identify as Rubyists, but also participate in micro communities, right? So what percentage of Go programmers only program in Go? Probably almost zero, right? They have some other home that they came from and now dive into those micro communities. And I think if you don't pay attention to those, that is how you get blindsided. You do need to be participating in Elixir and JavaScript. And it doesn't matter which other thing you try as long as you have some outside perspective and some outside connection. I think it's very likely that there will be a venture. I mean, we're working, it was only 10 years ago where Java was this huge thing. Like, you know, I think it's very likely that in 10, 20, at some point, it's very likely that there's a new language or something becomes very popular that lots and lots of people use. Yeah, I think it's two shorts. Like, to the end of time, never have anything else. You realize that's this year. And I think the point that Jeff made was about the acceleration of adoption, and that point's been made about a lot of different things, social networks, about a lot of things. Like, this is the last one because nothing's gonna grow as fast. But what we've seen with everything is that adoption gets faster and that doesn't lead to more clustering of community. It leads to a point where when something fundamentally has more value than anything that's come before it, that it will take the world by storm at a much faster rate. So I- And then Facebook will buy them. Ha ha ha. Ha ha ha. That thing's gonna be PHP, by the way. It's gonna wrap back around. It's gonna be fooby. All right. Well, I want to thank my panel. Thank you guys for providing entertainment. Hopefully some value to all of you here.