Building a World Class (Clojure) Team - Rebecca Kinsella
From OO to Clojure Workshop!
Watch my free workshop to help you learn Clojure faster and shift your paradigm to functional.
Rebecca Kinsella is a technical recruiter at Funding Circle which is proving to be a powerful force in the Clojure world. Rebecca hosts the Bay Area Clojure User Group and is a regular presence at the US Clojure conferences. I first met her in 2016 and was instantly impressed with her action-oriented approach to engaging the Clojure community. I was very happy when she accepted an invitation to speak at Clojure SYNC.
I asked Rebecca to talk about the topic of hiring and getting hired. Funding Circle has built a great team and so they must have a lot of knowledge to share. How do you find good Clojure programmers? What do you look for? What should candidates be prepared for when starting their job search? Hiring is a persistent, perceived barrier to Clojure adoption. This talk should help crack that nut.
Please forgive the poor audio quality. We had technical trouble with the audio recording and used the backup audio. Please use the captions (CC) in the video player.
[00:44] Let me see a show of hands. Who is working in Clojure -- professionally, paid for it? Who is hiring in Clojure at your company?
Eric: [00:59] That's cool. You should find each other.
Audience Member: [01:01] Not to mention the people that aren't working in Clojure, but...
Eric: [01:07] Oh, yes.
Rebecca Kinsella: [01:08] You're stealing all my talk!
Eric: [01:09] That's it, I'm going to let her go. I am very happy to have Rebecca Kinsella speak about this. She is at Funding Circle. Funding Circle is hiring, no?
Rebecca: [01:25] Yes, we're hiring.
Eric: [01:27] Thank you. Give her a round of applause.
Rebecca: [01:35] Thanks, Eric. This is my first talk at a conference, so it's great to see a lot of familiar faces in the crowd. As Eric mentioned, my name's Rebecca Kinsella. I have been working at Funding Circle for the last two and a half years as a technical recruiter based in the US. But I've hired engineers globally across Berlin, London, the whole thing.
[01:51] For those of you who don't know what Funding Circle does, we are a financial technology company that lends money to small businesses globally. Created an online marketplace lending platform that connects borrowers and investors and we use Clojure and Kafka Streams to build out across a global platform.
[02:08] Today I'm going to practically talk to you about hiring, but you can really use the fundamentals of this for hiring any kind of engineers. It doesn't have to be Clojure, but I will touch on what I've done with hiring in Clojure over the last couple of years.
[02:20] A little overview about what we're going to talk today. We're going to need to talk about a little bit of context in terms of hiring at FC. I've been hiring mostly in Clojure only at Funding Circle, so it's going to be mostly a run-through of what we've done in the last couple of years hiring there.
[02:34] Then we'll go into some information in terms of obstacles. There's quite a few of them.
[02:39] Throughout this talk, there's plenty of things you can to [inaudible] hiring, there's plenty of obstacles, but I'm just going to touch on a few, because...Really, we'll just touch on a few because I can write a novel about this.
[02:47] Then, of course, how to overcome those obstacles, which is the most important thing, through branding efforts or being flexible in the workplace. Then finally we'll talk about building a community within your company that will lead to higher retention, because that's a big part as well.
[03:02] A little bit of background. I've seen a lot of growth in our interviewing team in the business as a whole over the last couple of years and it's become a good picture of how to build out your team. We focus on experience, obviously at Funding Circle but we can take it from there.
[03:20] Context. When I joined Funding Circle in the fall of 2015, we had 250-plus employees in two offices, so London and San Francisco. We had a lot of contractors and things at the time as well, but mostly all of our full-time employees were 250-plus.
[03:39] We operated in the US and UK markets and we had only four Clojure engineers and that included our chief architect. They weren't going on any specific projects, it was basically just four engineers with a pipe dream basically at the time, a twinkle in an architect's eye.
[03:55] Fast forward to today and we have 750 employees globally in six offices -- San Francisco, Portland, Berlin, Amsterdam, Bulgaria, London, as well as remote, too. We're operating across the UK, the US, Germany and the Netherlands. We now have 64 engineers at Funding Circle working with Clojure and they're working across three different domains.
[04:24] That includes the market-based team, which I was talking about the platform, then with the data team as well as the architecture team. We didn't get from 4 to 64 in two-and-a-bit years without some hard work and strategic planning.
[04:41] Next we can talk about, I'm just going to touch on a few obstacles. There's plenty. Those can include salary, it includes bandwidth, maybe it's your boss, trying to convince your boss.
[04:51] Maybe you're a small team and you're trying to be that programmer/recruiter. I'm sure everyone loves that job. Then you're figuring out the best location for your team.
[05:01] I think Eric already did this, but how many people right now are looking to hire Clojure engineers? OK, cool. Take a look around, each of you, [laughs] because this is how you're going to help build out your team anyway.
[05:15] How many are looking for jobs? Hands up. Yeah? OK, cool that's quite a few. You can also come talk to me afterwards if you like.
Rebecca: [05:28] I'm going to talk about the obstacles, though.
[05:33] This quote I put in as anonymous. I know who this person is, but I didn't ask him if I could use this quote, so I just put anonymous down.
[05:41] One of the leaders at Funding Circle says this to me over and over again, that hiring software engineers is the number one thing that keeps him up at night, keeps him awake at night.
[05:51] Now I don't know if all of you feel that way, like if you are losing sleep over hiring program engineers, but one thing is for certain is that it is really difficult to hire. At this point in time, at Funding Circle, and this is pretty average across the Bay Area, it takes on average 60 to 90 days to hire one software engineer.
[06:09] It's not uncommon for a company of like our size to be looking to hire 100-plus engineers a year or more. When you think about the size or scale of a place like Google or Facebook, I mean, those guys are hiring thousands of people a year. It's not an easy task. They also have a team of like hundreds of thousands of recruiters, too, so they have a little bit of a head up on that. Context on that.
[06:29] When I joined I was pretty much the only recruiter. At the beginning of last year, I was still pretty much the only tech recruiter hiring. We built up our team to six, but that's still a very small recruiting team. Some of the difficulties that I found are regarding around salary and how quickly that changes, and the competition around it.
[06:48] This map was created by Hire.com. Hire.com is a platform for basically hiring and looking for jobs. On average the salaries in the US, [inaudible] the average salaries in the US based on the beginning of 2017, so this has gone up a lot since then.
[07:04] The Bay Area has the highest salaries and the lowest unemployment rate anywhere. Less than a zero percent unemployment rate. That means that some engineers have multiple jobs. Less than zero percent unemployment rate in the Bay Area. That's a lot of competition when you consider that most people are not looking.
[07:20] How many of you get messages from recruiters on a daily or weekly basis from like LinkedIn? How many of you like it? Yeah, I didn't think so. Think about it from our perspective of trying to recruit that you really have to be a pretty creative when you're getting to that point.
[07:37] One of the things that I find really interesting is at the beginning of 2017 boot camps like App Academy and Dev Bootcamp were offering a guarantee. They were basically guaranteeing a salary of 100K to anyone who graduated from their program in their first job. That's a lot of money for someone who's never worked in an engineering job before.
[07:56] By the end of 2017 that number had risen to 120. A 20 percent growth in one year for engineers that are coming out from a boot camp. How crazy is that? That's a huge jump. Needless to say, the competition is really fierce.
[08:12] Other areas in the US are quickly catching up in terms of salary. High cost of living is also raising in those other areas.
[08:20] If you think about like Pandora just recently moved from Oakland to Atlanta because of the cost of living to like rent and everything in Oakland. It's not going to last long in Atlanta now because now with Pandora there this is going to raise salaries and everything else, too.
[08:37] Places like London, Paris, and Berlin have far lower salaries at the moment than the US. This is [inaudible] to hire at the moment, but these areas don't actually have low cost of living. These actually are places that are really, really expensive to live. The salaries in London and Paris have grown significantly.
[08:59] I was over in London for a few months this last year and I watched salaries raise about 20 percent as well. You have in places like the Base who are trying to up and up the salaries in order to retain the engineers at their companies so that they don't leave to go to startups like Funding Circle or smaller [inaudible] . You constantly have to keep up with that.
[09:18] One nice thing about Europe in terms of Clojure is there's a lot of talent there. You have the opportunity to tap into that talent pool there if you have it.
[09:25] Out of curiosity, how many people have operations in their companies like in Europe? A few. OK, well, look for Clojure engineers there because there's a lot of them. There was more attendees at the Euro Clojure event that I went to than there was at Clojure/conj. There was a huge talent pool there. If you have the opportunity to do that, I would say do so.
[09:46] Let's stop talking about the obstacles because everyone wants to know [inaudible] how do you overcome them? I'm going to talk about my experience in terms of building a brand at Funding Circle. I think the biggest thing for me I feel that the most effective way that you can hire Clojure engineers is to build a brand around it.
[10:05] It's actually like, Clojure is still relatively...I know David Nolan was saying the other night, Clojure is old now. It's 10 years old.
[10:13] I'm like, "Well, it's not as [inaudible] as Java. The Java community is really, really large, so trying to build yourself a Java brand is going to be difficult, but in Clojure it's much easier, at least at this point.
[10:26] There are several ways you can build your brand within the Clojure community. One thing that I find super successful is posting to like the Clojurian Slack group, which now has about 12,000 members in it, a little bit more than that. Don't be afraid to actually reach out to other Internet groups.
[10:42] I know someone down here was saying this as well, it's like, "People might be looking for jobs that don't cover Clojure right now, but you can teach them how to do so," so post on Erland, post on Haskell, or what have you.
[10:53] In terms of other things you can do as well is the Meetups. I'll go into that in a little bit more detail in the next couple of slides. Meetups and conferences are big ways of tapping into that community.
[11:05] Follow other Clojure programmers and other members of the Clojure community on Twitter. Post and repost.
[11:14] There are a lot of people looking for jobs. We hired several people through Twitter postings and things like that as well.
[11:19] Don't be shy about spreading the word about your project or how awesome your company is. Don't be shy about it, just go out there and just do it.
[11:28] If you host talks or if you attend talks or anything, post them on YouTube. People will follow you. That's another way to open up that market right there.
[11:37] Something that we at Funding Circle hadn't been doing really well was posting videos, but we're now starting to do that with the Meetups that we host as well, which is a great way to do that. Also, it's a great way to knowledge share.
[11:48] Also publish open-source projects and things like that to blogs. We have our own internal blog.
[11:55] If you don't have one at your company, you can start one. It doesn't have to be your blog. You can post on anything else. You can post on ClojureDocs, or just be part of the community there.
[12:05] There's many ways of having vehicles of writing. These are just a few of them. You can tap into a lot more.
[12:11] The big thing that I'll touch on a lot here is consistency. If you just post one meetup or one blog, it's probably not going to do much. People might show up, maybe they won't but it's not really going to build much of anything. You want to have to keep doing that over and over again for it to see that effect.
[12:33] We had, I think one of the most successful branding initiatives we've done at Funding Circle has probably actually been the Clojure Meetups. We started hosting back in January of 2016, reaching out to actually Zach Tellman who'd been really [inaudible] , and started hosting our own at Funding Circle.
[12:56] Our first meetup, we had 20 RSVPs and five people showed up. Not great, not bad, five is still five people.
[13:07] We hosted every two months that year and continue, we still do. Continued to provide a meeting space, continued to provide speakers on different topics and everything.
[13:18] By the same time the next year, we had 150 RSVPs and 80 attendees showed up. That's huge.
[13:26] That's really big, from 5 people to 80 people the next year. That's a massive amount. You could say, "It might be because the pizza was fancier," I don't know if the word got out.
[13:39] I like to think it was because members of the community spread the word, they knew it could happen again, consistency. Every two months they knew it was going to be there. It wasn't like it just happened once and maybe six months later we decided to have another one and we didn't have a budget for this or that.
[13:52] You can figure out. If you don't have money you don't have pizza and you just offer a space. Make it a potluck. Who cares?
[13:58] At least bring people, make sure you can keep doing it over and over again. Encourage the others in your community as well to attend Meetups.
[14:09] You don't have to also host. Go to other Meetups. Go to other Clojure Meetups.
[14:12] Go again and again and again and people will remember, "Oh, that guy, that person works at Room Ke," for example. Like, "I can always rely upon them."
[14:20] The next one is about conferences. It could be a COMMON tech conference, it could be this conference, thank you Eric, or you can host your own.
[14:30] I don't know if I'm stealing Eric's thunder now, I'm telling you to host your own conference, b do it. Come up with creative ways, bring people to you, attract people towards yourself.
[14:41] Last year Funding Circle attended all three Clojure conferences, or COMMON tech conferences, sorry. We went to Clojure/west, we went to EuroClojure, and went to Clojure/conj, we were able to hire for our team globally.
[14:53] The main thing to remember is why to bring up consistency is you may not hire someone at one conference, but you keep going again and again. Not everyone's looking for a job right this second.
[15:04] You can't expect that you're going to go to a conference and every single 400 people that are attending are all looking for jobs. I would love that.
Rebecca: [15:09] That would be amazing. Yes, come, all of you, you can all join. [laughs] That's not going to be the case, but that person that might not be looking for a job then, might be looking for a job very soon after. If you build your brand big enough, people will just come to you. It's almost like magic.
[15:28] Then, also this picture. This is of Amica. Amica is our technical sourcer at Funding Circle.
[15:34] This is at Clojure/conj Baltimore. She worked all the swag. She brought our own stuff up.
[15:41] The big one was the fidget spinner. Everyone loved that. She did it all with a dislocated elbow. I'm pretty sure that's why we were [inaudible] .
Rebecca: [15:49] The next one is extending your reach. In addition to honing your brand, another way for you to increase your ability to attract a larger talent pool is to be able to hire quickly and be flexible with the different types of employment and work arrangements you offer.
[16:07] Flexible work and its location is key. People want to be able to work in different preferences. Like, if they have families, maybe they just want to live in a city, maybe they want to live rurally, whatever that may be. The more flexible you can be in terms of your employees' work arrangements, the easier it will be for you to hire.
[16:27] The ability to work from home when necessary or having flexible working hours is a big thing for Funding Circle. Hiring contractors for short or long-term projects is also great. It gives you that extra bandwidth and there's a lot of people that want to have the freedom of a contract role.
[16:43] Then you have several engineers, actually, at Funding Circle wanted to move out of San Francisco because obviously, a lot of people are moving out of San Francisco. Actually, out of curiosity, who here doesn't want to live in San Francisco? Yeah.
Rebecca: [16:55] Yeah, it's like we are, to be honest. A lot of them wanted to move out, there's a few of them, actually, and move to Portland. What did we do? We opened a satellite Portland office and now we hire there too. Having that kind of flexibility and being able to be like, "Yeah, sure, you can do that."
[17:12] Be able to have Ryan Neufeld who's also contracting for us on a rolling basis and he's based in Canada. Awesome. We have Augie over here, who joined our team a few months back and he's based in New York. You know what's awesome is that now he can work with our Berlin, our London and our San Francisco offices, and he's on the architecture team. How great is that?
[17:30] Having that flexibility is super important and having the remote aspect is great as well. Also think about the fact that it's really costly for us to put people up in offices, especially in San Francisco, it costs a lot for a business too, it's not just about people not wanting to live there.
[17:47] It's expensive, it's really expensive, so if you have the opportunity to either hire people remotely or hire people on contract, or so on and so forth, you should do it. You should do it. It makes it a lot easier.
[17:58] It's less money for the business, but of course, you also have to have it work for your project and your team. You don't want to sacrifice that either. I'll talk more about remote opportunities. These are all remote opportunities. [laughs]
[18:14] This was just like my first search on Clojure jobs when I went into Google and they were basically all remote. For us it's been hard, because we started off, as I mentioned, we have four engineers, no particular project and we're based across London, and San Francisco and then Berlin.
[18:32] It's really hard for us because we're like, "OK, we have a project that basically changes every couple of days. How will we give someone remote work and then be like, 'Never mind, don't work on that anymore,' every 48 hours?"
Rebecca: [18:44] We're like, "Why would we hire remote?" We said, "Do you want to work on something where you don't know what it's going to be the next day?" Maybe yeah, but for us it was really hard on the communication side of things. In terms of really having a project in its infancy we have found it's super difficult.
[19:03] But at the same, time we have been trying to build out our team slowly and it's been working out really well. We focus on hiring remote who have worked remote before and they'll understand that that comes with it. I think the big thing too is having a really solid communication and written documentation when you're hiring remote.
[19:22] You can't just have this word-of-mouth all the time back and forth communication and then people feel like, "Oh, I'm remote, but all the decisions are made in the San Francisco office. I'm not really like actually part of the team, I'm on the side." You have to actually really do it well.
[19:36] But if you can do it, do so, especially if you have a startup company and you can start it remote, it's a great way to be able to hire a lot more talent. Who here is looking for remote engineers? Cool.
[19:50] Who here wants to work remotely? Yeah. All right. Sweet. There you go. Again, look around when your hands are raised, because I'm trying to help you hire right now.
Rebecca: [20:00] This is it. This is the whole talk, just you raising your hands [inaudible] .
Rebecca: [20:06] Cool. It's one thing to hire, it's another thing to be able to keep someone. Who here would rather not be able to hire one person rather than be able to keep someone who has a lot of institutional knowledge? Everyone should raise their hand, because institutional knowledge is like key.
[20:26] It's not that difficult to hire, but it is really to replace someone who knows something that you can never replace, those two years of knowledge. The next topic we're going to talk about is how you can cultivate a community, where you can retain your team, too.
[20:41] Solve interesting problems. Let's face it, most people don't want to work on a boring and simple task. If you do, I'm really sorry. Having interesting and challenging problems not only help you to recruit, but they also tend to keep your team happy.
[20:54] At Funding Circle we're building a marketplace, [inaudible] , I'm repeating myself here, but it's essentially all financial systems that you would need to transfer money between a small business and an investor. I'm talking about large investors, like the UK government investors.
[21:08] You don't want to mess with their money. We do this on a global scale, so that includes accounting systems. That includes loan servicing engines, UI operations for finance, the whole thing.
[21:18] We're doing it with Clojure and Kafka Streams. It's not easy, because it's never really been done before. It's all new unchartered territory, it's finance, it's difficult.
[21:29] Some people on our team have had the opportunity to work on this problem for like the last two-plus years and see it again, from its infancy, all the way to today where we're actually being able to do something with that, which is pretty incredible.
[21:39] Now, hopefully you have exciting problems to work on with Clojure already, and interesting. But interesting problems aren't going to keep your team happy by itself, there's more to it. Have a culture of learning and development. Super important.
[21:56] Again, we're going to be talking about Funding Circle, this is where all my experience lies so at Funding Circle we build out what we call FC Academy.
[22:28] It doesn't have to be this exact model. You can create your own. There are many ways to cultivate that space. We also do host papers, Papers We Love. We have that during lunch. Again, we have that quite frequently. That's another way for people to get together and feel like they're a part of something bigger than themselves.
[22:45] Again, it's about consistency. If we just did this once, and then never did it again, people would be like, "What happened to it? Like, you cared for like a second and then you don't care anymore." You have to do it again, and again, and again, for it really to have an impact.
[23:01] Then next one is "Hiring for Diversity." I don't feel like I have to say this too much, or add to this too much within the Clojure community, which I'm like super thankful for, but diversity is really one of the most effective ways of having a happy team. Again, an example, at Funding Circle we do a culture survey every quarter, so every three months we do a culture survey amongst all the teams.
[23:24] What we found was that again and again, the teams that have diversity within like age, color, sexual orientation, ethnicity, across the gamut always have the highest culture survey scores of the company. There's a key tie there to that. Diverse teams are also more efficient when it comes to delivery, when it comes to building products.
[23:43] IF you have a diverse team, you're probably able to serve a diverse customer base as well. That means ultimately your business is more successful too. Offer or host or be a trainer at ClojureBridge. It's a great way of being part of that community.
[23:59] Even if you don't hire someone in that space right then, what you're saying is basically you're publicizing your commitment to diversity basically out in the Clojure community right then and there. People will notice that. Again, consistency.
[24:14] If you're starting your own company or if your company is small, hire for diversity now. It's much harder to hire for diversity when you have a larger homogenous employee base. It's just going to be way more difficult. When you have the opportunity to do so when your company is small, do it then.
[24:34] The next thing is really, "Staying true to your Mission, Vision and Values." People want to have a sense of a shared goal, direction. Make them clearly defined so you know what it is. When they are clearly defined they become your golden compass.
[24:47] It's like, "Do more in this direction." What you're trying to accomplish, how you see that becoming a reality and what does your community bring in that gives you that shared direction.
[24:58] One thing I believe Funding Circle does really well is having that kind of mission of building a better financial world. What is our vision? Our vision is a hundred billion dollars lent per year in the process creating three million jobs per year for the expansion of small businesses.
[25:15] Do context. We want to lend a hundred billion a year. Right now we've lent since we started operation in 2010, we've lent five billio globally, in total. Most of that's been in the last couple of years, but that's a big goal.
[25:27] We want to do that by 2025, so that's ambitious. [laughs] Then, how we get there is by living our values, so core values like thinking smart, being open, and making it happen and so on.
[25:36] But really, it doesn't have to be like that in terms of the specifics, but it's more about making sure that you have something that people can latch onto when they want to see something bigger than themselves and nurture that in your community.
[25:48] The last thing really just is about keeping it up. Again, I keep talking about consistency. We talked about the obstacles, we talked about building a brand in the Clojure community, how to extend that brand in various talent pools and how to create a community in your Clojure team where your developers want to stay.
[26:06] What you're going to do is you want to make sure you keep it up, because ultimately it's a cycle. It's always a cycle. In the recruiting world we call this "full cycle recruiting." You can call it whatever you'd like.
[26:20] But actually out of curiosity, who here has dedicated recruiters that are hiring for Clojure? All right. For those of you who don't, I suggest hiring someone that will help you do this. [laughs] Someone who's passionate about it as well.
Rebecca: [26:34] They don't have to just be passionate about Clojure, but passionate about technology.
[26:38] Because what you don't want is someone who's like, "I'm going to recruit, but I have literally no interest in technology." That's a big thing, is having someone passionate about the technology space is actually a huge gateway to getting other engineers in and dedicated to it.
[26:50] It's like training. They know it, inside and out. If you don't have somebody, get somebody.
[26:55] Also, you have obviously, you're going to do the full cycle recruiting, build your brand. Building your brand engages "passive talent," as we call it in the recruiting world, because they're not necessarily interested in moving right then and there.
[27:07] Once you engage them and are able to recruit which is much easier than once we've recruited them we need to cultivate. We've got to keep them interested and happy and retain them there, the retention portion.
[27:18] Then, actually retaining, so if you have Clojure developers they refer other Clojure developers. It's like doing the work for you. It's like magic.
[27:26] If you keep people happy, keep people working on it, it's great. Augie opened up a work opportunities channel before he even landed [inaudible] . That's ultimately the full cycle of how you need to do it to build it out. That's really it.
[27:44] I know this is more of an overview. Now we can talk about, if anybody has questions or dive into specifics or whatever.
Eric: [27:51] Questions are coming around. A lot of what you're talking about seems to be expensive.
Eric: [28:13] Would you talk about the costs of hiring versus the costs of building your brand, whatever?
Rebecca: [28:23] Yeah, in terms of building your brand, I think out of all the things I spoke about most of them are free except for like attending a tech conference. Hosting a meetup does not have to be expensive at all.
[28:38] Like you can do it, like I said, you can be a talker and you're basically just offering a space. If you have an IT setup that's it, that's really what you need.
[28:47] You can also do a remote conference, as well. A remote meetup, which again, it's more about time in terms of cost and you as a person. The only thing that would really cost money is attending the conferences.
[29:00] Another good thing is having people speak at conferences is a great way of branding and bringing in that retention as well. Usually, they're not going to charge you to speak at a conference. I would suggest [inaudible] paid to speak. [laughs] Does that answer your question?
Eric: [29:14] Yeah, yeah. Well, half the question. The other half was, "How much does it cost to hire?" You talked about it taking nine months sometimes to hire.
Rebecca: [29:30] 60 to 90 days.
Eric: [29:31] Oh, 60 to 90 days.
Rebecca: [29:33] Two to three months, on average. You have to pay people, that's expensive. In terms of like it depends on if you have a recruiter, you're basically paying them, their salary for the year to do all the work for you and then it's not super expensive.
[29:49] If you're talking about pushing off delivery because you're trying to focus on building something at the same time as hiring someone, that becomes very costly as well.
[29:59] Specifics will always depend on what you're doing in terms of that kind of cost, in terms of like salary and [inaudible] or anything. But really for us, there's not a ton. I think we pay $10,000 a year for our applicant tracking system.
[30:15] But you could use Excel to do that if you wanted to, because it's not be-all applicant tracking system. If you use LinkedIn, that's another package that you go for. But ultimately, if you're thinking, "Should we get a LinkedIn reporter thing?"
[30:30] It's like, "No, go use the Clojurians Slack channel." No one wants to receive a message from LinkedIn, anyway.
Rebecca: [30:36] Like don't [inaudible] . Just go to other places.
[30:39] Go find people on GitHub, go find people on Twitter. Go find people, again, in Slack groups. Go to Meetups, like it doesn't cost anything for you to go to a Meetup.
[30:50] There's plenty of free ways to get to people and engage them that doesn't require having like a big Glassdoor package or a big LinkedIn package. Those things are always kind of "eh," you know, for show. We mostly actually use those just for the business-side recruiting.
Eric: [31:06] Great. Dan asks about balancing engineers that are experienced with software development but don't know so much about Clojure. Do you hire people who aren't...
Rebecca: [31:18] Yeah, we do, we do. Well, we've not been very open to it.
[31:23] We've trained people into Clojure. I think ultimately that's about the size of your team. You need to have someone who's kind of a Clojure expert as well as someone who's strong on the design side within your organization, who can really be that mentor, and they have to have the bandwidth.
[31:35] I think it's really important to hire junior developers as well, but you don't want to do so if you can't mentor and support them.
[31:43] You can't just be like, "Oh, cool! I'm gonna hire a junior developer," or, "I'm going to hire someone who doesn't know anything about Clojure. Then I'm going to just let them kind of flip-flop around on the deep-end by themselves while I continue to do the important work and leave them out by themselves."
[31:57] You have to be able to have a kind of a structure or an architecture around your team that says, "Hey, I'm a mid-level developer who knows Clojure who's going to teach this junior developer who wants to learn Clojure, and I have this very senior person who's going to teach another senior person the way about Clojure, or whatever." You have to have paired up, right.
[32:12] It's all about kind of building your team, in the sense that there's that support. If you don't have that support, you're basically, not only are you risking delivery, but you're also...That person's not going to be very happy, and then you have kind of a tension right, so again, it's all about that cycle of mutual supporting.
Eric: [32:28] Do you have any advice for the entry-level recruit for how to become more hire-able? What they could do to...
Rebecca: [32:44] OK, so are we talking about on the entry-level side, or someone that's just not into Clojure that wants to get into it?
Eric: [32:52] Yeah. All of those.
Eric: [32:53] If you were going to hire someone, let's say, an experienced programmer with no Clojure, where would you start, like what would you be looking for?
Rebecca: [33:07] OK, so for us, systems is really important, so I'm looking for someone who understands distributed systems, who understands design really well. You know, [inaudible] structures, whatever that may be, it doesn't have to be like specifically Clojure, if you can check all those other boxes.
[33:21] Like we hired someone who has a...He didn't know Clojure but he had a PhD in distributed systems. It's like, "Cool! Yeah, you can come on over here. We'll teach you Clojure."
[33:31] But I think if you're a senior, highlight the design aspect of what you know how to do, because when you're hiring, we don't just want people who're like, "I'm really good at Clojure but I'm not good at anything else when it comes to like computers. It's just Clojure, like that's all."
[33:47] We want to hire people who have a well-rounded skillset, so Clojure, ultimately, actually isn't the most important thing for us, like probably more important is understanding systems and design.
[33:57] If you're a junior, highlight the other things that you normally will. Like I think for us, we actually focus probably more on bootcamps than recent grads, because what we've done is we've hired actually like four or five junior, entry-level, you know, whatever you want to call it, software engineers from bootcamps who all came from finance backgrounds.
[34:17] They didn't know any like real programming, really, other than what they'd learned in their 12-week bootcamp but they brought like a ton of financial institutional knowledge to a finance company, where we're building financial systems, so you know, highlight the skills that you have in relation to the product as well, it doesn't have to be about specifically whatever engineering team.
[34:34] Think about the company, as a whole, and what they do, and how can you market yourself to them, where it's like if someone's looking at your resume, they'll be like, "Whoa, they might not know a bunch of this but they can bring that to the table, and that's really cool."
"[34:44] Oh, they've worked in the banking industry before," or, "They know finance." Like, yeah.
Eric: [34:52] What is your interview process like?
Rebecca: [34:55] Yeah, so the interview process for us is pretty much straightforward across the board. We use different technical tests for different teams, but a phone call with me is the first thing.
[35:05] After that, it's like a code challenge. It depends on what team you're on, what code challenge we use. Then, from there, sometimes we do a little call with the hiring manager, sometimes not, and then it's an on-site interview.
[35:17] The on-site interview is a pairing, so a code-pairing and then a design portion where it's whiteboarding, and then we have a talk with either a technical project manager, or a product manager for more like delivery and prioritization side, and then a chat with the manager of the team, and that's it. It's about three hours in total, the on-site interview.
[35:39] The whole interview, probably the code challenge shouldn't take more than two hours. It's that code challenge and then...We're looking into like changing how we do the code challenge as well, because right now it's like a take-home and what we've found from the data I've pulled on our applicant tracking system is that a lot of people actually drop out in the code challenge phase.
[35:55] Because it's like one of those things where it's in their hand but if someone else is moving faster, they might not do it, right, like they might just be like "Oh, I only talked to a recruiter so far, I'm not interested enough to do this code challenge." We might move to more of a live, online-available program.
Eric: [36:11] OK, and do you like your process? Is it working, is it...
Rebecca: [36:16] Yeah, we usually are able to hire people in less than two weeks.
Eric: [36:21] So Will Byrd has a really interesting question. I'll read it. It used to be the case that the way to increase your salary was to switch jobs every two years.
Rebecca: [36:33] Mm...
Eric: [36:33] Is the current difficulty in finding programmers driving up salary increases for programmers who stay at a company?
Rebecca: [36:43] Not fast enough, no. I'm going to speak transparently. It's really difficult. We just hired someone actually at Funding Circle, and I'm going to talk about this with as much transparency but without giving away too many things that I'm not supposed to talk about.
[36:56] We hired a a head of Total Rewards, so basically what that person does is they look at perks, benefits, everything, and I understand that if you've a really small company, you're probably not at the place where you're going to be hiring someone who just looks at total rewards, I get that, but it gives you a sense and looks at kind of everything, your package, your salary, your benefits, what have you.
[37:13] If you're just trying to create like an architecture within the team, where basically you can get every six months or every year, you'll get a review on your salary, it is really difficult.
[37:23] The biggest problem is that if you hire someone at a certain point in time, salary is raised X number over two years, that person's probably more valuable than the person that you're hiring two years later but you're paying the person two years later way more than the other person, because you have to in order to hire, and it's kind of shit, right?
[37:42] Yes, changing jobs is one thing, but what I would say is like, don't be one of those people that's like every year, they just leave to get the higher salary. Because ultimately, you'll probably get a bigger increase if you worked at the same place for four years, fought for yourself, and then left, and got a huge increase.
[37:58] Rather than be like the person that's like every year, I'm just going to jump because I want to get a bigger salary. That, it doesn't look good on your resume.
[38:07] Ultimately, you're probably only getting a bit of a bump each time. Whereas you'll probably get much more money if you can show that you've grown a business over the course of three or four or five years and then move, and then be like, "Yeah, this is what I demand," because now it's pretty much illegal in most places to ask someone what their current salary is, which means you can just ask for what you want.
[38:28] Do it, right. Like I'm only allowed to ask what are your expectations. I'm not allowed to ask, like, "What were you previously making? What was your last package?"
[38:38] I can only ask people, "What are your salary expectations?" If they're not in line with what we can afford, I'd say, "Here, that's way out of what I'm willing to pay, but I'll tell you what our range is." Then based off of that range, how you performed in your interview will dictate that.
[38:54] But fight for your salary every time. Don't be afraid to go to your boss and say, "This is the work I've done. This is the value I bring to this team. This is what the market rate is out there. I want this," and if you're valued, they should meet that, right?
[39:06] Don't expect people to just bump you up to the market level all the time. Because hiring is expensive enough already, right, and the business is always kind of thinking about cutting costs as well too.
Eric: [39:17] Yeah, and even if they do ask you, you don't have to answer. You can just say, "My company won't let me tell you."
Rebecca: [39:27] Mm-hmm.
Rebecca: [39:32] When I ask you what are your salary expectations?
Audience Member: [39:34][inaudible] , because I've been asked [inaudible].
Eric: [39:37] Just don't answer.
Rebecca: [39:39] You know what your response is? "My expectation is this."
Rebecca: [39:44] And you don't tell them. No one's going to push you to, like, "No, I really need to know."
[39:49] It's like, "That's nice. This is what I want. Cool. You want to know? Great, there's one or two things I want to know too, but you can know what I want to make."
Audience Member: [39:56][inaudible] , are they allowed to ask [inaudible]?
Rebecca: [40:15] Yeah, and I have been asked the same thing when I go into jobs, and like, "This is what I'm expecting. I won't settle for less than this. I won't sign for less than this."
[40:25] Because ultimately, they're trying to close you, so it doesn't matter what you were previously on. If they're just trying to give you what you were previously on, you can go somewhere else and make more. Right?
Eric: [40:34] Have a minimum number before you go in for the interview.
Rebecca: [40:37] Exactly. "I will not go less than this, and then, other than that, I'm negotiable."
[40:41] But like, you know, you could also have your hiring range too, like, "This is what I want. You won't get me for less than this, and we'll negotiate, right." It can be a negotiation. Just don't tell them what you're on.
Eric: [40:53] I actually have a video on my site. I did an interview with someone who is a coach for this kind of negotiation, like they're in an actual interview, and it's a really good interview.
[41:04] It's on my site. It's free. I'll post the link in the notes to this talk.
[41:10] A few people are interested in how you hire a recruiter who's going to do the hiring [inaudible] .
Rebecca: [41:17] Yeah, so I focus a lot on...I mean the interview is pretty similar, so I do like a case study with the recruiter. One good trick is if you get reached out on LinkedIn and they actually have an interesting message, reach back out to them and say, "No, I don't want a job [inaudible] ." Right? Because it's like they sent a good message.
[41:38] Because most of the messages you get are like...I get messages all the time. It's like, "I would make a really great senior backend Clojure engineer." It's like I've never programmed a day in my life in Clojure."
[41:46] It's like you just sent me a [inaudible] message, right, like you just word-searched Clojure. Like maybe you should just put "Not recruiter" in your search, and maybe this wouldn't happen anymore.
[41:55] But if you can find people through that, that's a great way to do it. Interview-process-wise, I focus a lot on kind of the data side of recruiting because a lot of recruiters are really crap at that.
[42:04] Like a lot of them are really good at selling but then when it comes to the applicant-tracking system and data portions of that, they don't record anything, and then you have no insight into how you're doing, so I'm like super data-focused when it comes to like recruiting.
[42:15] I ask them, like, how would they build out basically like a recruiting system from scratch. It's like a case study, basically, that I do with them. Other than that, it's just like, do they have a post and do they feel like they're trying to sell you.
[42:30] You know, you can kind of tell if someone's genuine or if they're just kind of like, "Hey, this is a great opportunity for you," like I know nothing about it.
[42:37] It's like, "Cool, I just asked you a bunch of questions and you know nothing about what we're hiring for. That's great," so kind of thinking about what you would want out of a recruiter that's talking to you.
[42:47] I think it's kind of hard when you're trying to recruit a recruiter as a programmer because I think ultimately, recruiters are good at seeing through bullshit of other recruiters pretty well. But it's sometimes kind of hard to see that if like you don't know the world that they live in, so that's pretty difficult.
[43:05] But I think the best way would probably be like if anyone reaches out to you, reach back out to them and say, "Hey, I don't want a job. Do you want a job?" I think you'd make a great recruiter here, and this is why and tell them about [inaudible] .
Eric: [43:16] It could be a honey-pot for recruiters there.
Rebecca: [43:19] That's right!
Eric: [43:23] Someone just, I don't know who this is, [inaudible] . We're interested in your story. How did you become a technical recruiter?
Rebecca: [43:33] Oh, OK. I fell into it. I graduated from school and didn't know what to do. I was still going to Berkeley and I thought I was going to go into like non-profit work, and then I worked at a non-profit for like way too long during school, and decided by the time I graduated, I didn't want to work in non-profits anymore.
[43:51] It was too slow. Too slow for me.
[43:53] So I got a job at PagerDuty when there was only 40 people there, and I basically did kind of everything. I was like an office manager, receptionist, recruiter, kind of you name it, anything kind of HR-y or [inaudible] , I did it, and I really liked it.
[44:08] I was only there for a contract for a while, then I moved into like a technical sourcing role, and then tried the business side of recruiting at LendingClub.
[44:15] I was like, "Whoa, no thank you." I do not want to be a business recruiter, that's for sure.
[44:21] Then a friend of mine reached out to me and asked me if I wanted to work at Funding Circle. I was like, yeah, and he's like, cool space and you'd already worked in FinTech before.
[44:30] I really liked the energy of PagerDuty and the people that I interacted with on a day-to-day, and I was like, "This is a lot of fun."
[44:38] Actually, though, it's not really a secret, but I'm actually moving out of recruiting and moving into technical project management in like a few months, [laughs] so yeah.
Eric: [44:51] Awesome.
Eric: [44:53] OK, so are there any things about Clojure that make a difference for hiring?
Rebecca: [45:02] Well, I think that the Clojure community is pretty tight-knit. I say that in terms of the branding side of things, it's like you actually have a big leg-up in that because it is so tight-knit and people are actually attracted to it and want to learn it. You guys are so passionate, like so passionate.
Rebecca: [45:23] Yeah. I think those are a couple of things. I think that you're always striving for improvement and I think that I see that within everybody. The teams, like the Clojure teams at Funding Circle, are just like, they're kind of mind-blowing, the kind of theory that they come up with and things like that as well.
[45:38] I think the newness of it. I'm sure we can throw up [inaudible] like Richard's a good leader. I'm sure you all have like your own different opinions as well [laughs] on various different subjects like that, but yeah, I think the fact that it's been such a close-knit community is definitely a big one.
Eric: [45:56] Do you think that as it grows, it will change? That you'll see a different kind of...
Rebecca: [46:02] Well, I haven't seen a change so far, so it's kind of hard to tell. I mean I'd love to be able to predict the future but unfortunately I can't. I think that, you know, with anything, it does change for the better.
[46:14] What I was saying was this community prides [inaudible] to Clojure. Having like a strong set of mission, vision, and values means that if you continue to keep focus on those, like shared goals, even as you grow, you won't lose the integrity of them.
[46:28] I think that's a big thing for us and a big thing for Funding Circle as well. Our CEO has been really particular about it, "I don't care how big we get, I don't want us to become one of those companies where we're just like, this is finance," you know, and you be quiet and do your work, and not have a community around it, so I think as long as you stay passionate around it, I think that will stay.
Eric: [46:51] If you put out a job, just to compare, like put a Clojure job listing and a Java job listing, like what would your expectations be. I mean obviously you'll probably get more...
Rebecca: [47:02] I'd get a lot of shit resumes for the Java one.
Rebecca: [47:04] Probably a lot better ones for the Clojure one. I'd have to do a lot of screening for the Java job.
Rebecca: [47:10] I'd be like, "Nope. Nope. Nope. Nope. All right. OK,"
[47:14] Then the Clojure one, I'd probably get a lot less applications, but the proportion of applications I bet would be of a higher quality.
Eric: [47:22] I don't know if...
Rebecca: [47:25] Then Ruby would be somewhere in between those.
Eric: [47:28] Yeah, this is kind of the opposite question -- Do you think that Clojure jobs have that same quality? Is there fewer or better...
Rebecca: [47:37] That's really hard to quantify. I think that it usually depends on where you work. I've seen a lot of Clojure projects that have been just kind of like...
[47:49] You know, like Capital One acquired a company that had Clojure engineers. I was talking to people about it that worked there.
[47:56] They were like, "Oh, yeah, we love [inaudible] when they acquired them, who were super-stoked about it, and like six months later, they were like "Can I work at Funding Circle? Like they just got rid of the project," and I'm like, "Not again!"
[48:07] I mean it really depends. It really depends on where your work. I think it depends on how you're structured, because Clojure is not the be-all and end-all, right? Just because you're programming in Clojure doesn't mean your company is miraculously amazing, you know.
[48:17] Like you need to still have [inaudible] . There's so much than just the programming language. It's everything else that's around it too. It just doesn't create an amazing job.
[48:25] So really, I mean, I think [inaudible] what I was saying about retention is that you might have an interesting problem, you might have Clojure, but then if you don't have a culture of [inaudible] development, if you don't have a culture of supporting one another, it kind of doesn't matter that your problem is interesting because it still sucks to go to work.
Rebecca: [48:51] Yeah, right, why be so specific about it, if ultimately, the company [inaudible] . I'll only work in Clojure even if like it's really terrible, the place where I work, right, so it's always a happy medium [inaudible].
Eric: [49:06] I guess it was about a year ago, there was a Stack Overflow survey, people were reporting their salaries, and Clojure was like the highest-paid worldwide.
Rebecca: [49:17] I'm not surprised.
Eric: [49:20] So do you think Clojure programmers get paid more?
Rebecca: [49:24] Yeah, I do.
Eric: [49:25] Do you know why that is?
Rebecca: [49:27] It's in relationship to skill. There's less of them. You're a rarity. [laughs]
Eric: [49:34] High demand, low supply.
Rebecca: [49:36] Yeah, exactly. Supply and demand, right. There's less of you, therefore you make more. That's why I don't tell people to ask for what you want [inaudible] .
Eric: [49:48][inaudible] .
Rebecca: [49:49] Well, yeah, right. It's all about location, so a Clojure engineer in Arkansas probably doesn't make as much as a Clojure engineer in San Francisco, you know, because that's just, again, how it is.
Eric: [50:21] Question.
Rebecca: [50:23] Do you feel like it's unethical?
Audience Member: [50:31] It seems like it partly is because whoever you're hiring in San Francisco [inaudible] .
Rebecca: [50:43] Right.
Rebecca: [50:44] Yeah, yeah, that's really interesting.
Eric: [50:46] Can you repeat the question?
Rebecca: [50:49] Oh, the question was, "Is it unethical to pay someone in, say, San Francisco more money than, say, someone in Arkansas, because ultimately, they're pretty much doing the same job, so why should one person make more than the other, just based off of location?"
[51:02] That's really interesting. I'll tell you what I probably feel about it though. I'll also tell you a little story. I found somebody that I was interviewing, and they had gone to university in the US. They wanted to move back to London, they were from London.
[51:20] As you saw on the slides, salaries in London are way lower. Average 56, 55 thousand pounds a year. That's $75,000 a year versus San Francisco, it's $150,000 or something like that. It's twice the difference.
[51:38] I was interviewing this candidate, but he wanted to move to London, and we gave him an offer, and he was like, "Wow, that's really low." I'm like, "Well, it's London." He's like, "Well, I want a San Francisco salary in London."
[51:48] I'm like, "Wow, man, I'm pretty sure every single person in London who works there wants San Francisco salary."
[51:53] It's kind of hard, because if you're basing everything off of market data, I understand it's like, "Oh, we're doing the same job." But ultimately, if you think about purchasing power, your purchasing power in Arkansas, even if you're on a lower salary, is actually higher, probably, than someone who has a way higher salary in San Francisco, but is paying $4,000 a month to live in a shoe box.
[52:15] I don't necessarily think it's unethical. I think, if anything, if you're living in an area where it's relatively cheap to live, you're weighing how much the person's ultimately taking home. Not what their number says on their pay slip. Because your take-home, in San Francisco, even if you have a $150,000 salary, is probably way less than someone in Arkansas who's got a $100,000 salary.
[52:42] I don't personally think it's unethical, but I think it's more of a take-home, and your purchasing power, than it is about the actual salary. But that's a really interesting thought, because from a business perspective, if you're just talking about two engineers that do the same thing, should they not just be making...I'm curious.
Eric: [52:58] Why wouldn't you just hire people out of Arkansas, because they're cheaper to the business?
Rebecca: [53:03] Yeah, I don't know.
Eric: [53:04] Is there an advantage to having developers in San Francisco?
Rebecca: [53:08] I think the big thing is where you can attract talent. If you're going to make your headquarters in Arkansas, and you want your team to be on-site, it's probably going to be pretty difficult to hire a big team. You go to where the hub is of people.
[53:26] San Francisco. I've said this earlier with Pandora moving from Oakland to Atlanta. It's really interesting, because I feel like people are doing that a lot, moving their locations around.
[53:41] But I feel like there's been a couple years, they're just catching up with themselves, and they're all becoming expensive. It's really expensive now to live in Austin, Seattle, Portland. All the places that were cheaper before, and now all these people in Portland who are like, "Let's keep Portland weird," or, "What are all these techies doing here? Like, come on, man!" [laughs] It's going to follow itself regardless.
[54:02] That's what I'm saying -- if you can hire remote, then it's great. If you have a business centered around that where you have really good written documentation and really good communication, then that's awesome. You have an opportunity there where it's going to be less costly to hire, and you have a way bigger population of people that you can hire from.
Eric: [54:23] Question. Yes.
Audience Member: [54:24] Is there a difference between hiring for a small team versus the larger teams that you're involved with?
Rebecca: [54:34] Are you talking about small team as in the whole company's really small?
Audience Member: [54:37] Yes.
Rebecca: [54:38] Yeah, of course, because if you think about it, it scales. You can think about, you have a small team and you're really looking for this particular person, that you need to have this person in order for you to get this project done.
[54:54] That's the difficulty of it. Because you're looking for very specific people, because you don't have the ability to hire a wide breadth. When you're a larger team you can kind of fill people in.
[55:03] That being said, once your team gets really large and you're like, "OK, things are going really well," if someone leaves you're back in the same situation of the small team where you're like, "This person left. Now we have to hire this type of person."
[55:15] When you're building up your team super-quickly, yes, that first initial momentum that you get. For example, we had an investment in the middle of the summer last year. I came back from London in August and was told, "OK, we have to hire 40 Clojure developers globally by the end of the year."
[55:33] I'm like, "Uh..." [groans] That's a lot of people. [laughs] There's very few of me, but the first wind of it was relatively easy.
[55:44] Because you have that, like, "Oh, we have mid-level, we have senior, we have junior. Cool. Let's bring people in. We can train them up."
[55:52] Then towards the end it gets really, really hard because now you're like, "No, no, no, no. We have all those people, but now we just need this person. They have to have, principal-level engineer, with 10-plus years' experience and they have to know Kafka and they have to know Clojure.
[56:04] They have to know Clojure and Kafka Streams? [laughs] With 10 years' experience, I think you've only been around been around for a couple of years that Kafka Streams has. They can't be an expert in it. Then it becomes difficult.
[56:14] There's a lot of similarities between hiring for a large team and hiring for a small team. But I think yeah, I think it's hard to get that momentum going when you're small, because you're really [inaudible] .
Audience Member: [56:23] Do you have any insights to why salaries are so much lower in London and Paris when they're expensive cities?
Rebecca: [56:38] I think salaries all over the US are much higher. My theory on it is that a lot of things that you pay for in the US you don't have to pay for in Europe, socialized health care, in terms of university education, a lot of those things.
[56:58] A lot of them come out of school and they're like, "Yeah."
Rebecca: [57:20] We're saying his response was basically like in Paris, if you get a salary of 55, your boss is actually paying 105 to have you. Because of all the other things come along with it. There's that aspect, too.
[57:38] I think also, just in competition, really requires one is coming into tech hubs so as Berlin, Paris and everything, but Silicone Valley's got first, really.
[57:49] That's the [inaudible] hub has been and people are like, "I'm tired of living in San Francisco because it's so frickin' expensive here. I'm going to go somewhere else." That drives up salaries across the board.
[57:59] I think it's a change or a reaction over time.
Eric: [58:03] Last question.
Audience Member: [58:03] Do you have a budget or plan for people to work remote? Let's say they want to be in a space like in their home for some reasons. Do you [inaudible] budget that?
Rebecca: [58:17] Yeah, we're not really scaled on the remote side to have a particular, specific, streamlined plan. We take it on a case-by-case. We try to be as flexible as possible with that and with budgets for certain things.
[58:34] With Portland, it was like when three people were moving up there were like, "Cool. We'll get you an office." There's three of you. "Now we have an office to work in if we want to." We'll get bigger offices as we hire more people in Portland and so on.
[58:47] If people asked then generally we'd kind of look into that, and we'd at least reflect it in salaries, so that they could actually afford to do it themselves. I don't have a great answer for you, because we haven't come to the point where it's like, "Yes, this is the exact process that we use."
Eric: [59:05] Thank you so much.