00:00:15.960
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. It's really heartening to see a good crowd.
00:00:22.090
Anyway, I'm going to start by briefly introducing myself. My name is Obie Fernandez, and I'm known in the Rails community for writing the book 'The Rails Way' and its subsequent editions. The beta version of 'Rails 4 Way' is out on Leanpub and will be in print within a week or two. That's one of the big reasons I'm here.
00:00:35.110
Now 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 young company, about a year and a half old, and actually started from my RailsConf trip to Austin three years ago, where I tried really hard to hire engineers for my previous startup but failed.
00:01:02.950
After that experience, the idea for Hired was born over drinks. I said, '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. In case you're not familiar with us, we are the creators of Factory Girl and Paperclip, and we work with early-stage startups building products. Over the last two years, we've grown from 19 people in Boston, where we are in our 11th year, to 81 people across 8 offices around the world. It's been a lot of fun growing and hiring many Rails developers during that time.
00:01:29.350
I'm Jeff Casimir, and I have a company called Jumpstart Lab, which I started in 2009 to teach primarily Ruby and Rails programming. Since then, I've initiated a program in D.C. called Hungry Academy, a program in Denver called G School, and most recently, a training program called The Turing School of Software and Design. Over the past two years, I have helped around 72 new developers find great jobs, and I hope to share some insights on that today. Wow, I'm Corey Haines. I post pictures of cats on Twitter and am the CTO of a local company called Viewpoints, a ratings and reviews site for consumer products. I know a lot of developers and have worked with many Rails developers, seeing the evolution of their skills over the years. I think that’s why I’m here—not just for the cats.
00:02:44.540
I also wrote a book called 'Four Rules of Simple Design.' It's a good book, and I invite you to take a look at it. As we start the panel discussion, I want to ask: how important is craftsmanship?
00:03:08.840
I know that employers can generally be all over the map, but Ruby started before it hit the mainstream. Practicing Test-Driven Development (TDD) and pair programming was very important back then. How is that evolving as we hit the mainstream? You’re welcome to start. If you have the benefit of a team of experienced developers, you can stray from established practices. As you gain more experience as a software developer, you start to question different techniques and can effectively use them. There’s no one true way that is the best, but there are many ineffective ways to develop software. Craftsmanship is about identifying ineffective approaches and improving upon them.
00:04:44.170
In my opinion, particularly for those transitioning from beginner to intermediate levels—up to about five or seven years of experience—you should adopt established methods that are effective until you master them. It's crucial to find someone who excels at their craft, study their approach, and become proficient. Once you grasp these techniques, you can begin to explore where your own methods can deviate. Now, I’d like to give the rest of the panel a chance to respond.
00:06:01.220
Here's the thing about the first five to seven years: Rails has been around for about ten years. Many people truly started using it until 2007-2008 when Rails became a mainstream phenomenon. In this context, what I see as crucial to craftsmanship is not about being the best but about striving to improve continuously. That's what defines a high-functioning team of developers who are also craftspeople.
00:06:57.690
If you lack the support of a strong team, seek out mentorship. If you’re content with mediocrity, you won’t achieve much. Moreover, companies won’t want to hire you, and you won’t want to work in an environment where there's no growth.
00:07:45.050
Alan, given the abundance of Ruby jobs, what’s your take? In your pamphlet, there’s an infographic provided by Hired showing a high demand, especially in San Francisco. Is this reminiscent of the dot-com era? Are there programmers struggling?
00:08:43.060
There are no poor programmers, only those at the start of their careers. It’s an interesting question. To address craftsmanship again, I believe different companies define it uniquely. For instance, some encourage pairing, while others do not embrace that culture. Craftsmanship becomes about finding the right fit for whatever environment you’re in. But ultimately, fostering an environment where individuals strive to improve is universally important.
00:09:46.190
I should mention that while programming practices are crucial, it’s equally essential to have a culture that supports continuous learning and development. If you're merely content, you won't grow, and organizations will not want someone who lacks aspiration.
00:11:00.670
Earlier, we talked about the surge in Ruby jobs, but if everyone's here looking for a job, why is it so hard to hire Rails developers? How many of company representatives here are actively hiring?
00:12:21.120
I believe many want to continue learning and growing in their careers, not just finding a job. Although there are numerous Rails jobs, understanding the future landscape is essential.
00:12:32.300
Where should you be studying? Are you still going to find opportunities in the future focusing on Rails? Let’s keep this for later.
00:13:08.420
It's hard to land a job that solely requires Rails expertise nowadays. An engineer we recently hired, despite having stellar coding skills, found the expectations of learning various other frameworks quite a challenge on their first week.
00:13:36.660
I agree. There is an overwhelming ecosystem surrounding Rails now—like CoffeeScript, Angular, and more—making it hard to just focus solely on Rails. What challenges do we face in training newbies today? The old simplicity of Rails has been lost with the increased need for additional tools and languages—all which complicate things for beginners.
00:14:54.290
When considering how little one needs to understand Rails or the overall stack to be hireable, the consensus seems to be: very little. As I tutor, I often advise beginners to focus first on mastering the basics of Rails before branching out into JavaScript or other frameworks.
00:15:29.190
It’s essential to learn how to build a basic Rails app and contribute effectively before trying to delve into other areas.
00:16:10.160
You all agree? I've seen more evidence that employers are more interested in figuring out if you can program, rather than only your knowledge of Rails. Employers often check if you can write a loop or handle arrays, which is more critical than knowing intricate Rails specifics.
00:17:16.190
In my experience at Thoughtbot, the full developers we hire need extensive Rails experience and have shipped numerous applications. We're also responsible for helping clients find talent. If companies want to build successful teams, they need to commit to providing an environment for training and support.
00:18:43.240
Getting top talent can be a challenge for startups and smaller clients. While top firms attract talent, smaller organizations must find ways to build their appeal and attract candidates—salary alone won't be the determining factor.
00:19:30.530
The floor for developer salaries is quite high, often starting above 60k, but compensation tends to plateau. Many developers prioritize work that excites them over merely a high paycheck—this can lead to frustrated employers who cannot attract talent just by increasing salaries.
00:20:36.030
When we started Hired, we recognized early that salaries alone aren't what keeps candidates engaged. Seventy percent of the time, the highest offer isn’t the one that gets accepted. Cultural fit, the work environment, and the potential for career development play a massive role in candidates' decision-making.
00:21:40.830
From a recruiting perspective, keep in mind that developers want to fulfill roles that allow them to grow. Candidates value opportunities that offer mentorship or environments that facilitate developer growth.
00:22:15.130
Another way to refine your hiring process is through your interview techniques. Many companies miss out on candidates due to lengthy hiring processes. Candidates appreciate swift decisions, and you can engage potential employees faster by catering your hiring practices.
00:23:18.920
Network effectively—don’t just rely on job advertisements. Most high-quality developer roles are filled through referrals and networking. Engaging with the community can lead to hidden job opportunities, so building connections is vital.
00:24:25.070
Exploring open-source projects, publishing your own code on GitHub, or offering help to established companies can significantly enhance your visibility. Some candidates have successfully leveraged creative methods to stand out, including personalized, memorable responses that showcase their skills.
00:25:26.980
Additionally, connecting with practitioners through meetups can provide insights into potential opportunities that may not even be posted yet. Startups often look for talent but may not actively advertise junior positions, so take the initiative and don’t hesitate to apply for roles even if you think you might not be qualified.
00:26:49.170
Strong Rails developers can find significant opportunities as freelancers with rates upwards of a hundred dollars an hour—sustaining a full-time job in industry needs to be weighed against freelance viability. Individuals might prefer a continuous support structure over the headaches of freelancing.
00:28:14.300
Despite better pay in freelance settings, working as a freelancer can be burdensome and isolating. Industry connections formed within companies can often lead to a more fulfilling work-life balance than independent contracting.
00:29:36.530
Between the mainstream usage of Rails and the efforts of educational programs, we might anticipate a shift in the job market over the next few years. While saturation might not result in too many poor-quality jobs, a drop in the skills level could have adverse effects on future developers.
00:30:59.110
We must acknowledge the responsibility laid upon experienced developers to cultivate a new generation of talent. This investment in mentorship and apprenticeships must extend beyond just immediate successes.
00:32:05.040
Advancing the skills of new developers needs to be at the forefront of our community’s focus if we want to foster long-term sustainability. If these expectations are met, we could see a flourishing market in upcoming years.
00:33:34.570
Let’s focus on the benefits of collaborative programming and how pairing can be a valuable tool across teams, providing opportunities for growth, mentorship, and shared experience.
00:34:20.280
Eventually, there will always be changes in programming languages and frameworks. The focus should be on ensuring versatility among developers, which will ultimately cushion us against market transitions.
00:35:41.470
In closing, while we may not always have a robust singular community like before, we must remain alert to emerging trends, engaging with diverse technologies to keep our skills fresh and remain agile in our careers.
00:36:50.420
Thank you to everyone for joining us in this panel discussion. Let’s continue to share insights and learn from one another as we navigate the future of Rails jobs together!