Darin started his developer career as an intern. Now he works as a Senior Engineer at Wistia! This his advice for  new programmers considering an internship or junior developer position. We also delve into what companies look for in new programmers and if you really need the experience threshold before applying.

  • Listen on Spotify (links coming once processed/available)
  • Listen on Apple Podcasts (links coming once processed/available)
  • Listen on Google Podcast (links coming once processed/available)

Transcript

Alex Booker:
Hello coders, welcome to the Scrimba Podcast. On this weekly show I speak with successful devs about their advice on learning to code and getting your first developer job. My guest today is Darin Doria, who is a senior front end engineer at a company called Wistia, and a part-time YouTuber. I am super excited to bring you this episode because for a while now I've wanted to bring on a senior dev to chat about what they look for in new developers when filtering down candidates for a junior or intern position. This is kind of like an insider's perspective so you have some idea about what to expect.

Alex Booker:
I also challenged Darin and asked him questions like if he were a junior dev, what kind of things would he look for in a company? Because often when you are a junior dev, you sometimes feel grateful for the opportunity, which is fine, but you're awesome as well, and an interview should be a two way conversation. Personally, I feel like the best scenario is one where you earn to learn and have ample growth opportunities. Darin and I discuss that in a bit, but for now, let's gets into it. Hey Darin, welcome to the Scrimba podcast. It's so great to have you.

Darin Doria:
Thanks for having me. Glad to be here.

Alex Booker:
You started off your career, I think, as an intern, working as a developer. Can you tell us what an intern is and how it's different from a junior dev?

Darin Doria:
This is a great question. It's hard to differentiate from the outside if you haven't either worked as a junior or an intern position. The way I'd like to categorize it, and this might vary from company to company, is when you're looking at it from the point of an employer, when you're hiring an intern, there's the expectation of there's more mentorship involved. So you expect somebody who's coming into not have as much knowledge, maybe just know the core principles of coding. Maybe just the syntax and how to write a for loop, that sort of stuff, but there's the expectation that they're going to need a lot of handholding early on and a lot of resources from either one or multiple devs on the team to bring that person up to speed.

Darin Doria:
Whereas with a junior, there's more expectation that they will actually contribute to projects earlier on in their onboarding, and of course there's still going to be devs helping them out, but it will be way less hand-holding, more distant coaching, maybe more pair programming, maybe not as longer sessions, I'd say. And I think that the big one too is probably the pay. Interns, I think, just still get paid. They're probably going to be paid on an hourly basis because most of them are in school. Whereas a junior, that person is expecting a full-time salary. That is their job. They're doing that full-time

Alex Booker:
Do you have an opinion about which is maybe better to pursue. Often when I've heard about internships, it's normally for people coming out of the computer science roots, through the university, they'll often find internships. A lot of people listening, I think, are self-taught and perhaps aren't coming from that background. Is it worth comparing the two? Should someone consider an internship or would they be better off going the junior developer route, do you think?

Darin Doria:
I don't like tying the idea of an intern being a student. You don't really need that requirement. There are certain cases where maybe an internship, or I think a better way to phrase it as an apprenticeship, because there's a expectation where you will be shadowing someone. So for someone in school, definitely an internship is probably the better out, because you can work hourly and you can focus on your studies. Most people who come out of a boot camp for example, or are self-taught, they're trying to make some sort of income fairly quickly. They most likely made a career shift or they have bills to pay. For them, an internship or an hourly role that may not have the same benefits of a full-time salary just isn't going to cut it. But I'd say if that is something that you don't need right away and you can maybe put off for a little bit, it can probably still be a great learning experience if you can find an internship at a company who has a framework around their internship program.

