RailsConf 2017: Cultivating a Culture of Continuous Learning by Dave Ott and Dennis Eusebio

– Hey, good morning everyone. My name’s Dave. This is Dennis. Before RailsConf, show of hands who knew what Tuft & Needle was. Anybody? Nice, okay. For those that don’t know, Tuft & Needle is a mattress company. We have a presence here in
Phoenix at RailsConf this year because our office is here and Tuft & Needle has some
interesting elements about it and one of it is our culture of learning and that’s kind of what we wanted to talk to you about today. So, what does it mean
to cultivate learning and why is it important? It’s sort of easy to say that growth and learning are important tenants, but what does that actually mean? How do you actually carry
that out in your business and how do you take that to your team as an investment in them
and their collective and individual brain
trusts, and why do it? When we were thinking about this and thinking about the kind of culture we wanted to create at our own business, three things sort of came to mind. It gives people purpose,
it allows them autonomy, and it provides them with growth, and all that kind of
leads back to happiness, and happiness is kind of hard to quantify but we sort of think of
it in ways like this. If you’re working on a
problem and you get stuck, that’s a bad feeling and
you want to feel like you have a place to go to get unstuck. We feel like underscoring
this culture of learning helps people to realize that
it’s okay to ask for help. As a software developer, as a designer, you can’t know everything and that’s okay. If you’re here, if you’re working with us, we already have confidence in you. We’ve already assessed
that you have the skills that you need to work
with us, so from there it’s really about
empowering you to know more and to share more with the
people that you work with. So, as I said, we’re Dave and Dennis. We’re from Tuft & Needle. A little bit about me. This is my newest daughter, Rory. She’s nine months. I have four kids, so pray for me. I’ve been actually working
with Rails for around 10 years. I found it sort of right at the beginning and my story with Rails
and as a programmer as I’ve thought about
it is kind of relevant, actually very relevant to this talk. I was on my own for a long time. I had done some work with the military and then I was kind of basically
doing freelance consulting and I wasn’t really working for a job, and I stumbled upon some guys at this company called Hashrocket at a coffee shop that
I would go to to work, and I think at the time, I
felt like I was doing okay but I didn’t really know
that I needed something more. I was a Python developer, I
was doing some Ruby stuff, things were fine and I
had this chance encounter and they invite me down to the office through a sort of other weird situation that involved guitar lessons
of all things, but anyway, and to be honest I don’t
think I was really qualified to work there at the time. You know, I had some rails experience and I knew Ruby and all that, but I think that Hashrocket
was sort of the first place where I encountered
this culture and it was, they took a chance on me. They saw something in me that they thought that they could cultivate and they took a chance on me and did that. So, 10 years later I’m still
working with Rails full-time, Tuft & Needle and leading
the team there now. – So like Dave said, my name is Dennis. I know that picture is incredibly Asian. (laughter) I have a relatively
similar experience as Dave. I actually met Dave as Hashrocket. As a designer it’s a little weird that I more relate to people
in the technology field and the traditional band posters and CDs and all that type of
design, but it’s always been an interesting culture
to kind of be a part of. I’ve been designing for
a little over 16 years. I kind of started off like a
lot of people, self-taught, and one of the reasons that
creating a culture of learning and trying to make that a
core part of our culture is important to me is that a lot of you, for a lot of us, the pathway
to where we are right now is not very straight or clear, right? There’s probably a lot of you that had a history degree or something or an English degree or
something completely off you taught yourself or you went to school for something completely different, but without those straight and clear paths it’s much more important to
have people along the way that will kind of either
guide you, give you a break and just kind of take you under the wing, whether it’s for one
project, for a day, or years. Those people are pretty
crucial and they’ve helped me get to the point where I am in my career, and so part of why I like doing
this is kind of giving back and giving other people
opportunities to grow and hopefully surpass and
go much farther than me. One of the ways that we kind
of handle growth at our company is we use two different methods which are mastery programs
and then apprenticeships, so I’ll let Dave talk a little bit about the apprenticeships. – Yeah, so apprenticeships,
I don’t think that word is hopefully something that’s new to a lot of people in our community. It’s something that we pull
obviously from other industries, but I think what’s
important for us is that it sort of starts with the language, so across the board, whether
you are a software developer or you work in our customer service area or at the retail store or
whatever, we use this language. So, it’s not you’re a junior developer, you’re a senior developer. We don’t put people in those buckets. It’s you’re apprentice,
you’re a journey man, you’re a master, that kind of stuff. Side note, and this is
a personal pet peeve, I don’t think you can
call yourself a master. I think that’s kind of something that somebody says about you, and I know for me it
speaks to the life lived instead of the life attained,
and that helps me think about continuous growth and learning
and how to prioritize myself instead of thinking about
how I get to the next level and how I get to the
next conversation bracket and that kind of stuff. It helps me focus on learning and growth and personal growth and
that affects my happiness, because if I’m not worried about
getting to that next ladder and that next step on the ladder, it’s just one less thing to worry about. So, finding talent is hard. I read a statistic recently that last year there were over 223,000
vacant jobs in our industry and there are not enough people coming out of computer science
programs to fill those spaces so hiring is always a problem. I mean, you see it here
at RailsConf every year. That’s why people are sponsoring and trying to get your attention and trying to get you
to come work with them, but I think there’s other ways and one of them is to be on the lookout for people that are right in front of you, people that are already
in your organization. They already have the
values that you have. Maybe they don’t have the exact skillset, but I think if you pay
attention and you listen, you’ll find people that you can cultivate and bring into other departments, bring into software
development, bring into design. So, like I said, this is something that I don’t know how widespread it is but it’s something we really care about. I think going back to previous
jobs that I’ve been in, I wish there were people that
were paying attention to that, like I’m just starting out. Maybe I’m just doing this thing over here and if there was somebody
there that could just see that it could be a spark for somebody. So, guidelines. How do we actually do it? How do we approach our
apprenticeship programs? So, this is something
that’s constantly changing and something we’re thinking about and working on every time and iterating on because that’s kind of what
we do as software developers, and it’s also what we do at
Tuft & Needle with our products. We meet quarterly usually and talk about their
strengths and weaknesses. We set milestones. We think that goals are really important, especially at the beginning to get people on the right track. We set the right expectation
from the beginning which I think you really need to consider because if you set
unrealistic expectations it can really throw the whole thing off. People could get nervous
and they want to quit. There’s all that stuff. And then, we actually
compensate people based on this, so when they meet their goals
and they meet their milestones we pay them more, and we
think that that makes sense because the more you learn,
the more value you can add and we want to recognize that. So, this is Tommy. We have a large customer
experience group at Tuft & Needle. We have something around 150 employees. We have about 10
developers, some designers, and then a lot of the
people are in this group, customer experience, and
that’s where Tommy was. Tommy has a cool background. He was a school teacher before
he came to Tuft & Needle, middle school, which I imagine
is crazy stressful and hard. – [Dennis] Yeah, he’s shaking
his head no right now. – And he was kind of
interested in technology and he just, after a couple
years of being a teacher he decided that it just wasn’t for him. He needed to do something else and he was kind of exploring
html and things like that, and then he got a job at Tuft & Needle in the customer experience department and he was hanging out in retail stores and helping customers and
helping people through email, the kind of stuff that they do, and he was working on this stuff, learning, Launch School
stuff, that kind of thing, on his own and he kind of just
started asking us questions and he came to RailsConf with us last year and at some point it was
like this is happening. We need to take this guy under our wing. We need to develop him, like he’s obviously got
the aptitude for it, super smart, already knows the business. Let’s make him part of
the development team. So, that’s what we did. We actually have one of the guys that writes a course for Launch School, the JavaScripts course,
his name is Shane Reilly and he works at Tuft & Needle and we are super lucky to have him. I think he’s like top-tier
front end developer, crazy good, but Tommy had access to Shane and we have his material to use, so I think that’s awesome for Tommy. I would say it’s awesome for
us, but I think those kinds of formal learning experiences are good and you should encourage your employees and your coworkers to
use them and pay for them and take care of that so
people can have that training. Like I said, this is
sort of a constant thing that we are trying to iterate on and we were making
mistakes and failures with. Some of the lessons
that we’re learning are it’s really important to get
people in apprenticeships on to real world projects
as soon as possible. We think it helps build confidence. It gives them ways to apply what they’re learning in real ways. You know, we’ve all taken those tutorials and you get to the end. It’s like you’ve made this thing, but how do you actually translate that into something real in the world? It stretches them and it creates structure and helps them transition. So yeah, Tommy is part
of the front end team and he’s like a full-fledged
member now and it’s awesome. He built a project, he
released it just last week, is that right? First big project, it’s
awesome, and he did a great job and I know he feels super accomplished. – Cool, so I’m gonna talk from
the design side of things. Rachel actually came from a
very similar experience, too. She was part of our
customer experience team. She actually didn’t have any
formal training in design. She knew of the programs
and could kind of do stuff but she didn’t go to
school for graphic design or anything kind of similar to that. I think it was design
history was her degree. One of the big things that
we kind of learn with her is that a lot of students
who are self taught tend to do tutorials or
do things where it’s like you use this one, you learn one technique, and that technique allows
you to do one thing, and then that’s all you
really kind of know. You don’t really understand
a lot of the fundamentals where it’s like typography
or grid or pacing or rhythm. All that stuff is kind of left alone and hopefully you get in on
your own or maybe you don’t. It’s kind of akin to, I don’t know if it’s a perfect metaphor, it’s like if someone just
knew how to use Rails alone but couldn’t write any
Ruby from scratch at all, so that’s basically the kind
of situation that she was in. She had a couple teachers
that were helping her out, but not on a consistent level and a lot of them were high level like hey, get this flyer done versus hey, I’m gonna help you
learn how to layout a grid and how that’s helpful
for future projects, and we didn’t get it,
just like with Tommy, I don’t think we really got
it perfect the first get go. I think we tried to kind of
load her with a bunch of work and tried to just kind of have
this pretty brutal routine where we set up a curriculum and every week she would
basically meet with me and go over stuff, but I
think it’s kind of the sign of a poor teacher if
you blame your student for them not really getting
to where they need to go, so kind of took a second
to reassess the situation, pare down the curriculum to a point where it was more
concentrating on fundamentals and the basics of visual design before, so she was trying to learn
front end coding and design and then stuff about web, and so it was just too
many things at once. So, I think one of the
biggest lessons learned is just kind of setting
realistic and clear goals so that you’re not just
throwing someone in water and hoping they kind of make it work, and then setting
expectations and timelines is also a big deal, too. Like for her, I think there
was a lot of looseness around you’re working on this
project, but never saying hey, you need to finish
this by two weeks from now. Whether it’s done or not, come to a point where you kind of get there,
because projects before that were given to her were
often just open timelines. They weren’t very important
so they would last for four to five months or something, and there would be no clear end point and the thing about design, and I’m sure it’s the same
thing with development is that you can pretty much
tinker on anything forever until someone gives you a stopping point, so it’s really important
to kind of get that idea to younger designers to make
sure that they understand that done is better than
perfect if you will, so the next slide kind of shows the progress that she kind of made. To designers, this was a big deal because typography is a very big tell of how mature you are as a designer, and from where she started to now, albeit these be very simple pieces, her ability to layout
stuff and do it on her own without much guidance
is dramatically improved and she’s become a very important
member of our design team to kind of help us
accomplish all the things that we need to do. So, like I said, there’s two parts to what we do at Tuft & Needle
for the culture of learning and the second part is mastery programs, so I’ll let Dave go from here. – So, back to happiness. Continuous growth, we think it’s key to increasing happiness
and it works for everybody. It works for the person that’s learning. It works for the person that’s teaching. You know, if you’ve ever
tried to teach anything you realize quickly that
you don’t know anything and it’s just a really great
way to sort of solidify your thoughts and
knowledge about a subject. So, we have this thing
called Mastery Programs at Tuft & Needle, and again
it’s across the board. It’s not just in software
development and design. We use it in every aspect of the business and basically, how it works is it’s a little different from team to team but there’s sort of some
guidelines across the board. Again, we meet with everybody ever quarter and we sort of try to figure out what their individual
learning path looks like, but we also try to do things as a group. So, we’ve tried a few different things but sort of what we’re doing right now is carving out a specific
day and time during the week that we can structure as learning time and I think this is really important. You have to be intentional about it. If it’s always ad hoc
and just kind of whenever and loosey goosey you’re
never gonna get to it, so we block out that part of
the calendar every single week and we use it to learn and to grow. Design team does it on Wednesdays. We do it Thursdays, usually around lunch, but we kind of talk every week about whether or not that’s still working. We’re open to change it if we need to. Mob programming. Anybody done this? Anybody? The mob mind. This is really fun for us. I mean, I love it personally. So, what we do is we’re
mostly a remote team so we get together on a hangout and we’ve done a couple of things. We mostly use them mostly,
so we try to get on Teammate or something like that,
pull up a terminal, and we work on a problem
together and we all participate. We try to make it kind
of interdisciplinary so that folks that are
writing JavaScript all day can spend time with folks
that are writing Ruby all day. We can work on problems together and it leads to some
really interesting things. I think when you’re working individually you don’t see all the
perspectives of the team and I think when you get
together and work on something it really enriches yourself
and it enriches the team because you’re passing little tidbits. I mean, even little things like what was that vim
command you just pressed? How did you do that? That can be a really valuable
time saver for somebody. Another thing we do is book club. I think this is something
that I’ve done at other jobs. I like it. I always want to read but
kind of never make time to do it at home ’cause I have four kids, but at work we set aside
time to get together and talk about a book that we choose. It helps us to sharpen
our technical skills. Sometimes we get kind of tired of that and we do a soft skill kind
of a book, break it up, but yeah, it’s fun. – So, some of these things,
the design team does stuff that’s kind of like a parallel to that. One of the things that
we do is do critiques, so that’s kind of borrowed a
little bit from design school where I don’t know how familiar some of your guys are from it. So, there is usually 20 students in class and you basically work all
night and day on a project for about two weeks
and then you present it in front of all these people and then they basically criticize
you for about 20 minutes. It’s about as painful and
terrifying as you imagine. A lot of people are assholes in college. But, we try to do something
similar without the other aspect of just people’s egos
kind of getting in the way and a lot of it is geared
towards some kind of comment or feedback that drives your
design one step further, so constructive comments, something like have you tried this, this isn’t as clear as I think you’re making out to be or are you achieving the
goal that you’re trying to do with this layout or this interaction? All those things hopefully give them ideas on where to go from there, ’cause the worst thing that can happen for a designer and for anybody really is to like I don’t know what to do next. I’m stuck. It feels like it’s wrong. I don’t know how to fix it. So, having an entire team
kind of share that experience, present their own work, help other people, not only makes our designs better, but also makes us better designers because we’re sharing knowledge, so like the technique that I
suggested someone go check out to help with this particular site might help someone on
another site in the future, so all those things are
really, really important for shared learning because
the group needs to get better as a group or you’re just
gonna have a lot of issues where only one person can do the task versus everybody can kind of jump in and chip in wherever is needed. One other program that is
kind of related to this, some of the things we spoke to before is the quarterly skill plans. We actually treat these like
first class citizen’s projects. So, there is a very
easy tendency to be like all right, someone write in a notebook, and then good luck, we’ll
talk a little bit later, but what we try and do is
basically track these things and we use a program called Asana. Some people love it, some people hate it, but we basically put milestones. We say deadlines of when
you’re gonna basically accomplish these specific goals, and then the biggest thing
is setting realistic goals. So, an example of a bad goal would be I want to get better at JavaScript. Cool, everybody does. That’s great, but saying I want to write an API
in note or something, so that’s much more tangible
and it’s much more attainable and it’s much more realistic to say that versus I’m gonna master an
entire aspect of something. So, treating those and
having ’em show up alongside get this project out with I
need to learn this this week has been really important to make sure that it’s baked in to
everybody’s every day life, and it’s made a huge
difference I think for me compared to other environments where we tried to do the same thing but didn’t have that level
of checks and balances, if you will. So again, one thing we want to talk about and look at another
way to really make this much more ingrained in the culture and not like it’s just one
group that’s doing it is all of our skills are tied
to compensation structure, so if you put together a
skill plan in a quarter and then you reach that plan, we basically will give you a raise based on how many of those
things you’ve accomplished. Sorry, did you have a question? – [Woman] Yeah, (mumbles) – Yeah, so I’ll use one
of mine for an example. Well, actually no. Let me use another one. One was a designer who was like I really want to get better at writing ’cause I don’t know how
many designers you know but writing is design is user interface. That is a very core skill that you need, so they set out a project
where I’m gonna write. I’m gonna write specific
ads or copy for a page and then I’m gonna do
these specific project where I help generate the layout, like the labels and elements
and stuff like that, so we would go through and then say it and then they would
basically put a deadline like this project will be
completed by the first month, maybe two weeks after
that and then whatever, and then by a time I meet with them again, I’ll be like all right, how did it go? How much of this stuff worked? And then, we’d be like, all
right, since you did this, you accomplished your goal. You’ll get a two percent
raise this quarter, and the good news about the way that we do the structure
of the raises is that we don’t wait ’til the end of
the year to give you a raise because you’re already contributing more because you’ve learned that skill. (mumbles from the audience) Yes. Yes. (mumbles from the audience) It’s more of a to-do list, not
necessarily how many hours. We’re not doing it to that level, but just kind of judging the success of the project and what they learned. (mumbles from the audience) Yeah, for that skill or for that person. (mumbles from the audience) Well, that’s an interesting point, too. At first, we did things
where people were like I’m gonna learn four skills this quarter and it just was not tenable. We really focused it down to you need to concentrate on one thing. (mumbles from the audience) Both. Most of the time people
would only hit one or two, and then management-wise it’s hard. Our team has started to grow and you’re trying to
manage that many aspects of people’s growth it’s kind of tough. – [Man] What percentage of the endeavor was in sync with other (mumbles)? Was it generally fully
consistent with other things they needed to (mumbles) for their job or was it established as extracurricular special development? – I mean, there has to be
somewhat of a business case. It can’t be like I really
like bedazzling stuff. That’s not very useful
to the business probably, but so for instance, a
more practical one like I was into learning more about VR stuff and I want to do more stuff,
but we couldn’t really justify that hey, let me go buy this $2,000 rig and get better at this to the company because of what our goals are, but I focused on in my personal case was learning more JavaScript, which is much more
(mumbles) but copywriting is a little bit more
tangential to design, too, and some of the guys have
gotten better at woodworking which is good for some of
our product design members and other stuff, so there is
a certain level of judgment of it’s not just whatever you want to learn but it is kind of
targeted towards your job. – [Man] Was the deliverable
serving the business? – Oh, not necessarily. We don’t think it has to be. The deliverable could
be a made up project. – [Man] And you prefer that (mumbles)? – I think it depends. I think it depends on the goal. I think also, we’re talking a
lot about software and design but the other parts of
our business do this, so a real world example
from one of those is if you work in customer experience and you want to understand more about the operation side of the business, so we have different shipping situations, Darkstore, FedEx, all this other stuff, that leader might set
a goal for that person to learn about those things
and then deliver some write up about what they learned,
that kind of thing. – So, for instance, some of
our customer experience people would learn how to use SQL
or write SQL to write queries to use to track things so they could build their own dashboards to
kind of monitor some aspects of their particular daily
life, so it definitely, to your point, it doesn’t
always be that direct and it’s a real life project
that the business needs, but sometimes imaginary,
not imaginary ones, but ones that are just
a little bit more fun stretch the person a little bit more, so it’s kind of a value
call on both the person and one of us to kind of say hey, which one do you think
is gonna grow you more or basically get your
farther along that path? – Yeah, that’s a good transition. That’s it. That’s the whole thing. We think it’s an important investment. We think it’s great for the business. It’s great for the people and that’s it. – Yeah, and I think the last bit is one of our founders is a developer and that’s where a lot of
this stuff kind of comes from, like it was imbued in the
culture from the beginning and it was very important for him to try and create and environment where oftentimes a lot of
us shift from job to job. We go every year it’s
a new job or something. That’s the only way you can kind of grow and we’re kind of used to
it, but I think his vision and a lot of us and why we’re
attracted to this company is that if you can provide an environment where people are constantly growing and obviously hit all the other marks of their needs, whether it’s
compensation, other stuff, hopefully they stay there for a long time, 10 years, 15 years. The idea is you would
be here for a lifetime, that we would be able to provide
you with the opportunities and maybe that’s slightly
naive or slightly optimistic, but we would prefer to move with that intention and that vision versus the pessimistic version where we just basically don’t
invest in our people at all to basically we figure
they’re gonna leave whenever and just kind of make it sort of a, not just a bad place to work. – Yeah, I mean, if you think about it, job hopping is one of the symptoms of it, one of the reasons why you do
it is because you’re bored. If we can create a environment where people don’t really get bored, they always feel challenged,
then we have a better chance of them wanting to stick around. I know that’s true for me. – Sorry, and we can open
up to questions, too. Thank you, everybody. (applause)

Leave a Reply

Your email address will not be published. Required fields are marked *