00:00:23.320
I thought it was going to be terrible being on the stage, but it's actually almost nice that I can't see you all because I'm super nervous. It's my first time talking outside of Illinois, so thank you for keeping the lights up as high as humanly possible. It's actually kind of neat to go directly after someone who works with a boot camp, as I'm almost sitting on the opposite side of that equation.
00:00:40.840
I work with a consumer finance company that's a billion-dollar entity. We've IPOed, and we've got over 100 engineers. What I'm working with is not specifically folks who are brand new to the field. Instead, I focus on helping people grow over the course of their careers with us, which we hope will last two, three, or even four years. They need to keep getting better at what they do.
00:01:12.200
Listening to the last talk was really interesting, especially the emphasis on learning algorithms early on. Ideally, this happens in computer science school or wherever you come into the field. My job is to ensure that our engineers become better craftsmen year after year.
00:01:24.640
As a consumer finance company, I place less importance on the industry itself and more on the fact that people in many industries face similar challenges. We are a fast-paced organization, and "fast-paced" often means going at a breakneck speed. We have to ship our products, and there’s really no compromising on that. Thus, we must find ways to improve without sacrificing our operation.
00:01:42.520
For context, we started with Rails C- base at version 0.7 and have moved up to 1.2. As a startup, we wrote a lot of terrible code and achieved significant financial success with it. Consequently, we couldn't simply eliminate that older code. So now, we find ourselves locked into Rails 1.2, struggling with the legacy code amidst our financial success.
00:02:01.119
What did we do? Like many people would, we attempted to rewrite our codebase from scratch, which is not the most intelligent course of action. Now, we have two large codebases: one on modern Rails and one stuck in a time warp, so to speak. To navigate these challenges, we've hired many entry-level developers.
00:02:26.680
I'll give you a little historical background on where I'm coming from. I took this position at Inova about a year ago. In that time, our engineering department has grown from 80 to about 120 people—hiring about 50 new engineers in a short time frame. Normally, hiring that many people quickly would be considered a bad idea.
00:02:39.360
Nevertheless, as we were in a state of IPO, we felt the pressing need to expand. Drawing on my experience of over a dozen years working across public and private sectors, I've realized that we should teach new employees about our technology stack and culture. I stepped into a role focused on internal learning.
00:03:00.760
I don't expect you to replicate exactly what we did, but understanding our journey and its influence on our company culture can offer valuable insights. This process revealed that, initially, only a few people are willing to step outside their designated roles to advocate for learning, making it essential for any engaged individual to take responsibility.
00:03:23.600
So, how many people here work at organizations that claim they ship on day one? This notion is prevalent, and many job postings tout it, yet the reality often isn’t as promised. Those who lack a formal training program usually let new hires learn while on the job.
00:03:45.120
When new employees begin, they're handed a laptop and thrown into the fire, typically starting by debugging existing code. While it can be appealing because no time is perceived as wasted, it's problematic because it often leads to mimicking bad patterns from legacy projects. This approach doesn’t provide a comprehensive understanding, leaving significant gaps in knowledge.
00:04:09.360
What I found is that when learning takes place ad hoc, critical concepts, like avoiding the "N+1 query problem," often go unnoticed. This is vital to argue for the necessity of formal learning structures. If we can put new people in teams to learn everything on their own, then my job becomes redundant.
00:04:36.560
The first reason formal learning is essential is to attract amazing engineers. Throughout my experience building a learning culture, I've found that the people I want to work with daily excel at their jobs because they value learning.
00:04:54.440
It's essential to foster an environment where learning is part of the job. There’s a greater culture shift here—I want to hire those great people, so I need to offer a better learning program than the competition.
00:05:18.680
Additionally, providing opportunities for continuous learning helps reduce attrition, particularly among senior employees. It's common for employees to reach a learning plateau after a few years. As they settle into routines, we must promote mentorship and ongoing growth beyond the basics learned on day one.
00:05:42.320
Increasing the bus factor—the number of people critical to the functioning of a team—Is also vital. If only a handful of team members have specialized knowledge, it can quickly become problematic when they leave or are unavailable at the same time.
00:06:00.640
By creating a robust learning culture where knowledge is shared across all personnel, we can prevent potential crises and promote a collaborative atmosphere. It also offers valuable opportunities for people to bring in fresh ideas. The learnings from today need to inform our practices for tomorrow.
00:06:16.960
Unfortunately, reducing wasted effort often appears self-evident, but it's critical to present this as a business case to foster executive buy-in.
00:06:35.760
Reflecting on methods that haven’t worked, I’ve often encountered attempts to shift responsibility for learning onto others. It’s essential to make a sustained priority around learning and not to falsely think that you can excuse poor performance by blaming leadership.
00:07:06.080
Attempting to pause deadlines for training is generally unfeasible; in aggressive shipping cycles, there’s never a 'right time' to learn. This leads into my proposal of how to build a culture in three phases.
00:07:30.560
Let’s begin with Phase One: Building Credibility. In many established companies, employees may be resistant to learning, particularly if they had to jump in without any support. Typically, training is minimal, often limited to unclear documentation, with few individuals passionate about promoting collaboration and mentorship.
00:07:53.680
If you truly care about fostering a learning environment, take responsibility to act. Look for easy wins—small victories that can demonstrate success quickly.
00:08:18.600
Encourage early adopters to share their learning. Early efforts may look as simple as an individual teaching a programming library to their peers, showing immediate improvements.
00:08:42.160
We held internal meetups, adopted an open-book policy for technical literature, and leveraged junior developers as buddies for new hires. These are low-cost investments that facilitate onboarding without demanding commitment from everyone.
00:09:10.320
As mentioned, if we can identify champions of growth, we can align our efforts more efficiently. Additionally, keep in mind that inertia can be harmful to progress.
00:09:27.440
As we transition into Phase Two, we begin to see a shift in confidence as new hires become integral to our training efforts.
00:09:51.760
At this stage, individuals often feel empowered and can take control of their learning experience with increased peer support, leading to group learning opportunities.
00:10:11.680
During this stage, we focused on documentation, creating a more formal onboarding strategy, while still fostering informal group interactions among those looking to learn together.
00:10:29.760
We encouraged people to have team discussions and share organized learning efforts within their units, which comparatively few teams were doing at this point.
00:10:47.440
As we create spaces for learning, we encourage fruitful dialogues about successful implementation, techniques, and technology to elevate the competence of our engineers throughout the organization.
00:11:05.520
This leads us to Phase Three, where learning is now embedded into the organizational culture. At this stage, everyone recognizes learning as a mandatory part of their responsibilities.
00:11:22.760
Momentum is crucial—once internalized, ongoing learning is natural and expected, leading to sophisticated practices and innovative methodologies.
00:11:39.440
Over time, we must implement dedicated training programs for existing employees, not just new hires. We won’t just stop learning when we bring new talent on board—it’s an ongoing requirement.
00:11:54.720
The chaos of knowledge can enable creativity; it’s important to strike a balance between allowing experimentation and offering structured guidance.
00:12:12.080
As the organization matures, you don’t want to lose already acquired knowledge or the processes that made learning a continual, integrated experience.
00:12:30.720
I want to wrap up today by stressing the importance of creating a learning culture. Each individual should feel empowered to take ownership of their own growth.
00:12:51.040
Whether it’s improving internal documentation or encouraging informal study groups, everyone can make a profound impact with their small contributions.
00:13:01.440
In conclusion, my parting request to you is to take action. Don't wait for someone else to lead the charge. Initiate that book club, start lunch discussions; just begin!
00:13:16.240
Thank you very much!