Alex Booker:
It sounds like you had a very positive and successful experience as an intern. I actually want to point out that you've made a YouTube video talking about your whole experience getting the internship, doing the test project, and more. So we'll put a link to that in the show notes for anybody to check it out. I highly recommend it. What you told me is that after that internship, you had such a positive experience you actually wanted to play a part mentoring the next batch of interns. So you got to help newer developers find success in their own career. And I think that's a super interesting vantage point. What do you think separates the successful interns from the, shall we say, not so successful interns?

Darin Doria:
For me, the biggest thing actually wasn't the coding or technical abilities. The biggest things were the ability to learn quickly. Those are the things I would always look for. Because again, when you're hiring an intern on board, I don't expect interns to know very much. That's not an expectation that I have bringing someone on board. What I'm looking for is someone who's eager to learn, that can learn quickly and pick up topics fairly quickly and displays other very simple characteristics, things that you don't have to have technical skills to be good at, like showing up to work on time and just being present, knowing when to ask for help, and being good at communication. Those sorts of things are the things that really separate an average intern from someone who's really great.

Alex Booker:
I definitely anticipate a lot of people being surprised. They're like, "Hey man, I thought to get a good coding job I just had to be a good coder," but it's something that comes up over and over again in interviews on this podcast and books about soft skills is just how important those communication skills are and the ability to collaborate and things like that. What's your take, Darin? What is the importance of communication skills versus coding skills?

Darin Doria:
Anything that you do on the job that isn't the coding skills are usually the more important ones, I'd say, because those are the ones that you can't teach somebody. You can teach them sometimes, but they're just way harder. The technical skills anyone can pick up. You can watch a tutorial, you can read a book, but for someone to have good communication and be able to explain complex topics and break them down and have that patience to help other teammates, that is what really makes a developer stand out, and that's really what levels up your career later on. You reach a point where you know almost anything there is to know to a certain degree. You're obviously not going to know everything just because in tech there's always so much new stuff, but you reach a point of diminishing returns, let's say, where there's no point in learning more because you just crowd your head space.

Darin Doria:
So what ends up happening is you end up learning how to learn really quickly so you can pick up new topics on the fly. That's one of the things that, as you get more senior in your career, you pick up and start getting good at. And once you have that skill, really the only thing that's blocking your ceiling from growth is those soft skills, is being able to communicate, being able to work with others seamlessly, helping others. That sort of stuff is what takes your career to the next level and really has no ceiling to how much you can grow.

Alex Booker:
And when you're trying to get your foot in the door in the first place, people are making a character judgment about you based on not necessarily your technical skills, because they matter, right, it's a technical job, but being new to the industry, the expectation isn't always going to be that high. So instead they are going to look to these attributes, like how teachable are you? Are you humble? You're eager to learn. How hard working are you?

Darin Doria:
I think the tech industry as a whole puts emphasis on is whenever you're doing a junior developer or any other developer role, they place so much emphasis on those technical skills in the interview process, it kind of makes them seem they're more important than those other skills we talked about. I don't think they put as much emphasis on in the interview process, and like I said, that's what's going to really help you out in your career later on.

Alex Booker:
Do you have any advice about how to improve those soft skills before you actually get the job?

Darin Doria:
Man, that's a good question.

Alex Booker:
It's tough, right?

Darin Doria:
Most of those things come from working with others. If you're just in your room coding all day, trying to learn how to code, you're not going to be able to develop those. So I'd say any experience in the workforce, just having any sort of job is going to start building up those skills. Any job that you have to work with others at all, and it doesn't have to be a business or corporate job. When I started out, before I got my internship, I worked at a retail store and I worked at a clothing store and a bookstore. I didn't know it at the time, but just working with others and collaborating in that environment, I didn't think would matter much to my career, but those are definitely building blocks for working with others, like being humble. And like I said, I think the biggest thing is just looking out for others and offering help whenever you can. Which, again, isn't a technical skill.

Alex Booker:
That's very encouraging advice because if someone's listening and they have some past experience in a different industry, sometimes it's tempting to feel like you are starting from the very beginning, but actually more of that experience, even though it might seem totally unrelated at times, you can transfer it to improve your opportunity and get a really cool developer job.

