RailsConf 2014

Panel Discussion: The Future of Rails Jobs

Panel Discussion: The Future of Rails Jobs

by Obie Fernandez, Jess Casimir, Allan Grant, Chad Pytel, and Corey Haines

The video features a panel discussion titled "The Future of Rails Jobs" from RailsConf 2014, where five experts from the Rails community explore the evolving landscape of Rails employment and developer skills. The panelists include Obie Fernandez, Allan Grant, Jess Casimir, Chad Pytel, and Corey Haines. They engage in a lively dialogue focused on the importance of craftsmanship in programming, the demand for skilled Rails developers, and the challenges faced by newcomers in the field.

Key Points Discussed:
- Importance of Craftsmanship: Craftsmanship is essential, especially for beginners, as it forms the foundation for professional growth. Panelists emphasize learning effective practices and adapting over time.
- Hiring Landscape: There's a significant demand for Rails developers, yet many entry-level programmers lack fundamental programming skills. The panel notes that while many jobs exist, the skill level among candidates can vary greatly.
- Broader Skills Required: Modern Rails developers are expected to know additional languages and tools beyond Rails and Ruby, such as JavaScript and various frameworks, complicating the hiring process. This reflects an increasingly rich and complex ecosystem.
- Interview Process Insights: The panel suggests that a rigid interview process can deter talented candidates. They encourage innovative strategies to connect with potential hires, such as inviting candidates to pair program or work on projects to showcase their skills.
- Job Market Trends: The discussion includes concerns about a saturation of junior developers in the market and the potential decline in job quality as companies rush to hire. They highlight the importance of mentorship and training programs to ensure new developers can succeed.
- Freelancing vs. Employment: The panel also debates the pros and cons of freelancing vs. working in-house, suggesting that while freelancers can earn high hourly rates, many prefer the stability and support of full-time employment. Panelists advise against only relying on job advertisements, encouraging developers to build networks and showcase their work effectively.
- Future Outlook: The panelists express optimism for the future of Rails jobs, noting that as the community grows, there will continue to be significant opportunities for skilled developers, though they highlight the ongoing need for quality training and mentorship.

In conclusion, the panel highlights that while Rails continues to thrive with ample job opportunities, developers need to broaden their skill sets and engage in continuous learning to remain competitive in the evolving job market.

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!