ASTRID: Hello, ladies and gentlemen. My name is Astrid Countee and welcome to the ‘DevPunks!’ Podcast. Woo! JESSICA: Wait, it’s not DevPunks, is it? ASTRID: Are you sure, Jessica? I thought we talked about this — DevPunks Podcast. JESSICA: We’re maybe devpunks but the podcast is Greater Than Code! ASTRID: That’s right, Greater Than Code. JESSICA: I’m Jessica Kerr and Astrid, I’m so happy to be here with you. Also, today we have Snuggs, whose mortal name is Ra’Shaun Stovall. But he has become the developer name, Snuggs, and also an adjunct professor at New York University. He divides his time between New York, San Francisco, and Paris. He is a figure in the Ruby community in New York. He’s an organizer of the Ruby Meetup there — the largest Ruby Meetup in the world. He helps with the Ruby Link Slack channel and he’s also the first person to ever do a handstand as an intro to a talk at a technology conference. But first we have to find out, Snuggs, how did you become a super developer? SNUGGS: That’s a great question, Jessica. As I became a developer in college actually, I went to college on a full-tuition football scholarship, played Division 1 Football at James Madison University called dukes and I didn’t really get into computers until later on within my time at JMU. It was after actually my fifth year and I was in the computer lab and I have a business degree. It was a wise business decision when I was sitting in the computer lab one day and I was helping people with their logic on their programs and I would leave out of the computer labs at night with a pocket full of cash. I said, “This is probably a lucrative career I might want invest and go into,” so then I really went to school of Google. JESSICA: The school of Google, like you searched for things? SNUGGS: Uhm-mm. People are asking me often, “What’s your favorite programming languages,” and I say, “I have two. One is psychology and the other one is good Google-Fu.” ASTRID: Snuggs, what took you from kind of dabbling into it to thinking about making a full-on career? SNUGGS: I’ve always had a logical brain and been involved in computers in some capacity but it was more from doing 3D animations and things like that, which to me are far more difficult than programming in two dimensions because there’s a third dimension. Really, I just got it. I understood logic and I understood getting to the simplest solution to something but I feel one thing that I had that I still used it today is that business degree. Again, it was a business decision for me to learn how to program and the ability to help people solve problems just by using my mind and being creative with my brain. I just said that that’s just a direction that I want to go in. I was asked often, “Would you ever want to go professional and play pro football.” I said, “You know, I can use my brain until I die.” However, I have friends that are 30 now and they play in the NFL and their family, they don’t see them on Mondays. Oftentimes throughout the week, they don’t see them and their bodies are just aging. One thing that I do enjoy about being a developer is it’s really preserves your body but often people don’t exercise that — pun intended. If we have the opportunity where we can really take care of our bodies in the type of industry that we’re in, that’s one reason why I still work out just as hard as I did on that football field today. JESSICA: And we get to make our brain sharper and sharper as we get older. SNUGGS: Absolutely. I tribute that to ginseng and matcha tea. JESSICA: And Google. SNUGGS: Yes. [Laughter] ASTRID: After college, what was the first job that you took? SNUGGS: After college, the first job that I took actually was to go back into school. I had this ambitious idea, I wanted to get out of a business degree and go right into a PhD in computer science. After about two years of that, a wise person told me, “If you’re really that smart of a business person then why are you going to school to be a PhD? Why wouldn’t you just hire one?” After that, I pretty much packed up things and said, “That’s a great idea.” JESSICA: Nice, so you got into development because it’s lucrative and also fun to help people solve problems and generally, can be a really healthy career. What drove you to get involved in Meetups and build the Ruby community in New York? SNUGGS: I stayed in Virginia for a little while, ramped up in the C# community, and I actually got into the Ruby community from Rosetta Stone. My favorite teacher, Jennifer Fraser, if you’re listening to this, thank you so much for all you did for me in college and she worked for Rosetta Stone in Harrisonburg, Virginia. I found out that she was there and I said, “I got to go and see her.” She’s my favorite teacher. She was actually the first website that I ever worked on. She had a daycare center called Two By Two and she was the first daycare center in Virginia to put cameras in the daycare center and have the parents be at work and actually login and see their children playing. She went afterwards from teaching at JMU to working for Rosetta stone and I tracked her down because I just wanted to pay homage to her and thank her. That’s one of the cyclical things oftentimes that we have to remember is how did we get here and who helped us get here. Walking in those doors in Rosetta Stone, not only did I get the opportunity to start a Meetup there. I actually got the opportunity to learn about Ruby on Rails as they were the first ones who even told me about it. I said, “I don’t know what Ruby is. I’m a .Net developer.” JESSICA: It’s funny that you’ve learned about a new language from Rosetta Stone. [Laughter] SNUGGS: That’s great. That’s excellent. After that Meetup, it was quite successful. However, a good numbers were maybe about 10 people at the Ruby Meetup. I read Timothy Ferriss’s book, The 4-Hour Workweek and I told myself I was going to actually do what was in the book, instead of just reading something passively. By the time I got to Chapter 9, I had removed not 80% of my things out of my life. I donated most of it to charity. The other just gave away. Pack two travel suitcase and got a one-way bus ticket to New York City. Now, prior to that, for about a year, one week out of every month, I was traveling to New York City to go to the Meetups that were there because I kept trying to call people and say, “Hey, do you have a job?” Oftentimes, when people want to move to New York, everyone wants to move to New York but they say, “Well, if I don’t have a job then I’m not going to go.” No one is special and New York has enough people in it where they don’t even have to answer the phone if it’s not a 212 area code or 646. I said, “I have to be present. I have to just go,” and one week out of every month, I would travel to New York. During those times, it was the hot week for all the meet ups and I would just show my face because oftentimes, trust is really just how frequently you interact with someone. It has really nothing to do if the person is trustworthy. As long as you see a person enough and say, “Oh, yeah. I remember your face.” Then, I said to myself at some point, I’m going to go to New York and I’m going to get a one-way ticket and when I got that ticket, the first 48 hours I was in New York, I was actually homeless and I danced in Times Square to make money. I didn’t have to but I saw some people dancing and I said, “You know, I’m bored and I don’t have anything to do until this interview tomorrow. I’m just going to stay in Times Square.” The next day, I went into the office and I worked for two days straight and I actually stayed in the office those two days and the manager was like, “This Snuggs guy, he’s kicking ass. This guy was the first person there when I got there in the morning and the last person there when I left.” JESSICA: He didn’t know that you have no place to go. SNUGGS: Exactly, so after those two days, I found a hostel in Brooklyn and that’s where I stayed for the next six months while I had an awesome developer job, living a dream in New York City and the very first thing I told myself that I was going to do is where can I help? I joined about 20 different Meetups. I started volunteering my time at NYU. I had a project called Ruby Newbie there. I successfully taught about 1,000 Ruby developers over the course of a three-year period and volunteering at NYU was what opened the door for me to get an adjunct professorship. They would offer us the rooms for the people and as the people grew, I got pulled aside and they said, “You put more energy into this community than a lot of our tenured professors do. Would you like to get a paycheck?” So I said, “Twist my arm with a good time.” ASTRID: What made you decide to go volunteer to teach at NYU and to train so many developers? SNUGGS: It was what I call job security. [inaudible] to your question. JESSICA: Because job security isn’t in the job you have, it is in the job that know about you? SNUGGS: Very true, Jessica Kerr. Also, to make an addendum to your point, I said, “There’s two jobs for every Rails developer in New York City.” That’s great for me today but what will happen is if they can’t find people to sit in these seats, they’re just going to go to another technology. We have a little bit of that going on today in a Ruby community actually but we’ll digress into that a little later. I said, “If I go out and I duplicate myself or even triplicate myself, then at least, I’ll have a job and also we’ll be doing good within the community by opening up the door for someone else.” To my point, there’s a high chance of Ruby and Rails being around in a year, in two years, or three years. The rug won’t get swept from under my feet. The biggest think, truth be told is I just was raised having a giving heart. You give just as much to others as you give to yourself. Maybe it’s the fact that both of my parents were pastors in a church while growing up. That’s just sort of the life that chose me. But that’s just what you do. At minimum, you give back 10% and not just money but of your time. I mean, we can’t give 10% of our time? There’s 168 hours in an average week. We spend 16 hours watching TV alone — ‘we’, figuratively. JESSICA: Yeah, probably not ‘we’, literally. The other day, I watched an episode of Silicon Valley, like 30 minutes of television and it was because I was sick. Yeah, something’s got to go. For me, it’s television. It’s interesting you said, Snuggs that I wanted to get back to, just now you pointed out that you wanted there to be Rails jobs and in order to make Rails jobs be a thing of the future, you developed Rails people. I’ve noticed this in St Louis. Alex Miller built a functional programming community here with Lambda Lounge and then Strange Loop at the conference. Because of that, there’s a decent number of functional programming jobs in St Louis because some of us have created those jobs and we’re available to hire. It’s weird how sometimes that jobs appear because that people are there and sometimes the jobs are there. But there’s a cycle either way so you can help perpetuate that cycle on either side by creating jobs or building the people. SNUGGS: Absolutely and the only difference that it takes is accountability. Being accountable to yourself for instance, one of my greatest mentors Tom Morning — I know he’ll going to be listening to this — he’s a founder of Engine Yard and I always am just reaching out to Tom and saying, “Thank you.” You know oftentimes, he says I’m overly thankful. But we tend to forget the word homage or in French, hommage and that’s the cycle. That’s the cyclical retribution side of it. That is more natural, I believe because we often think time is linear but it’s actually cyclical. There is nothing greater in the world than when someone comes up to you, I used to get those emails all the time at NYU. “Thank you so much. You changed my life. You changed my career. I’m happy now because of you.” That was worth more than any paycheck at NYU ever gave me. If someone’s doing that to me, I need to also be doing that to the people who got me where I am today. ASTRID: Totally makes sense. JESSICA: Absolutely. Speaking of building people, you mentioned that you have something to say about how we can get from junior to senior developer. SNUGGS: I have answers that are in the form of questions. What I realized was I didn’t know the answer. For me, to go out and assume what other people want, that’s just wrong on my part. Now, what we do need to do is to go and actually find the people who have the problems and seek them out and figure out what’s the best way that we can train and mentor them. There is an image that I linked in the show notes that there’s three men who are sitting in a room, there is a bunch of bank cards or index cards on a wall and there’s pizza and there’s beer. There’s three guys sitting in a room and one of the guys says, “If I were our teenage girl target, I would love our new product.” [Laughter] SNUGGS: Hold on. It gets better. The second guy says, “Have you actually talked to any to make sure?” And the third guy says, “What? And actually leave this room?” [Laughter] SNUGGS: When you hear that without seeing it, what does that bring up in your head about the way that people who are seniors and how they could possibly treat people who I’d say, their job is to guide them, to really figure out, and have empathy for what their needs are. How do you see that that overlaps what happens currently? And where does that relate to the development community because it looks like these three gentlemen are talking about some sort of marketing strategy. ASTRID: It sounds like a lot of experiences that many junior developers say they have where they say, “I want to be mentored but nobody kind of understands where I’m coming from and they think that I should already be where they are so it’s not really mentoring. It’s more so like browbeating and to becoming just like them.” SNUGGS: What say you, Jessica? JESSICA: The job of the teacher is to assume the context of the student. That’s like something that I read and I keep trying to absorb it. It means that to be a teacher is to, at least for a moment, cut yourself aside, sacrifice the way you do things, sacrifice the things you know, and put yourself in the place of the student and assume there are problems. Until you know where they are, you can’t get them to the place you both like to go. That’s really hard to do. I mean, we’re trying to solve problems, not to pretend we can’t solve them and help someone else solve them instead. ASTRID: The hard part though is when you’re a teacher, you have to know five and six and seven ways to do something because the student may go down a path that is not like yours and you’re supposed to be guiding them and not necessarily trying to make them do something against their own will. You just want them to go to the same solution. If you don’t know five and six and seven ways, then I think it becomes really hard for that relationship to continue to flourish. JESSICA: Yet you can learn those five and six and seven ways from your students. ASTRID: A lot of times, people don’t learn from their students. That’s probably part of what’s going on. SNUGGS: Oh, you’re touching on a vein right there, Astrid. You’re doing what I call flipping the proverbial rock over and that’s exactly what we need to be doing, to be self-aware, to notice those things. Because when I was in an admin meeting for Rails Link, which to me that is the Rail Slack channel and we’re currently coming in at about 4200 people that are there. We’re having a talk about that feeling everyone has in New Year’s, “Let’s do something new. Let’s change some things around and here’s what I think that we should do for the new developers that are around,” and then it became a conversation not anything about the new developers but more about the administrative things that the admin people were going to do. I was like, “Wait a minute. Has anybody ever talked to them or asked them a question about what they would want or need? Because I have.” At NYC.rb last month, we wanted to separate them into junior developers, senior developers, and hiring managers. The purpose was for visual representation. We actually had all of the juniors get up, all of the seniors get up, and the hiring managers. The question that I have to ask you is, “What do you believe the percentages of each group to equal 100%?” This is junior developers, senior developers, and hiring managers. JESSICA: Well, I can tell you at the St Louis Meetup, we probably have about 15% junior, 80% senior and maybe a hiring manager or two. But I imagine it’s different in New York. SNUGGS: Well, yes. It was different in New York. However, the fact that New York has larger numbers, I think that’s just a more accurate depiction of the three categories as opposed to just being a handful of people. We all know, when you increase your sample size you get closer to precision. The junior developers were about 70%, the senior developers were about 25% maybe 26%, and the hiring managers were about 4%. JESSICA: It’s a circle here too, because if you have a lot of senior people at your Ruby Meetup, then the senior people start speaking and they start speaking to senior people and then my senior people come to your Ruby Meetup. That’s our story. SNUGGS: Exactly, and when those seniors looked and saw how outnumbered they were by the junior developers, that’s when you have to wake up. I can act like they don’t exist, however, that’s the person has got to be eating my lunch. JESSICA: Wait, who has to wake up? SNUGGS: The senior developers, for sure. The look on their face, Jessica would have blown your mind, when they said, “Wow, there are so many junior developers.” ASTRID: That’s quite surprising. JESSICA: Oh, it’s surprises you too? ASTRID: Yeah. JESSICA: Wait, does it surprise you that they were surprised? Or that there were so many juniors? ASTRID: No, it surprises me that they were surprised. I’m not surprised there’s so many junior. JESSICA: Yeah, me neither. Uncle Bob said the other day at a conference that like the number of developers is doubling every five years. Therefore, most of the industry at any given point has five or fewer years of experience. SNUGGS: That’s very true so what I did was I asked each group, “If you could ask any question to the other two groups, what would they be?” They all huddled up in different parts of the auditorium and the juniors came up with this list here. I said, “Tell them where it hurts. Tell them what are the things that you think about late at night and you don’t have anyone else to talk to.” Number one was in-person mentorship, watching and reading materials. Mind you this is direct from the junior developer’s scribe who was responsible for gathering all of what their questions were. Number two, how can you teach from junior dev mistakes and how can we make dumb questions welcome before they become big mistakes. That’s a doozy right there. Number three, incentivize hiring junior devs, even though it may not be viable and valuable in the short term. Number four, pair-programming nights and on open source. Number five, pull request review closely, and number six, closer connections between junior and senior developers. This is straight from the junior’s mouths. JESSICA: These are what the juniors wanted of the seniors? SNUGGS: This is what the juniors wanted of the seniors and the hiring managers because they said, “We’re not getting it from anyone.” ASTRID: What was the response? SNUGGS: The response, well you’ll just have to find that out on the new podcast that we have coming out of NYC.rb in Rails Link called DevPunks that’s launching this week. JESSICA: So if you want the real DevPunks… [Laughter] SNUGGS: Well, we call us the pilot, if you will. But I think it’s a great conversation that needs to happen because what it does is the questions are as important as the removal of fear. That’s the big deal because it’s like these are the questions that aren’t being asked so what I said was, “Imagine a room with a junior developer, a senior developer, a hiring manager, and let them talk it out for 15 minutes.” The same juniors that said, “I can’t do a lightning talk at NYC.rb,” are the ones I had to practically rip the mike out of their hands from them answering questions from the rest of the audience. JESSICA: Wait, the juniors are answering your questions? SNUGGS: Absolutely, with the support of the seniors while the hiring managers are sitting back like, “Oh, my gosh. I didn’t know I had to contribute to this.” JESSICA: Yeah, because if you get Just like one of each in the same room, then there’s such a power differential. Then again, those important questions don’t get asked. SNUGGS: The loudest person in a room is usually the one that takes over the conversation. ASTRID: As a junior, you don’t know for sure how to do a lot of things so you’re going to be more likely to defer to the senior developer and you don’t want to piss off the senior developer by doing stuff that is totally wrong. You’re less likely to say what you really think. You more likely to kind of ease into it or follow their lead or just let them kind of guide you. JESSICA: Yeah, and one thing I love about my manager at Stripe is he’s really conscious of the fact that as a manager, everything he says has disproportionate weight, whether he likes it or not. He can’t just throw out an idea and have it be one of many on the table. It’s the one everybody is going to gravitate toward because he said it. SNUGGS: Very true. We also have to be conscious as seniors. I’d like to take this moment to flip it over to the senior side of the coin. With the senior side, some interesting things came up. For instance, one, I didn’t realize that as a senior developer, you actually have a higher fear of the hiring process so why would you think as a senior developer, you have a higher fear of the hiring process than a junior developer. JESSICA: I don’t know. I don’t think I experience that personally. SNUGGS: Astrid, yourself? ASTRID: I’m not a senior developer so I can only imagine that it’s just that you may no longer be relevant anymore. SNUGGS: Yeah, that’s… I like Astrid. She just cut right to the chase. That’s what I agree with but what was said and I always like to say, taken from the horse’s mouth is quote, “We typically go into feels like contracting.” That means that we wind up doing interviews, say every quarter or every six months, to where as a junior developer is looking more for, “Can I stay at this place for a year or two and really get my chops together?” The fact that junior developer still are human and we must remember that a lot of us actually got into computers solely for the fact that people didn’t like us growing up or we felt we weren’t treated the right way so computers were an outlet. There’s still some insecurities so when you have to go do things like market yourself, that becomes a trying task. I was talking with Ryan Davis at RubyConf and I said, “What kind of person are you?” He didn’t seem happy but it seemed like there was something that he wanted to uncover that was missing. After him and I talked for about a half an hour, come to find out his whole gripe and he said that he’s the crane builder for people who use Cranes. He’s the crane that builds the Crane. But the one part that he said even he’s lacking is marketability and how to sell oneself. I was like, “That is awesome at number one that you can be that open and humble to even recognized that and be self-aware,” because that’s when you start working on it. You can be the smartest developer in the world and if no one knows it — JESSICA: Crane building the crane. Is that like infrastructure? SNUGGS: If you were to think about the Empire State Building, the way that they build the Empire State Building is they’ll actually build the first portion and then they’ll put a crane on top of the building and then there are some cranes that are responsible for hoisting another crane up to stack on top of itself, if you haven’t done any mountain climbing. That’s simple fact, there’s no cranes that are as tall as the Empire State Building. Now again, to touch on senior developers, again, this is the part that I don’t like myself so that’s why I’m looking to change it or else, I just be… What are those people call to just nag? A nagger. My boss always said there’s nothing wrong with presenting a problem but if you present it and you don’t present a solution, you are part of the problem. The developers often what will do as a senior developer as a junior will come to us and say, “What do I learn? What’s the next thing I should do?” And really, we dismissed them and go, “Oh, go play. Here go learn React. Go learn Rails. Go do this thing. You shouldn’t do that.” We tell them the ‘what’ but not necessarily the ‘why’. It’s almost like sticker shock. If you are ever to go out and buy and car, we don’t drive too much here in New York. But there’s a sticker shock. Here is the price of being a senior developer. You’re going to study hard for a few years, you got to learn a whole bunch of technologies and go play. That to me is equivalent to a car dealer saying, “Here’s your brand new sports car and you can take it home overnight and I expect you to come back as a race car driver tomorrow.” It just doesn’t make sense. It should be more of, I think a student driver on how is driving teacher teaches a student driver. To me, that is the full circle of how senior developers and junior developers should be interacting with one another. Immediately, I start thinking more of pair programming. ASTRID: Yeah, I agree with you. Personally, I kind of wish that it was a little bit more like the models that already exist in medicine where you get MD but you still have to go, be a resident, and have to work under other more experienced doctors whose job is to teach you so that you’re actually doing the hands on work but you’re not alone and the outcome is never just you by yourself, until you actually finish with all of that. I wish that that was more like a residency, which I know is kind of like an apprenticeship. But something like that that was part of the process of getting to that next level as a developer. JESSICA: Whose job it is to teach you. ASTRID: Yeah. JESSICA: And as senior developers, it’s fairly like on our evaluation how well did you teach the junior developers on a team. But totally it could be so that’s one thing that managers could do. ASTRID: I think it is part of the culture though, Jessica because I know a lot of times what you hear from senior developers is like, “Look, I’m not going to teaching so you’re going to have to go and learn this.” JESSICA: There’s something else too. In medicine, it’s a much more established field. There are probably a lot more of the senior doctors teaching the interns and presidents. In programming, our field is changing so fast. You feels like there’s got to be a lot of two-way learning there. ASTRID: Yeah, I agree. In medicine, the body doesn’t change but some of the techniques do. I think maybe the difference is that, when they mess up, people die so they have to have some sort of hierarchy in place and they have to have a system. I think in tech, we probably should be thinking about it a little more structured. But it is hard because the culture is if you can do it, you should just go do it and you shouldn’t be waiting for somebody to teach you because you should be learning. Even though, all that’s true, there’s this messy place in between, ‘I learned how to code but I don’t know how to build large scale projects’ and ‘I can actually run these big projects’, like how you get from that side to the other side of that a bridge is not, in any way structured. SNUGGS: Absolutely, because I just had a junior developer two days ago say to me, “I’m going to get 10 Rails projects under my belt and I’m going to go look for a remote job in two months because that’s what is senior developer told me during the interview. JESSICA: Two months? Ten Rail projects two months? ASTRID: Dead-ass serious. JESSICA: That’s going wee baby projects. SNUGGS: Yeah, and I want to say, “Who told you this?” But you know what? I’ve learned to stop doing things so ad hominem and more so say, “There’s a problem, then you should fix it, Snuggs.” If you really don’t like something, then what are you doing that you yourself can be accountable for to fix it, because the way humans actually work is we learn from people’s actions. The words, they make you feel good temporarily but like my mom always says, “Don’t tell me you love me. Show me you love me.” That’s a big, big difference. One of the areas that I like to help even transition from the junior to senior is I have discovered the true definition of junior and senior developer and it has nothing to do with technology. JESSICA: Really? The one true definition? SNUGGS: Yes, in my head. I got it from my football coach. I asked my football coach once when I was in high school, “How do I go from JV team to the senior varsity team?” And he said, “That’s simple.” He put the ball in my hand and he knocked it out and I looked at it like rolling around on the ground and he was like, “You’re still a JV.” And I was like, “What just happened just now?” Then he came back to me after I worked a little harder during the season and he said, “The difference between JV team and the varsity team is accountability and that accountability is if you mess up, are you type of person that you look for someone else to help clean up your mess? Or you’re the type of person that says, ‘Yeah, I messed up. I was wrong. You were right and I fixed it.'” Actually, that’s the best kind — the person who not only acknowledges that they messed up but the next time they check in, they say, “Yeah, we had this problem. I fixed it myself and Bob’s your uncle.” I can teach a person who has that type of accountability and hunger to be a better programmer than me. I can’t teach a senior developer that type of accountability. JESSICA: Yes, absolutely. Although, I do want to interject. I broke it, I needed help fixing it, I asked someone else how to do it and then I applied their knowledge. It doesn’t mean you don’t tell anyone about the problem until after you’ve fixed it. I’ve seen that turn as a small problem into a very big problem before. It means taking that accountability. You still make sure it gets fixed but you ask for every help that you need to fix the problem, not just about you. But that’s really good. As the person who when you hand them the ball, they hold onto it and they keep it. SNUGGS: That’s absolutely right. I’ve learned that oftentimes, it might be even better to get a junior developer who’s open to learning a proper way and how to deal with other people and then teaching them really how to be a developer, not teaching what they have to learn to be a developer because to your point, Jessica, it’s a moving target. That’s one place I think that seniors kind of go wrong when they call themselves senior developers because we forget the context. You know, calling yourself a senior developer is almost like saying, “The Bible is good. It’s the only good book there is.” There’s context that you have to assert to that. I call myself a senior Ruby developer and even in JavaScript. But then there are some JavaScript packages that I contribute to. I remember my first pull request that got accepted to JSDOM. I submitted a pull question and I don’t know what was going on but I said, “I want to work on this and as long as I’m doing a pull request, I’m not going to break all the things.” GitHub just implemented the fact that you can’t even merge anything into master without a pull request happening so why is it that when a junior developer comes into an organization, it’s always a tone of, “We can’t really have you do anything but set up your laptop because you might break all the things.” JESSICA: If they can break all the thing, then we thought the things set-up wrong. SNUGGS: Ding! Ding! Ding! ASTRID: Snuggs, you said something about teaching how to be a developer. Can you expand on that a little? What does that really mean? SNUGGS: Well, teaching how to be a developer is I’ll go back to the times that I spent in a computer lab. As long as the first intent is to help solve a problem for someone and that’s the fastest way you can get from A to Z, with solving that problem, that’s what you need to do. I feel if a junior developer can really grok that, that they can ramp up past the senior developer in no time, and I’ll tell you why. Because senior developers come with baggage, things like heavy baggage, things like the moment that you assume that you’re a senior developer and then some new technology comes out that you don’t quite know too much about. I think seniors are the junior developers, truth be told. We might have more experience. But a perfect example is Jessica and I. We’ve done a few pairing sessions with her and I went over some CSS and some HTML and Jessica is one of the smartest people I know. When I paired with her and to hear her saying, “Wow, that’s so cool. I didn’t even know that about HTML and CSS.” That feeling is what we’re lacking is as seniors. You know, like I’m on the [inaudible] and it’s like, “How about this? Go and learn for a week,” and see how a junior developer feels like. Take that same feelings that you had, now have empathy for the people in your own community. JESSICA: I know about being smart is thinking that I don’t know squat and when I’m comfortable with that, then I can ask those dumb questions because I do not mind looking ignorant if it’s going to make me less ignorant in a few minutes. SNUGGS: Absolutely, you’re right and that actually makes the id and the ego more aligned with one another as Carl Gustav Jung would say. Yes, this notion of the shadow and the shadow is more so a separation of what he calls the ego, not the negative connotation that people think. But it’s the thing that gives you the confidence to not get beat up on the playground when you’re a little kid. Or the thing that gives you the confidence to step your foot in the front door to get a new job. Ego can actually be used for great things. We just always put a negative connotation on it. Id is who the person’s true self is. That’s the person like when you’re waking up in the morning and your eyes are groggy and if all of the sudden, your neighbor saw you through the window. Basically, once we sort of pacify that ego to not be so wild than unruly, that it becomes more aligned with the id, who we truly are and then we don’t do insane things like overly complex. That’s one thing that senior developers do that I wish they could learn from junior developers. They just want to go out and get this thing done. A senior developer will say, “Well, this got to be super simple.” Wait a minute. I can’t do that because I haven’t set up my project management tool yet. You know, I talked to someone about the difference between pivotal tracker and say, GitHub’s projects and I asked him and I said, “Now, what are you going to do with all this extra time that you’re not filling out and clicking buttons on cards and all of that,” and it makes senior developers feel super uncomfortable when I say things like, “Do it the simple way,” and that’s probably the right way — Ockham’s razor, “– and go play with your kid, like go out to the park.” But when you say that, it’s like this weird look in their eyes like, “What? I have time to actually be sane? I don’t like this. I need to be clicking on some keys.” ASTRID: It kind of sounds like what you’re saying is that a lot of what people believe makes them senior is their ability to work on complex things. But because they can work on complex things, they make things complex without necessarily needing to and that makes it hard for a junior to actually work with them. SNUGGS: Oh, you’re absolutely right. I’m currently going through some little bit of resistance even in the JS community by letting people know, as Jessica knows now, even as of last year, the platform has really matured. I would be willing to say 90% of the frameworks that people care about today, you don’t even need them, like everything is in the browser and if it’s not, there’s [inaudible] fills for it. But tell that to say, someone who is coming out of a Dev Bootcamp, someone tells them React is just the bees knees, they’re going off into React-land and if you tell them anything different, they’re like, “Oh, my gosh. You’re still programming Ruby? Who does that?” It’s like I’m more on the line of, “You’re still programming in React?” Or even worse like, “You’re still using jQuery,” like Document.QuerySelectorAll has been around for about a year now and it’s valid all the way to IE 8 and 7. When you tell people that they can remove a lot of the things, the complexity that validates their senior-ness, people don’t like it. ASTRID: Okay, I think I’m starting to get the bigger picture. Snuggs, then how do you think that a junior and a senior should be working together? What is the best way for someone who knows all that stuff for them to be able to work with the junior and for junior who doesn’t know much of anything for them to find that, like what you said, the shortest distance to how to solve that problem? SNUGGS: Being more open. This is a good one because I’m really flipping over that senior rock right now. I talked with one of the senior developers in the community and he mentioned, “You know, I worked with a couple of guys remotely and I thought one of them was really short and had a high squeaky voice. We only talk on Slack for an entire year. Actually, we only have one phone call together.” And I told them, “Why won’t you just reach out to someone when you have a question?” To be able to hear someone’s voice, even just say, “Hello.” I call my friends in France all the times and say, “Salut.” That’s all I want to do and they’re like that little moment resonates so much more than an hour worth of Slack conversation. Whenever a junior dev has a question in the room, if I got five minutes, I use Slack call with video. Why not? They have told me repeatedly, “You go out of the way to help me out,” but I spent less time helping them out than the next senior did because they don’t want to really talk to them personally. They just want to kind of, “Just talk to me in IRC,” Or even better yet, “Just send me a tweet.” ASTRID: That’s very true. JESSICA: You said earlier that trust is how often you interact with someone is nothing to do with whether they’re trustworthy. Now, you’re pointing out that the video and audio interactions are much more trust building, something like that subconscious trustiness is happening. SNUGGS: Absolutely because we’re catering to the reptilian brain. The unconscious mind, wants to do things like say, “I’m a good person. I can trust that person. I see them all the time. I can definitely trust that person.” If we were to be self-aware and realized that people are in trustful situations are, I would say people aren’t messed up, their situations are mess ups, then what you want to do is to put yourself in a situation of the least amount of doubt. At least that way, trust can sort of evolve in a nice ecosystem for trust even to happen. But just because someone did something trustworthy yesterday, like Jessica trust me to help her and pair with her on CSS and in HTML but I highly doubt Jessica would trust me flying her in a plane to California. I wouldn’t. JESSICA: I would need more information about that. SNUGGS: Absolutely. You know, the thing is that once we start putting that accountability into it and stepping outside our comfort zone, that’s really when it sets in. I challenge companies to do that as well. You know, it’s easier to tweet than do. We tweet back but we don’t ever give back. What’s up with that? If we have a situation like currently, I feel there’s too much of an oligarchy going on in, say, the Ruby community, I can either complain about it and be that person that’s always complaining. Or I can set up a structure within the structure that’s already in place and base it off of what people are truly asking for, not those three people sitting in a room saying, “I know what kind of junior dev and senior dev you want,” and that’s really now touching on the hiring managers: the CTOs, the HR departments, the job opportunities, recruiters and such like that. They want to go out and grab the hottest person right now but they don’t want to invest in a person that’s going to be hot in two years. JESSICA: I think you’re saying, “If you don’t like the output of the system, change the system not the person who was outputted. SNUGGS: Well, even better. If you don’t like the output of the system, change the input. JESSICA: We’re probably saying the same things. SNUGGS: Again, not necessarily. For instance, oftentimes people will say, “The system is so broken in America and there’s things that I want to change about it.” You know, it’s like equivalent to the bicycle that has the broken handlebars. If you really had to ride the bike, you figure out how to ride it. But our forefathers set it up that there is a system and there could be some updates to it and things of that nature. But there are ways to use the system to get satisfactory results for yourself but it takes accountability. But there’s too many people saying what language they won’t program in and who they won’t hire in and what they won’t do. My mother, the wisest person I know, she always says, “That’s negative connotations.” Those are some of programming words. They actually make you complacent. CAN is an acronym, stands for ‘Cancel All Negativity’. It’s not to talk about who you don’t like, why don’t you talk about who you do like. Instead of talking about what language you don’t want to program in, why don’t you talk about what’s so awesome about the last thing that you worked on. But people won’t do that because that takes accountability. Well now, I actually have to do something, instead of just wagging my finger. ASTRID: What do you think the impetus comes from to actually make these changes? Is it the hiring manager? Is it the senior devs? Is it the junior devs learning certain things? What is it? SNUGGS: You mentioned hiring managers. I didn’t touch on them quite much yet. One thing I can say to hiring managers that could potentially be listening to this podcast, I challenge them to approach recruiting the way that I got recruited for football in college. What they do is they don’t go and look and say, “Oh, wow this senior. It just had an amazing year like three touchdowns every game. We got to hire this person to go play football.” That’s not how you get the best candidates. The way you get the best candidates are and I started getting letters from colleges when I was a sophomore in high school. “We’d like you to come to this boot camp. We’re interested in you. Just keep us in your thoughts. We can’t legally recruit you right now but we just want to let you know that we noticed you had a great game last week and scored two touchdowns.” Those letters made me feel just as good as the letter that I got that said, “You are accepted to James Madison University on a full-tuition scholarship,” because they were going out and saying, “I’m going to scout.” There’s a difference. There’s recruiting and there’s scouting. There are some people I know right now who are young. I had a guy right now, his name is Robert Christopher. He wrote his first line of code six months ago. This guy was using FTP to move his code around. But I didn’t sit there and brandish him about, “Oh, you’re using PHP and FTP. Dude, step into the new age. That is so old.” That is how you make someone run away from being a programmer. I sat and I worked with him and sort of opened doors for him and I just saw the doors that he walked through. Now, this gentleman is 16 years old and you realized that he’s going out looking for internships. I feel in a year’s time he’s going to be a smarter developer than I ever will be and he’s got a twin brother who’s just as smart. Why are these gentlemen having issues trying to find someone that believes in them? That doesn’t make any sense to me. I feel we’re going to have the first 10-year old billionaire in our lifetime. Why are we not empowering the ones that are hungrier than senior developers? Why are we recruiting them? I asked the managing team at my last Meetup, I said, “Do you see yourself having your job in two years,” and of course, every one of them said yes. I said, “Why wouldn’t you be scouting the people who are going to put money in your pocket in two years? They’re not ready today but I bet you they are in this room right now.” ASTRID: Yeah, that’s a really good question. I opted one with the same thing, actually. SNUGGS: Really? Can you touch on that a little bit more? ASTRID: Well, because there’s a lot of emphasis on what you need to go learn when you’re a junior developer so there’s people telling you, you need to learn this framework, you need to understand this concept so if you send people to go learn something, then why aren’t you tracking them so that they can circle back to you. It’s just seems like a natural thing to do. I don’t know why there’s not more of that going on. SNUGGS: Exactly. That’s a natural thing to do from a sales and marketing perspective. That’s what you do. That’s how you circle back to your leads and all of those things. Is it that they’re not looking for the right developers, which I don’t necessarily think that’s true because I actually spend just as much time volunteering at recruiting organizations and helping them find out what to look for because they don’t have the time to figure out of Node or Ember is the right type of technology they should be hunting people for. You know, not just the hiring managers and recruiting organizations, internally and the companies, I’m asking every single one of them to be accountable, just the same way I love how Ruby together is doing. In the organizations, why can’t you give someone an internship? I know a hundred developers right now that would work for free if they would just let someone give them a chance and let them in the door like, “Can I, at least hang out at the water cooler with the senior dev? That’ll make me, at least feel more senior.” You know, someone told me, “What? Developers working for free? That doesn’t make any sense.” And I’m like, “They paid to become a developer. You don’t think that they become a developer for free?” I told that and they said, “You make a very good point. I never really thought about it like that,” and these are the developers that are hungrier than the seniors. When companies do realized that they can bring in these junior developers, pair them up with senior developers and you know what? If your senior developers don’t have the time, number one, I’d question, “Why are they so busy?” Number two, I tell them, “Hire me. Bring me into the organization and I’ll ship up that whole team, especially the seniors because those are typically the ones that need the most help. They just don’t realize it.” JESSICA: Can you go deeper into that? SNUGGS: The reason why I say seniors often don’t realized that they need help is we put ourselves close to other people who are like us so we don’t typically go out and reach out to the person who just started programming last week. We want to talk about ARM processors. It’s like, “I’m going to spend an hour talking about ARM processors with you but what have I solved? Did I solved hunger? Did I solved my own hunger?” JESSICA: Somebody like to talk about what we already know? SNUGGS: Absolutely. The developers, who are seniors, we often will put ourselves around like-minded people, which typically is the bubble mind, what I call it. The thinking that my job is secure and I’m not going to have to worry about anything because I’m a senior developer, the number of people who think that they are senior developers and don’t realized or even have a clue in the technologies that have come out in the past few years is growing exponentially. JESSICA: That’s okay. We need those people too. SNUGGS: We do need these people but why is it when I am in RubyConf, I was in backstage in RubyConf and I talked to a gentleman and he said, “What are you going to talk about?” And I said, “The ways that the Node community was able to ramp up on the Ruby community and how it had nothing to do with code.” The next thing that he said was, “Oh, man. Last week –” because Node is a trigger word, “– I programmed in JavaScript for a day. I helped someone on a project and oh, my gosh. I was so happy to get back into Ruby-land.” And I told him, “You realized that any good developer can write equally as bad code in any good programming language.” It’s like you’re going to shun the entire community for a day’s worth of code that you didn’t like to write. I think you needed to refactor, not to go AWOL on an entire community. Then I started talking about things with the community and it was almost like they don’t want to hear it. I don’t even want to hear about that other person. I’m like, “Well, you kind of have to because it’s a real thing that is happening and these are things that affect us.” In Ruby right now, there is currently an idea of how do I get React to work in my Rails project. But little do they know, there are people who are even hot on React are trying to find a way to downgrade and use less frameworks in the front end. It’s like we’re trying to mimic what another community’s doing. But that’s already been out of vogue. I still know some Rails developers that think that Browserify and Babel are sort of the way to get things compiled. There is a tremendous movement in the Rails community towards that direction. But there’s already been better tools that have come out in the Node community. It’s just we don’t spend the time to even ask questions of other communities. I do that at NYC.rb. I encouraged people to say last year there was four Ruby Meetups. This month, there’s going to be two Ruby Meetups, a Meetup on CSS and a hiring manager that wants to come in and see what pains developers are having. That’s what it’s all about right there. Not just, “We’re going to have four talks on this technology. Oh, you mentioned something else, we make fun of that technology here.” You know, I challenge people go to another community and see how welcoming they are towards you and then ask yourself, “Would you be that welcoming towards that person if they came to your own community?” ASTRID: It kind of sounds like you’re going back to what you were saying earlier about how important it is to learn the ‘how’ of being a developer and not just the ‘what’ kind of things you’re going to be using. SNUGGS: Absolutely, and truth be told, many seniors don’t even know themselves because we have, oftentimes forgotten that the best person we compare with is the client who is actually going to be using our tool. You know how many senior developers I know, just like what Ryan stated like, “I could be better at marketing myself.” Good for you! You’re actually honest about that. “I could be better at having empathy for other people.” Good for you. You were actually honest about that. Martin Luther King, who is someone who I admire, wholeheartedly and I’ve read many of his talks that oftentimes people remembered ‘I have a dream’ but he had an interesting talk at Greensboro, North Carolina where he was interviewed. In the first paragraph, he stated, “Why is it that it’s always assumed that minorities have to go to this side and others have to go to that side. I don’t subscribe to either party and honestly speaking, I’m not here to tell you who to vote for. I’m not even telling you what to do. I’m not telling you what party to subscribe to because I think there is devils in both of them and there’s angels in both of them. What I am saying is use your accountability and use your power with what you vote on to actually push the ball forward in a positive direction.” It’s almost like not only do people not hear that when it comes to politics. They act like he didn’t say it but many probably haven’t even seen it, that’s his words. But I have juxtapose that to the technology communities, even at Ruby community recently. It took me to go to the Node community to realized how their community was being run to come back to the Ruby community with different changes and things like can’t see [inaudible] all contributors. You just have to contribute to a repository with two good contributions that have to be comments or issues. They don’t have to be pull requests, just a good solid contribution to that issue, pull requests, comment, whatever may have you and you get the keys. I mentioned that some people in Ruby community and they’re like, “Oh, no. We can’t do that. That’s just too wild.” And I’m like, “They can’t break all the things. The worst thing that’s going to happen is they’re going to submit a pull request. How are we not that open?” And the Node community did that and immediate, like the day of RubyConf, there were 5000 contributors to Ruby. I believe there was 5000 and there was 5001 for Node. I was actually able to stand on stage and say, “We just got one-upped by one person.” One of the people in the group said, “Well, that’s not everyone that contributes to Ruby. There’s a lot more since you can’t really see them and there’s Slack. That’s different in Rails Link. You just can’t really see it.” And I’m like, “Why is open source so closed?” That’s the title of my talk. ASTRID: It sounds like a good place to start wrapping up. We’re at the point in a podcast where we do reflections and we reflect on something that we heard or something that we talked about that resonated or affected us in some way. I can start which is something that you said, Snuggs about how being accountable as being a [inaudible] to those who help to get to where you are, which I thought was really interesting because usually when we talk about accountability, it sounds like being responsible and not necessarily thinking about how others play a part and how you got to the place that you are now. SNUGGS: Absolutely. I would agree because we’re merely just the sum of the five closest people around us so we also have to pay that homage and let them know because we can’t expect people to give us their time, if we don’t give that time back. Also say, “Hey, thank you.” JESSICA: And you’ll never know when completing that circle of accountability is going to start a whole new one, like you found out when you looked up your favorite teacher. SNUGGS: Uhm-mm. JESSICA: My takeaway is also related to a circle but it’s a circle between student and teacher. We talked a lot about junior developers needing mentorship but also how seniors need to learn from the junior developers to find those solutions that they didn’t know that they didn’t know because they knew some other solution and that’s always been good enough for them. If you can set aside your ego and put yourself in the place of the student and learn from them, it turns out that it’s your students that can make you a good teacher by showing you the solutions that you never would have thought of. You can make that possible by making it comfortable for them to ask dumb questions/ because one of the points that the junior developers needed was to make them questions welcome. When we do that, then the important questions get asked. SNUGGS: Also they prevent themselves from becoming big mistakes because we want to coddle the junior developers because we think they’re going to make big mistakes. But clearly from that statement earlier, they’re self-aware that they know that a dumb question can easily turn into a big mistake. They’re asked — JESSICA: You mean, if they don’t ask it? SNUGGS: Uhm-mm, so they know that already. They’re just asking the seniors to be accountable and have an open space for them to ask those questions. I will have two takeaways. One, I think that Astrid actually has a little New Yorker in her. She’s not from New York. I really enjoy people who pull no punches and they’re very direct. But they actually have a humble way of saying things that are very serious so I appreciate you for that, Astrid and I also — ASTRID: How do you know that? My mom is from Brooklyn. SNUGGS: Really? ASTRID: Yes. SNUGGS: I’m very good at sensing on things. A borderline empath over here for sure. Jessica, what I learned about you is what I enjoyed about Jessica is the minute she finds something cool, it’s like finding My Little Pony sitting on a pot of gold — [Laughter] SNUGGS: See, she reacts to it. JESSICA: With rainbows. SNUGGS: Yes, of course and sprinkles. I challenge you to keep that, Jessica. That will keep you relevant for a very, very long time because not only will you always be open to learn new things, there’s something when a developer sits next to someone and they think is a senior and an all-star, which you are but then they can say, “Wow, she didn’t know and she’s just as excited about this thing as I am and I thought she knew it already.” That’s what we need to help the juniors become seniors. If you teach him good Google-Fu and great psychology and empathy, they’re going to be a great programmer. We don’t have to teach him as much code. We have to teach him more how to deal with other people. I also learned as well that I need to get more Bitcoin. I have two call-to-actions for the listeners and I want you to listen really well. I’d say anyone who’s ever had questions or was interested in Bitcoin, go out and get yourself a dollar’s worth of it. Get $5 worth of it because since we’ve been on this podcast, remember when I said I was happy that Bitcoin hit $1100? JESSICA: Yeah, like won a bet for you? SNUGGS: Yeah, it’s at $1133 now and rising. It’s quadrupled in the past 18 months. It’s very volatile but it’s less volatile than gold. Just throwing that out there. As of six months ago, Bitcoin had been less volatile than gold over the course of four months. That is something really not to stick your stick at. What I usually do with people who have children, I say, “Get yourself $5 worth of Bitcoin from CoinDesk and give that Bitcoin wallet to your kid and just tell them to watch the numbers go up and down.” They will learn more about their own money just by looking at that $5, than they will buy holding stuff in a piggy bank. That’s my little free jewelry right there. Also, I really want to recommend Ruby Together. I was able to bump into Ruby Together, coincidentally in Paris, France and I heard what their mission was. I said, “Oh, yeah. Now, I don’t feel so bad on knocking on these corporations’ doors and asking them where’s the homage to the open source community,” and we’d appreciate the currency that folds, not the currency that jingles, if you can. JESSICA: Oh, Ruby Together. We’re going to have Carina and André on the show really soon so stay tuned. SNUGGS: Awesome. You know, I want to say thank you, ladies for having me on the show. I was elated the moment that I found out I was even going to come on the show and I’m really humbled. I think what you all are doing is great. You’re not just talking about code. Keep it going and you got 100% support coming here from New York City. JESSICA: Thanks. ASTRID: Thank you. JESSICA: Here at Greater Than Code, we are a listener supported podcast and today we would like to give a shout out to one of our patrons, Justin Carver. Thank you, Justin for making Greater Than Code even greater. If you too would like to help us out and join our Patreon and Slack, please visit Patreon.com/GreaterThanCode. If you want to listen to DevPunks follow Snuggs- Oh, you’re snuggsi on Twitter, right? SNUGGS: Yes. I will find you, whoever has the name with same as I and is still a Twitter egg from five years ago. Please may I have my name? JESSICA: How else can people follow you? SNUGGS: I’d say, people can follow me on Twitter @snuggsi. If you’re ever in New York City area, come and holler at us at NYC.rb or if you’re going to the Node.js Meetups, that’s cool. Or you can catch me in France eating a croissant, just ask the Ruby Together folks. JESSICA: Great. ASTRID: Thank you so much for coming on the show today, Snuggs and thank you everybody. We’ll see you next week.