Darin Doria:
I think that's what makes certain bootcamp grads so good at their jobs once they land tech jobs, because there's certain adjacent fields that they may have worked in prior, especially if they're very social jobs that they worked in before. Once you picked up those technical skills, you're unstoppable.

Alex Booker:
Imagine working as a customer service person and having to deal with angry customers, when a product manager asks you to do something you don't want to do, probably your patience is way beyond that. You're just much more robust to these kinds of situations.

Darin Doria:
Yeah. And usually someone who's worked with customers is good at working with others and working with their coworkers as well. Like you said, they have that patience, so it works wonders how much that gets you in your career.

Alex Booker:
If you are enjoying this episode of the Scrimba podcast, please do us at Scrimba a favor and recommend this episode or the podcast to your friends. Word of mouth is the single best way to support a podcast that you like, so thanks in advance. Next week on the Scrimba podcast, Erik Hanchett, AKA Program with Erik on YouTube, talks candidly and inspiringly about his coding journey from really grinding and tanking rejections at the early days of his career to now thriving and working as a front end engineer at Amazon Web Services, offering a published book on Vue.js, and running a YouTube channel with almost 100,000 subscribers.

Erik Hanchett:
One of my first techs job, it was an all day interview, and I remember being so nervous just going through one white boarding interview after another, and then halfway through the day they took me to lunch. I'm sitting there, everybody's talking around me, nobody's talking to me. I literally knew at that point, maybe this interview isn't going very well. And I think the last interview of the day was HR, and they were asking me questions about what I worked on in school. And I told them, "Oh, I worked on this project." Like, "Oh really? You're the person that... I didn't think you worked on that project." I'm like, "Yeah, yeah. I worked on this project." But they were a little dismissive of me. So I went home like, "Oh my gosh." This was my dream job out of school. I thought this could have been the job that propelled me in.

Erik Hanchett:
Probably three weeks later they finally said I didn't get it and I was crushed. And I took that as my first rejection, first time trying to get a job and just fuel of like, "Okay, why didn't I do well?" And I wrote down in a notebook all the things, all the different parts of the interviews, the questions I was asked, so I understood how to answer them correctly in the future. And then I took this approach at the time of just trying to get better at interviewing. My idea was let's go out there, interview with places, get better at interviewing, get better at rejection, because it doesn't reflect anything on you personally. You should never take it personally. It's just something that happens. It's a skill that you need to get better at.

Alex Booker:
That's next Tuesday on the Scrimba Podcast, so make sure you subscribe to see it in your feed and support the podcast. Back to the interview with Darin. Say I'm a junior developer looking for a job as a company. What kind of things should they be looking out for?

Darin Doria:
If it's your first job, you want a place that has a history of hiring junior, that's going to know how to work with junior developers. Because again, that's a time commitment from the company's perspective. A company hiring specifically a junior role is signaling that we know we're hiring someone in an entry level position, and we're willing to put the time in to help bring you up to speed and level you up in your career. There's that mutual understanding right from the start that, "Hey, I'm going to contribute. I'm going to write some code and I'm going to work on this product or what have you. But I'm also in return receiving not only a paycheck, but that mentorship and that guidance from other developers on the team."

Darin Doria:
Whereas there's other jobs that put out entry level roles just to signal that they're paying less, maybe, but they expect someone's going to hit the ground running and start working on everything from day one, when that's just not the case and it's misleading and it ends up hurting that junior developer that's applying for that job. So I'd say when you're in your interview process, if it's a bigger company, usually that's a signal they're going to have more devs, they're going to have more resources to put. But if you're able to hit the interview process, one of the questions I'd ask is what sort of framework to have in place to help their junior developers succeed?

Alex Booker:
I think people should take note of that. Often in the interview you get opportunity to ask some questions. People sometimes forget that an interview is a mutual thing. It's not just them evaluating you. You have an opportunity to see if it'll be a good fit between you. That's very important to remember. What is your take on so many junior developer positions advertising looking for something like three or four, even two or three years experience? Is this quite dangerous or something because they're probably looking for someone more experienced, they're maybe looking to offer them at junior rates salary? Why do companies do this? It's quite shocking at times. It's hard to understand is what I mean.

Darin Doria:
I'd say the anything over two years, it's weird for a junior position, because again, if you've had two years to work at a company and develop those skills, you're probably just veering more towards out of that junior phase. So anything more than that, it's kind of unrealistic to be like, "Oh, you're still a junior dev." Not all time at a company is equal in that sense. For example, two years at a startup, at a small startup where you work with a close team and you're able to jump between roles, you're going to gain experience way faster just by the very needs of the company and working on more things. Probably more mission critical things. Versus you working at a very large company or they have you taking small tasks after small task and you're increasing in skill very slowly, very incrementally versus at a startup you're just pushed into the deep end, if you will, and it's sink or swim. You're going to have to all learn that and it's really going to stretch and pull you to grow.

Darin Doria:
But I think it's pretty safe to say after two years at a company, you're already out of that junior phase. Most of the time, at some of these bigger companies, the people that are writing the job posts may not be the people that are doing the interviews for them, that are actually conducting the interviews. Sometimes they have a separate hiring department that's in charge of writing those and they just missed the mark on the amount of years, or they just default to three to five years or five years experience, which again hurts their chances of getting more candidates. That's one thing to keep in mind when you're applying. If you think you fit the bill, you can just apply anyway, there's no hurt in doing that. Submit your application. If you get a no, then okay, then you can move on. But there's no hurt in trying.

Alex Booker:
It's hard, isn't it? Measuring experience is hard to be objective, and what most recruiters or teams are doing is shortlisting effectively. So they resort on arbitrary things like years experience, but time doesn't necessarily correlate to experience. You could have a much more intense experience like you described, and it doesn't apply to the individual anyway. I completely agree with you Darin. If you meet or you feel like you'd be a good fit for it, just apply. And yeah, what's the worst they can do? Say no?

Darin Doria:
Yeah. You already don't have the job. If you apply and you get a no, then you still don't have the jobs. So nothing lost.

Alex Booker:
Right now you work as a senior developer at Wistia on the player component, which is a sick product, by the way. I've used the previous company working on a project. What should junior developers know about senior developers? What's the difference between them? Are they scary? What should people know?

Darin Doria:
I think ideally once you hit the senior developer title, if you will, not only have you developed those technical skills where you're writing code and you're able to read and understand code and maybe working on features back to back, you're usually a little more independent. So you're able to work on projects earlier on and help out roadmap and estimate how long things will take, and maybe a little bit of architecture and early input on projects, which again, that just comes from experience like, "Oh, I've worked on something similar to that, actually. That's going to take about four weeks for me to build out, test, and deploy." Then there is the set of skills where you're usually able to help others out. There's an inherent expectation where you're helping devs with less experience come up to speed, so there's that mentorship aspect, that pair programming aspect, where you're helping on calls with others, you're unblocking other folks, or you're probably diving into bugs that are a little bit more nuanced and will take a little bit more time for you to debug.

Darin Doria:
So that's the realm of things outside of just being a developer that probably bring you up into the senior developer role. The biggest thing for me that really make you good at that role is the soft skills like the communication, with not only folks on the engineering team, but folks in other departments. Communication with customer support, communication with the product and design teams. Because the more you can help out and share that engineering knowledge with others, you're just going to help the organization in huge ways that you don't see in the moment. And really hitting that senior role is like... It's something that just happens. You never hit a point where it's like, "Now you're senior. Now you do all of these things." It's more or less you've developed into this role where you're able to do these things now, and therefore you're given the senior title, if that makes sense. At least that's the way it's happened to me in my career and the way I've seen it happen to other people.

Alex Booker:
That's awesome. I think it'd be cool one day in the future to have you back on the podcast and talk about that transition. Who knows, maybe by then someone listening to this original episode will be a little bit closer to that experience. You do have a computer science degree, right, Darin?

Darin Doria:
Yeah.

Alex Booker:
What do you think? How important is it to have a computer science degree in 2021?

Darin Doria:
You definitely don't need it to get a job. I think that's the short answer. You don't need it to get a job as a developer. It doesn't prove that you know more about development than any other software developer. So go through a computer science degree if that's something you want personally for yourself. At least for me, I've always leaned more on the academic side and going through that traditional route. So for me, that was just a very natural progression. That's always the way I saw things going for me. But with that said, I've worked with several people who don't have degrees, and I actually couldn't tell you my team right now, or with people who I've worked with in the past three or four years who actually has degrees, because no one asked that, no one really cares. It's not even something that comes up as a subject. In that sense it's actually very comforting if you're looking at making a shift into the industry.

Alex Booker:
You've made two huge insights I've got from this call, I think. The first one you said about, if you've had two years of experience, you're probably basically beyond a junior dev already. And you're spot on, when you join a startup or a technology company and you got your first day on the job, people aren't like, "Hey, what school did you go to." That's not the culture at all. It never ever comes up.

Darin Doria:
The only fields that that would be more leaning towards a degree would probably be those that focus more on research. So I think early on at the top companies like Google or have you, they were hiring certain fields for machine learning and AI, but they were hiring masters and doctorates in computer science and people who had really focused years and years of research into these fields. So nowadays that sort of tech is more accessible. These days you're seeing AI in everything. That's because there's APIs now to add AI to your product. Again, there always be very specific fields, but just for the general, front end backend software developer, or maybe mobile, iOS, or Android dev, you can break into those fields without that degree.

Alex Booker:
Darin, you started a YouTube channel towards the end of last year. Can you tell us a bit about it? Your motivation behind starting it and what kind of videos you're making? I'd love it if people check it out, basically.

Darin Doria:
I started the channel because mainly I've always liked to working with video and just video recording and editing process to that degree. There's a few videos that I've seen that have inspired me to share that knowledge, and I've been wanting to share projects and updates on stuff that I'm working on maybe outside of work, and I've been meaning to do that in a written blog format, but I'm not motivated at all to write most of the time. So I find making videos is just a way easier outlet for me.

Alex Booker:
You got some cool videos, one about tracing in React, number animation like the Robinhood app. I've watched those. It's a very cool, satisfying animation to achieve. You've got some videos on VS Code extensions and there's a small overlap between what you can teach on YouTube and what you can teach on Scrimba, but the thing that's cool about YouTube is that you have a video, a code with me video, a time-lapse of music and stuff, so if you're in a slump or you wants to feel extra productive, you can play that and code along with Darin, and it's a really satisfying video to watch. I'll put a link in the show notes.

Darin Doria:
Awesome. Some of those videos have helped me get out of slumps and feel a bit inspired to work on personal projects. That was the goal with those sorts of videos.

Alex Booker:
Darin, thank you so much for coming on the podcast.

Darin Doria:
Thanks, Alex, for having me. Appreciate it.

Alex Booker:
That was Darin Doria, a senior engineer at Wistia and part-time YouTuber. You can bet there's a link to Darin's YouTube channel in the show notes. I highly recommend you check it out and subscribe if you haven't already. Coming up next time on the Scrimba Podcast, Erik Hanchett joins me to talk about his advice for junior programmers in 2021, based on everything he's learned. Make sure you subscribe so you see it in your feed and support the Scrimba Podcast. This episode was edited by [inaudible 00:23:16], and I'm your host, Alex Booker. You can follow me on Twitter @BookerCodes, where I share highlights from the podcast and other news by Scrimba. See you next week.