React Native Radio

RNR 194 - React Native for Junior Developers (and Virtual Coffee) w/ Bekah Hawrot Weigel

Episode Summary

In this episode, we are joined by Bekah Hawrot Weigel, founder of Virtual Coffee. We talk about the challenges that junior developers face in the industry as well as React Native specifically.

Episode Notes

This episode brought to you by Infinite Red! Infinite Red is a premier React Native design and development agency located in the USA. With five years of React Native experience and deep roots in the React Native community (hosts of Chain React and the React Native Newsletter), Infinite Red is the best choice for your next React Native app.

Helpful Links: 

  1. Flatiron
  2. Epicodus
  3. Concordia Bootcamp
  4. Virtual Coffee

Connect With Us!

  1. React Native Radio: @ReactNativeRdio
  2. Bekah - @BekahHW
  3. Harris -  @nomadicspoon
  4. Jamon - @jamonholmgren
  5. Robin - @robin_heinze

Episode Transcription

Jamon Holmgren:

Hey, everyone. Welcome to the React Native Radio Podcast where we explore React Native together. I'm your host, founder and CTO of Infinite Red, Jamon Holmgren. I'm on the React Native core team and also primary maintainer of MobX-State-Tree. I'm joined today by my two marvelous co-hosts, Robin and Harris, Adhithi is not here today, as well as our guest host Bekah who I'll introduce in a second.

 

Jamon Holmgren:

Robin is a senior software engineer located in Portland, Oregon, works at Infinite Red specializing in React Native and podcasting. What's up, Robin?

 

Robin Heinze:

Oh, not much, Jamon. Just waking up still.

 

Jamon Holmgren:

You and me both as evidenced by how many times I've had to redo this. Harris is a coding instructor at Concordia Bootcamp in Montreal and a React Native contractor. I would say where he lives, but as usual it has changed recently. Where are you at now?

 

Harris Robin Kalash:

I'm just back in Vancouver. It's nice, so same time zone as you guys and waking up as well.

 

Jamon Holmgren:

Yeah. Vancouver is awesome. We were up there a couple years ago. Actually, more in Victoria area. I think that's a little west of you, right?

 

Harris Robin Kalash:

Yeah. Vancouver Island. Yeah. It's beautiful.

 

Robin Heinze:

I'd love to go there once the world opens up again.

 

Jamon Holmgren:

It's such a beautiful city and just like walkable and we took a tour in one of those horse-drawn open carriages around the city. It was just really fun.

 

Harris Robin Kalash:

Highly recommended. I fell in love with this city, so.

 

Jamon Holmgren:

So, Bekah is here today. Bekah Hawrot Weigel, she is our guest panelist today. She's the creator and a podcast co-host of Virtual Coffee. She graduated from the Flatiron School Software Engineering Program in 2019, and she has also started a consultancy specializing in front-end development. What she's most well-known for I think is the developer community called Virtual Coffee, which we will be talking about during this episode.

 

Jamon Holmgren:

You see her on Twitter, Slack groups, speaking on podcasts, including of course this one, at conferences. She does all this while being a mom to her four kids. Prior to tech she spent 10 years teaching college English, three years organizing events and community. That actually shows a lot based on what you do, Bekah, and embraces being a writer of many genres, code, non-fiction, screenplay, poetry, curriculum, and I wish you had written my script for this podcast, because it would have gone a lot better than this. How are you doing, Bekah?

 

Bekah Hawrot Weigel:

I am doing okay. I am not waking up, because I am in Ohio. So, I am mid-day and ready to go.

 

Jamon Holmgren:

How is the future anyway? It's only a few hours but-

 

Bekah Hawrot Weigel:

It's nice and bright. It's very, very happy here.

 

Jamon Holmgren:

I like it. I wouldn't have thought of Ohio as a destination place, but now it sounds like one.

 

Bekah Hawrot Weigel:

I mean right. We have carriages and trolleys downtown, so you can come right around Steubenville if you want.

 

Jamon Holmgren:

Nice.

 

Robin Heinze:

Sounds good.

 

Jamon Holmgren:

Nice. Yeah.

 

Bekah Hawrot Weigel:

Major destination.

 

Jamon Holmgren:

Might have to stop by at some point. This episode is sponsored by Infinite Red. Infinite Red is a premier React Native design and development agency located fully remote in the USA and Canada. We have years of React Native experience. We've been doing it since it was released in 2015. We have deep roots in the React Native community.

 

Jamon Holmgren:

We also publish the React Native newsletter, do the Chain React conference when it's not a COVID year. We do all kinds of things. Of course, this, the podcast. Hit us up hello@infinite.red. You can email me directly, Jamon@infinite.red. Learn more on our website infinite.red/reactnative. Don't forget to mention that you heard about us through the React Native Radio Podcast.

 

Jamon Holmgren:

All right. Let's get into our topic for today. So, today is not an interview show, although Bekah's here and we're going to be picking her brain as usual, but it is more of a roundtable discussion and the topic is React Native for junior developers. Now, this could be for people new to the industry who would be traditionally called junior developers or it could be someone who maybe is in some other technology who's just interested in coming into React Native. We're going to talk about both of those aspects.

 

Jamon Holmgren:

So, I'm going to facilitate the panel discussion here. I, of course, was a junior at one point, and I have taught junior developers. That's when I started my business in 2005. I taught several developers to code way back then, and some of them are still with me to this day. So, that's kind of fun.

 

Robin Heinze:

I don't think they're juniors anymore though.

 

Jamon Holmgren:

They're not juniors anymore. No. They get a little hostile when I call them a junior developer for some reason.

 

Robin Heinze:

Jamon, are you sure you were ever a junior? I'm pretty sure you were born a senior developer.

 

Jamon Holmgren:

Yes. I was a junior developer at one point. Are you really going to spur an old time discussion here?

 

Robin Heinze:

Oh, I better not.

 

Jamon Holmgren:

Yeah. You better not.

 

Robin Heinze:

That could take the whole podcast.

 

Jamon Holmgren:

I'll just say my dad taught me my first bit of code, which was… It wasn't really code, but it was like CD/games. We had a folder in DOS called games.

 

Robin Heinze:

And then you were a senior after that.

 

Jamon Holmgren:

Yeah. Well, I knew everything there was to know. Yeah. No. I was definitely a junior for many years, but obviously I coded. Any time you kind of move into a new technology you feel like a junior for a while, and so I've had my moments there too, and I still do, really, that's why I love doing this podcast, because I learn every single time more about this.

 

Jamon Holmgren:

So, let me talk really quickly about where you all are coming from, so that people listening to the podcast kind of have an understanding. Robin is a code school graduate, went to Epicodus in Portland, which is a great code school in the Portland area. I've actually interacted with them before I've even had interns from them way back in the day.

 

Jamon Holmgren:

Harris is a code school instructor as well as I mentioned in the intro, Concordia Bootcamps in Montreal. He just finished a cohort a… It what was like two months ago or something like that. Bekah is a code school graduate as well from Flatiron. I've heard really good things about Flatiron and all of you are involved in instructing and courses and various other things over time, so I think you bring a unique perspective to this.

 

Harris Robin Kalash:

I just want to add, I also graduated from a code school, so.

 

Jamon Holmgren:

Which one was it, Harris?

 

Harris Robin Kalash:

Fullstack Academy in New York. I believe it's not far from Flatiron.

 

Bekah Hawrot Weigel:

I did the online bootcamp, so they had campuses, various places, but I was doing it from my couch.

 

Harris Robin Kalash:

Oh couch.

 

Robin Heinze:

That's the way to do it. I'd tell you.

 

Jamon Holmgren:

Yeah. I've had friends go to Lambda, and I've heard of people having good experiences with Flatiron and all of these different bootcamps. There are some bootcamps that have had poorer reputations too, but I really liked seeing this explosion of bootcamps because it makes it more accessible for people to come into the industry. It felt like when I was getting into the industry that the only real way to get into it was to go to school and get a CS degree, which is fine.

 

Jamon Holmgren:

It's still a valid way to go about it, but it's quite expensive and it takes quite a while for four years usually. So, this kind of just makes it more accessible to everybody. But let's talk about the challenges that junior developers face specifically around React Native, because we are React Native Radio here. I'm going to start with actually, Robin. I'm going to start with you. I'm going to pick on you to start with, what do you think are kind of some of the first things that when you were coming into the coding world, in general, but then also React Native that felt like challenges to you?

 

Robin Heinze:

Well, with React Native specifically, for one, I was coming from a platform like a server background, and so I'd never done any sort of UI programming and JSX kind of threw me for a loop. I was like, "What is this? What am I writing? What is this language? Am I writing JavaScript? Is this like am I writing React? What is this?"

 

Robin Heinze:

So, that threw me a little bit until I sort of got used to it, and then also coming from the Ruby on Rails world, which is very… I don't know what the best word is. It's very like prescribed. There's generally a way, an accepted way to do pretty much everything. Everyone uses Active Record for state management. Everyone uses devise for authentication. There's just a way to do everything, and you get into React Native, and it's pretty much the Wild West, and you're trying to learn Redux and/or MobX-State-tree or whatever, and there's everyone seems to do it slightly differently or use a different tool. It's just a little bit harder to learn like the one way.

 

Jamon Holmgren:

Why do juniors look for the one way? What's sort of the mentality behind that?

 

Robin Heinze:

When there's too many ways out there, because you're just trying to learn how to produce something and when there's too many ways to do it, you can get lost, and it's just confusing, and you don't know what way to go or what to do or what's right and what's going to work.

 

Jamon Holmgren:

So, you really don't have like a spidey sense of this feels right or this feels wrong, they all feel kind of equally valid, even the wrong ways at that point?

 

Robin Heinze:

Yeah. You feel like you never know when you're going to step on a land mine, because you don't know what's reputable and-

 

Jamon Holmgren:

It's certainly different now. When you're working… Robin, when you're working on an app, you'll go down a path and you'll start kind of getting this feeling like I'm doing something wrong here, right?

 

Robin Heinze:

Yeah.

 

Jamon Holmgren:

That kind of becomes then-

 

Robin Heinze:

The spidey sense is a good word for it.

 

Jamon Holmgren:

Exactly. Yeah. So, Harris, like this reaching for a library thing, is that kind of how you learned as well? You kind of started with libraries or did you start with really basic like low-level language stuff?

 

Harris Robin Kalash:

I remember when I was at my bootcamp, we did some basic low-level stuff for only a week or two, then we dove right into it, so started with NodeJS Angular like the mean stack. That was a big thing at the time. It was a good marketing thing to learn the mean stack.

 

Bekah Hawrot Weigel:

No. I don't want to learn the mean stack. I want to learn the nice-

 

Jamon Holmgren:

The kind stack.

 

Harris Robin Kalash:

Yeah.

 

Jamon Holmgren:

Kubernetes has to be part of the kind stack.

 

Harris Robin Kalash:

Yes. So, we dove right into it, and to be honest with you, there was a lot of times where, especially in Angular 1.1 at the time, I was just doing stuff without really understanding what was going on. Two-way data binding, like just a lot of copy-pasting of code, but it's mostly through the struggles of like importing code that I didn't really understand, and then it's not working that I learned, so I guess in a way...

 

Robin Heinze:

If it's not working and you don't understand it, it can be quite a difficult situation to get out of.

 

Harris Robin Kalash:

Oh, yeah. I think that's how most of my learning at the time came just from struggling through that, so.

 

Jamon Holmgren:

Yeah. That makes sense. Bekah, when you went through the bootcamp, did you find that the types of things that you were taught applied pretty directly to things you've had to do as a professional afterward? How much of it has been kind of directly applicable and how much of it has been like, "Ah, that was kind of just learning to learn and not really giving me practical?"

 

Bekah Hawrot Weigel:

Funny that you asked that. We're doing a panel with Collab Lab and Protege.dev March 4th I think. We'll have it on YouTube afterwards, but it's talking about that kind of exact thing. The issue with juniors in tech and they had a really solid Rails and Ruby curriculum, and you can tell that a lot of love was put into that by the person who did it, and then the front end. It just felt very kind of rushed through and go do these things, and I think when we're thinking about like the practical tools and the things that you should learn, a lot of that stuff you just miss out on because a lot of it's like collaborating, communicating, asking questions, doing pull requests, and things like that.

 

Bekah Hawrot Weigel:

There's not that much going on if you're working in a self-paced program, because you're working mostly by yourself, and then you come out and someone's like, "Here's our code base." And you're like, "Wow. There's more files that I've ever seen in my life." So, it's like tackling those problems of how do I communicate this, should I be communicating this? That really I think took me a while to wrap my head around in order to be able to grow, because I just wasn't sure where you "should" be at that point. Should in quotes.

 

Robin Heinze:

Yeah. I think one of the absolute most valuable things that my bootcamp taught us is how to use Git from the very beginning. Every single exercise we were doing, we were partnered up and we were committing, we were like using GitHub. We were sort of doing those hands-on practical skills that have nothing to do with a technical stack or a framework, and those can be really overlooked, but also really, really crucial.

 

Jamon Holmgren:

Yeah. Speaking of that, I sort of feel like those of us in the industry have been in it for a while, probably refer to tools like you probably already know them, and you may not. Just start talking about, well, if you just throw together a pull request or even just send me a patch, and I'll apply it to the history.

 

Robin Heinze:

It's like Greek.

 

Jamon Holmgren:

Yeah. That's got to be kind of intimidating I'd assume.

 

Bekah Hawrot Weigel:

The first time I had to do a pull request for work, I think it was maybe my third pull request ever. You can submit a pull request, I'm like, "Am I allowed to ask how to submit a pull request because I should know this, right?"

 

Jamon Holmgren:

That's a good question. If you're giving… So, a lot of juniors will probably be listening to this podcast. If you're giving advice about that situation to years ago, Bekah, who's dealing with this, what would you say?

 

Bekah Hawrot Weigel:

I am 100% in favor of over communicating. I think that you grow the most when you are able to do that, and there's certainly something to be said for looking for answers. So, definitely go down that road, but don't be afraid to ask questions, because it just takes a while to get the feel for how to communicate in that situation and once, the more questions you ask, the easier it will be for you to get the feel of what makes everybody comfortable and how this becomes a really productive and happy working relationship.

 

Robin Heinze:

I would definitely say take advantage of being a junior. I think I milked my junior status for as long as I could, because you can get away with asking. Not that you shouldn't ask questions like even as a senior, but as a junior, I felt so much more comfortable being like, "I'm so new to this, can you walk me through this really quick?" Or like ask all the questions, and you can also feel like you can be forgiven for all of your bugs too, which is nice.

 

Harris Robin Kalash:

That's good, but I do notice that a lot of juniors, especially new bootcamp grads, they have a huge amount of imposter syndrome which prevents them from comfortably asking questions like that. So, it's good that you're able to do that, but actually that's one thing I think we should help people with, especially if they're junior, not to feel like imposters or they should know something and whatnot, because a lot of people just are afraid to ask that.

 

Jamon Holmgren:

Yeah. Let's talk about imposter syndrome a bit. Obviously, well, first off, where does it come from? What exactly kind of causes people to feel like they don't belong?

 

Bekah Hawrot Weigel:

It's funny that this came up because I'm doing a lightning talk and it's in my talk, and so I like have my notes already up, because I was working on it.

 

Jamon Holmgren:

Nice.

 

Bekah Hawrot Weigel:

The idea of imposter syndrome is feeling like a fraud, and it's asking yourself those questions. It's not whether or not you are able to be here, it is whether or not you're questioning, do you deserve this opportunity? Do you deserve this treatment or promotion or acknowledgement, right? And so there's something, there's fear that feeds into that.

 

Bekah Hawrot Weigel:

I think for a lot of boot camp grads especially who are career changers, there's a big shift in what you're doing. I went from leading a classroom and answering all the questions for 10 years to being that person that was the student, who is now learning. So, not only was it a shift in my role, it's a shift in my career, and so there's this whole wrapping your brain around it, and this idea that you have to achieve something and what achievement looks like.

 

Bekah Hawrot Weigel:

And so I think reframing what that is, achievement can be asking a question. It doesn't have to be completing the issue. Then, that can kind of change the way that we perceive imposter syndrome and get over it.

 

Jamon Holmgren:

Yeah. I love that. Yeah. By the way I feel like for every topic that we'll talk about, Bekah has some sort of upcoming panel or talk about. So, this is great. It's going to be a wealth of knowledge. Hopefully, we can get some links from you to put into the show notes. All right, but talking about that fear, I think that's a real thing that I've seen, for sure, certainly, and it's kind of tied up a little bit in sense of self-worth as well.

 

Jamon Holmgren:

One of the things that I like to do is assign value in different places rather than just like maybe where the junior feels like it should be, which is did I ship this perfect piece of code from heaven to production in zero time and with zero defects? I like assigning value more to the curiosity part and to the perseverance part and to those types of things where it's more along about the journey and how you approach it than the actual result. Obviously, the result matters and eventually you need to get a result out there, but I know for myself when I was learning, just having that curiosity and being able to kind of power through, and okay, I'm going to get through this.

 

Jamon Holmgren:

That gave me a lot of confidence later that I could learn anything, and I could do anything in the software space. Maybe some of it was even overconfidence for me, because it was like if I could figure this out with no internet, then I could probably figure it out with the internet type of thing. But, yeah, I think just shifting where that value sense of self-value comes from has an impact.

 

Harris Robin Kalash:

Yeah. For sure.

 

Jamon Holmgren:

So, what sort of misconceptions do juniors have often when they come into the software industry? I'm going to pick on Harris here. What do you see from your instructing? When you're instructing your boot camps, do you see misconceptions that tend to come up more often? Do they tend to be more kind of individualized? What do you see on that end?

 

Harris Robin Kalash:

Yeah. That's a great question. I mean there's a lot of misconceptions. I probably won't be able to even name half of them, but, yeah. I think a lot of people coming into it, especially at Concordia Bootcamp specifically because it is tied to a university. They tend, in my case, and this is not the case for all bootcamps, but they tend to expect a traditional university experience, and they tend to expect maybe more like math and more stuff like that, whereas like-

 

Robin Heinze:

Algorithms and-

 

Harris Robin Kalash:

Yeah. Exactly.

 

Robin Heinze:

Hardcore like hacker, like the hacker kind of code.

 

Harris Robin Kalash:

Exactly. Yeah. That's-

 

Robin Heinze:

You're just like writing a whole bunch of lines of code at one time and-

 

Harris Robin Kalash:

Yeah. That's kind of their expectation, and then when they get into it and they realize that, actually, what we're really teaching them is how to ask the right questions. Literally how to Google. That's part of the… When I was teaching, I used to say that in my lecture, like I want to improve your Google foo skills. That's a big part of why you're here and even when we get on one-on-ones, and they have a question.

 

Harris Robin Kalash:

I actually walk them through googling it, and a lot of them don't expect that. That it's just like literally figuring out how to ask the right question, just trying stuff, and it's much more practical than I guess they would assume. So, that's a big one. Also, a lot of people like maybe, and that maybe ties in with imposter syndrome, where in a bootcamp, the goal is sort of to get you on your feet, so that you can be independent and learn on your own.

 

Harris Robin Kalash:

So, sometimes those expectations are not aligned with the students, because the students come in and they think that, or at least they might feel that they have to learn an entire computer science degree in like 12 weeks, but actually, no, that's not the case. Actually, the bootcamp is literally just to get you on your feet, and if we can do that and from there your learning can be…

 

Harris Robin Kalash:

So the way I like to think about it is in a boot camp, you're in an environment where you can fail until it is no longer productive to fail, right? So, once it is no longer productive to fail that's where we step in, but it's an environment where you're supposed to fail and the goal is that when you leave the boot camp, those intervals of failing are shorter, so you don't get discouraged.

 

Jamon Holmgren:

I love that. Yeah. That's great.

 

Robin Heinze:

Going back to what you first said about sort of googling and not needing to know everything. I think thinking that the more senior developers around you just know everything is probably, was definitely one of my biggest misconceptions. I kind of assumed that I was this junior that didn't know anything and everyone around me knew everything and never had to look up any syntax and never had to google anything, and the fact that I was still needing to google things and still needing to remember like, "Oh, what's the syntax for this?"

 

Robin Heinze:

That I was so far behind and would never be good at this, which is just not true. All the best programmers I know still look up. They reference the docs for syntax, and they google how to do things. That can definitely fuel imposter syndrome, especially at the beginning, because if you think that the place that you're trying to get is super unattainable, you'll always feel like you don't belong, but seniors will google until the day they retire. That's-

 

Harris Robin Kalash:

Yeah. Absolutely.

 

Robin Heinze:

That's just how to program.

 

Jamon Holmgren:

It is, and I feel like that's one of the things that really what I got better at as I progressed in my career was recognizing which of the links on Google were probably going to yield fruit rather than having to go from one, two, three, four-

 

Robin Heinze:

It's that spidey sense.

 

Jamon Holmgren:

Yeah. There's that spidey sense, but it's not so much that we're not googling, nobody can memorize.

 

Robin Heinze:

You get better at googling but you're still googling. You don't have an encyclopedia of programming knowledge in your head.

 

Jamon Holmgren:

Right. I mean if you were to use the same… I know I mostly can get the filter command or not the filter, the sort algorithm right on the string.

 

Robin Heinze:

I still can't. I have to look it up every time.

 

Jamon Holmgren:

I've just done it so many times that I've kind of memorized it, but even then the other day, I reversed it. I got it backwards, and so it does happen, but it's not like… That's not even a big deal. I don't need to memorize the sort algorithm. That's an easy thing to google. Those aren't the things that trip you up. Often the things that trip you up are… The googlable stuff, you should just let Google remember it. That's your memory, and the rest of it, you're really learning the concepts, and you're really learning, of course, the spidey sense and other things like that, and that just comes with experience.

 

Jamon Holmgren:

I guess, Bekah, since you recently graduated from Flatiron, what misconceptions did you have going into bootcamp?

 

Bekah Hawrot Weigel:

Honestly, when I started bootcamp, I hadn't even really committed to changing careers. I was like, "I'm going down this path. I like it. There's a good community here, so I'm just going to learn and see how it goes." So, for me, it was more of a growing and learning opportunity.

 

Bekah Hawrot Weigel:

I think probably by the time I graduated, it was… So, my bootcamp was self-paced and I did it for a year, and so I worked on it a couple hours every day. I have four kids. I had a baby at that time and was going through some other stuff. And so by the end, it was very much like I think the imposter syndrome set in, because people talk about being job ready, and I'm like, "There is no way I am job ready for anything."

 

Bekah Hawrot Weigel:

That's a big fear, and my husband's a developer too, and so he's like, "Nobody feels ready. Just put it out there that you're looking for work." And I did and I found the job, and I was like, "Oh, well. Well, now, we're going to do this, right?" So, it's just very much an accidental journey into coding I think.

 

Jamon Holmgren:

And I like how Robin said take advantage of being a junior for a while. It's a little bit of a reversed psychology from what we normally think, which is like we have to pretend like we're seniors from the start, but just leaning into that and saying, "I'm in this great sort of almost like a honeymoon period where I can just kind of soak up all the knowledge that I can."

 

Jamon Holmgren:

Honestly, though, I still feel like I can be that way to this day, maybe because I have been in the industry for a while, but I love being able to say, "What did you just do there? That's awesome. That's a cool thing. Show me what you just did. That's really cool." And one of the things that I love to see is Bryan Stearns is the most accomplished and experienced programmer that I know, actually, and he works at Infinite Red, which is awesome.

 

Jamon Holmgren:

He was actually on the show in a recent episode. He is probably the first one to post in our Slack channels and say, "Hey, I learned this new thing. It's really cool." And he has this curiosity, he never stops asking questions. He has no problem asking the newest member of Infinite Red for the most basic questions, and yet he wrote parts of the Macintosh operating system just about.

 

Jamon Holmgren:

He's been involved in all this stuff for many, many years, but I guess seeing that example is really good. Also, my co-founder, Todd Werth, has always been the type to… He loves asking the dumb question as CEO in the meeting. He loves asking the dumb questions. He'll just be like, "Just stop. What does that word even mean? I don't even know what you're talking about."

 

Robin Heinze:

It's kind of an icebreaker, because he's someone-

 

Jamon Holmgren:

It is.

 

Robin Heinze:

… he's someone who has a level of sort of clout and power, and so he doesn't feel like, "Oh, there's a boss watching me. Who's going to judge me for not knowing how to do my job?" And so he kind of gives everyone else permission to ask those questions.

 

Jamon Holmgren:

The other day Todd posted in Slack, who has an hour to teach me what Flexbox is? So, this is the guy, this is a guy that has 25 years of coding experience. He's done big projects in web. He's done big enterprise stuff. He's very accomplished. He hasn't coded for the last five years very, very often, so he's not up to speed on some things, but he was just like, "Hey, anybody, can you teach me some things about Flexbox?"

 

Jamon Holmgren:

I guarantee that a lot of the juniors listening to this show know a lot more about Flexbox than Todd does. They probably know more than I do, because honestly, I focus more on the data side of things. I tend not to be as front end focused. So, there are things that we can learn from everybody and keeping that curiosity all the way throughout your career and putting value on that. Like I said before, having that, the value that you derive as a developer is from your curiosity and your perseverance to get through these things. That's really what is important.

 

Robin Heinze:

So, maybe the advice shouldn't be: milk your junior status. It's: act like you have junior status for your entire career. Don't ever let that go.

 

Jamon Holmgren:

I love it.

 

Bekah Hawrot Weigel:

I think too, part of the challenge for a lot of juniors is they get hired into companies that don't really want juniors. They just want somebody they could pay less, and so then they don't have the opportunities, and I hear such awful stories, firsthand stories of people in those situations, and I think when you're interviewing, that's why it's super important to ask about that. How do you respond to questions? How many questions can I ask or something like that and kind of tying into what you're saying about curiosity and asking these questions.

 

Bekah Hawrot Weigel:

I think some of my biggest learning moments came when I saw more senior people asking each other questions, and then it just like triggered this thing in my brain. Like, "Oh, okay. I can ask questions too, because they're asking each other questions." And so also, kind of asking that. Is this a company culture where we ask each other questions? How is that handled? Can be a good indication of what kind of support you're going to get.

 

Robin Heinze:

To that point, I think it can be extremely, extremely beneficial for companies who have the ability to do so, to explicitly invest in juniors by like putting out positions that are maybe internships or apprenticeships or specifically targeted at juniors, which sort of gives those more entry-level people permission to be who they are at the level that they're at. You're not trying to be a junior in a regular developer position, you're like the expectations are clear. The companies knows what they're getting and is explicitly in making an investment in a junior developer.

 

Robin Heinze:

That was part of my bootcamp program, it was built-in. There was a month-long internship at the end, which was so valuable because I was able to be in the middle of a company like fixing real bugs and touching real code, all the while knowing that they were not expecting me to be a full-fledged developer, and so there was this sort of safety where I could sort of learn and ask questions and know that they weren't like questioning whether like, "Should we have hired this person who doesn't really know how to do their job?" There's this level of safety.

 

Robin Heinze:

So, I think companies who can, it can be so, so important to open up that kind of specific junior opportunity. I think other industries, not tech industries do that so much better. If you think about the trades, pipe fitting and plumbing and electric, they build that into your career path. You start out as an apprentice and you learning from more experienced people is part of that job.

 

Robin Heinze:

They're not expecting you to be an experienced electrician. They're giving you a job where you're a junior essentially, and I think tech could definitely do a lot better making those opportunities explicit.

 

Jamon Holmgren:

Yeah. So, because I have an explicit word for that apprentice, the people that have already been through that, that you're learning from remember what they were like when they were an apprentice. So, that is, like it's not like, okay, they're comparing themselves to you, comparing you to them now, they're comparing you to where they were as an apprentice as well, and so it becomes, that explicitness is something that there's a lot of value in, for sure.

 

Bekah Hawrot Weigel:

I think there's some issues with survivorship bias too though. I went through this. It was really hard for me, and now you're going to have to go through this, and it's going to be really hard for you, right? It's just a different mindset, because I think we can think about junior developers as apprentices because that's kind of what's happening here. There really needs to be a shift I think.

 

Jamon Holmgren:

So, speaking from the employer side, there's actually a fair amount of risk when you bring on a junior to your company if you have, and I've had this happen before where you invest years of time into someone and just when they get good enough to like return on investment, they get a huge offer somewhere else and they leave. That's a tough problem, because a company like Infinite Red can only really invest in juniors if you feel like there's going to be some level of return.

 

Jamon Holmgren:

We can do a lot to give back, because there are a lot of things that the community has given us and stuff, but at the end of the day, we have to pay our bills, and so there has to be some level of return on investment, and there are companies, there are so many, especially funded startups and stuff where they come back, and they've got millions of dollars in funding. They don't have the same commitment to bringing on juniors. They don't have time for that because they need to get something out in eight months or else their window of opportunity is gone, and they just throw money around.

 

Jamon Holmgren:

It's great for the junior, which is awesome, but it dis-incentivizes companies like Infinite Red that are long-term from investing in juniors because the nature of our industry, where you don't really have that in the electrical trade, you don't really have that in other places like that. The incentives are misaligned. It's a frustrating problem, because I love teaching juniors. It was how I started my business.

 

Jamon Holmgren:

I had juniors and I taught them for years and most of them stuck around with me, which is great, but some have left as well, and that's great, but there's… Yeah. The misaligned incentives is a very frustrating problem.

 

Bekah Hawrot Weigel:

I think one of the things too that I've recognized fairly recently is that not everybody does have the capacity to take on juniors, because of the need for mentorship and for time, and for the ability to grow differently, but that's not the only way to support juniors either, right? Openly talking about it or Gant Laborde from Infinite Red comes to Virtual Coffee all the time, and I know that he supports a bunch of members there who are junior people and that's great.

 

Bekah Hawrot Weigel:

You have to give back in the ways that make sense, but also just recognizing that there is an issue rather than it would certainly be a problem if a company said, "I want to support junior developers. We're going to bring them on, because I'm supporting them." But you provide no support. There's nothing in place to support them, then it becomes even worse.

 

Bekah Hawrot Weigel:

So, recognizing limitations is really important and recognizing there needs to be some type of mentorship and support that is explicitly stated is really important to making sure that it is a positive experience.

 

Harris Robin Kalash:

Yeah. I was actually thinking about that and bigger companies definitely have an easier time welcoming juniors and supporting them, but when you're a small company… So, I completely understand what you're saying, Jamon. When you're a small company investing in a junior is more expensive, right? Because, well, first of all, just timelines are often stricter, especially like startups like you said when a startup gets funded, right? They have a specific amount of work and even if they had like more time and more money, at the early stage of a startup they kind of have to prove themselves in these very specific short-term milestones.

 

Harris Robin Kalash:

So, they often have less time and less willingness to take on extremely junior people, because they just want to hire seniors and spend their money that way. Like you said, throw money around because that's like sort of… Because a startup is basically a shot in the dark, so you just throw money at a problem and you hope that it sticks, so.

 

Robin Heinze:

This is why this problem is less prevalent in the trades and manufacturing and whatnot, because you don't really have the same startup culture in those industries. You're recognizing that you're not going to ship airplane component or whatever in eight months, because it's such a different medium than software, which is like you can write some code and ship a website in a day, and so you see that potential for speed and investors take advantage of that, and that's how you end up with startup culture and move fast break things kind of-

 

Jamon Holmgren:

Yeah. Nobody says, "Let me give you a million dollars, build two floors of this building and I'll see if I'll keep funding you."

 

Robin Heinze:

Yeah. It's a tough problem to solve, because of the culture that's evolved in the tech industry.

 

Bekah Hawrot Weigel:

An interesting experience that I had my first time working a React Native contract was with a startup, and the guy that I was working with, he was an engineering major at Stanford and was learning to code to create this app that they were working on. So, I was new to it, and he was new to it, and it was kind of an interesting and fascinating experience, because we were almost like learning together, and I had React experience, which he didn't.

 

Bekah Hawrot Weigel:

And so I was looking at things and I'm like, "I wonder if he knows something about React Native that I don't know because I would not have done it this way?" And so then I would like ask him like, "Hey, you're doing it this way and I would just love to understand your approach here, because I wouldn't have thought to do it this way." And that almost like leveling of the playing field was a really great environment to learn in because we were learning together and the stakes were like kind of low where we were, because we were just starting this new thing and building this thing out together, and I remember going back to the Flexbox thing.

 

Bekah Hawrot Weigel:

I'm not great at Flexbox either, and he gave me this component. I said, "It's probably going to take me a little bit longer, because I'm not great at this, so I got to relearn this." And he's like, "Yeah. I'm really not good at it either, so it's you." I'm like, "Okay." But it was just to be able to feel comfortable in that environment I think just allowed me to experiment a little bit more and to deep dive into docs and things like that, because it was definitely not a move fast and break things startup. So, just recognizing good environments is super important.

 

Jamon Holmgren:

Let's shift more toward React Native specifically since you brought it up, Bekah, and we were supposed to be talking about React Native for junior developers. I think we should pull it back into that. What specifically about React Native makes it more… I think it's fairly difficult for new developers coming in, in some ways. There are some ways that it's kind of a nice inroad to programming, but it's also difficult in some ways. So, do any of you have ideas on what makes React Native more difficult or maybe you didn't have that experience when you were coming into it?

 

Robin Heinze:

I think there's just a lot of moving pieces with React Native. It's not just learning how to write the correct JavaScript to build a React Native app. It's like Xcode and Android Studio and learning to work in a simulator and all this sort of extra peripheral stuff that can make it a little more daunting.

 

Bekah Hawrot Weigel:

I would say I totally agree with that, and once you get past that, for me, it was a little bit easier and maybe it's because I had react experience, but also it's less I would say conceptual maybe, because here's a text component. I know what text is, right?

 

Jamon Holmgren:

Yeah.

 

Bekah Hawrot Weigel:

That's much clearer to me than what is a div and how to style these things? Like, "Okay. I know exactly what I'm… I'm styling this container and that is in this view." And so the fact that I could look at the screen and understand how it translates from my code to the screen, really allowed it to click a little bit faster for me, and so I think that if you had the opportunity, if you had to learn JavaScript, and then someone said, "React Native or React," and then you had a fairly good grasp on the tools that you needed for those, that React Native in my mind is a little bit easier to pick up for those reasons.

 

Robin Heinze:

I definitely agree with that. In my mind I think we've talked about this on a different episode, but I almost wish that React Native had kind of come first, and that React was built more like React Native and had more of that abstraction of like text and view and image and text input rather than just using plain HTML. Obviously, it would be impractical to sort of change React at this point, but for that reason I think React Native is a lot more straightforward to learn in terms of UI, and you're dealing with Flexbox.

 

Robin Heinze:

React Native, Flexbox, which I find way simpler to use than just like CSS, because CSS is a whole, whole other world, and I found, because I had always been terrible at CSS, but I found myself learning how to style React Native screens and components much easier.

 

Jamon Holmgren:

You also have a constrained screen size, real estate. There are different sizes of screens for sure, and you can use React Native in different contexts, but mostly you're on a phone, and that does help quite a bit. It allows you to, you don't have to be thinking about quite as many layouts when you're building something. I also find it really engaging and very kind of motivating to hold a piece of software in your hand. Just be able to touch it and move it and interact with it with your fingers, where when you're doing something like back end database stuff, there's no such thing. You have to derive it all from the screen and not so much that physical tactile kind of feel.

 

Robin Heinze:

Yeah. I definitely agree with that.

 

Harris Robin Kalash:

Yeah. Me too. There's almost more like a craftsmanship to it, because if you pull, if you use your own app, and it's buggy, you almost feel like you did this wrong or yeah. I don't know.

 

Jamon Holmgren:

Yeah, and there's something really cool about being able to show your friends too. You pull out your phone, you're like hanging out, and you can just pull out your phone and show them, "Hey, I built this app. This is cool." And they're blown away because it's like, "Whoa. Dude, you're basically Facebook now."

 

Jamon Holmgren:

One of the quotes that I really like is actually I'm quoting my business partner Todd. But he said, "The difference between a hobbyist and a professional is a hobbyist can stop whenever anything gets too hard or uncomfortable. A professional is forced daily to get stuff done without regards to their comfort." I like that because it's like when you're a hobbyist or where you're learning, it's a little easier to just stop. Just be like, "This is too hard. I'm going to go play video games."

 

Jamon Holmgren:

But when you're professional and people are waiting on you and relying on you, then you're forced to kind of grind through that. And so I think that's one of the big differences when a junior goes from learning to being on the job is that you are going to have to push the boundaries of your discomfort over and over and over, but that's the only way to grow. That's the only way to kind of continually get better, and I'm learning Finnish right now and it's pushing me in ways that I haven't felt for a while, but the thing is every time I feel uncomfortable, I know that I'm learning.

 

Jamon Holmgren:

I know that I'm getting into territory where like, "Okay. There are three new words that I learned. I mix them up all the time. I don't know which one means what." But over time I get to the point where I learn what they are and can move to the next step and I feel like development's no different. You're learning languages. You're learning syntax. You're learning concepts.

 

Robin Heinze:

And it can be quite addicting once you learn, as a professional you go through those hard days, that days where you want to like throw your computer at a wall, but you have to keep working on this feature that the client is expecting. And then you finally figure it out, and that the high is so exhilarating when you finally get it to work, it finally compiles or whatever. It's what sort of keeps me going.

 

Jamon Holmgren:

I love it. So, I have two questions to kind of wrap things up here for each of you. First off, do you recommend going the bootcamp route to get into our industry? I'm going to start with Bekah.

 

Bekah Hawrot Weigel:

I have so many complicated feelings about this. This is a hard question. I think if you go the bootcamp route, definitely talk to people who have been part of that bootcamp before. If you are not interacting with teams of people, that's going to be a challenge for you. If you are not looking at code bases that are bigger than 10 files, that's going to be a challenge for you. If there's no one there that you can ask questions for, that's going to be a challenge, and those are some of the hardest things I think that you have to learn.

 

Bekah Hawrot Weigel:

So, I would say finding good communities of people that are willing to learn together sometimes is a better investment than a bootcamp, because you don't have to spend all of the money on a bootcamp. You can have that situation where you're learning together, and you're growing. And then there are many, many people out there who are willing to support and answer questions who could be mentors to you. It doesn't have to be an official mentor that meets you once a week or whatever, but just say, "Hey, we're trying to do this and we want to get there. Is there anybody that we can ping for this?" I honestly think that is a pretty good way to go, and at least see if you want to commit to this fully.

 

Jamon Holmgren:

Yeah. That's awesome. I've been asked that question a lot and I don't have a great answer, because I haven't gone through it. So, I'm just going to point them to this episode from now on. Robin, what is your feedback on should you go to a bootcamp?

 

Robin Heinze:

I'm a huge proponent of bootcamps mostly because I can easily say that the bootcamp I went to like changed my whole life. I think Bekah's right. It has to be the right bootcamp. There are bad boot camps and there are good ones, and definitely talking to people who have gone there and finding out what their stats are on job placement is really important, finding out what their, A, what their curriculum is, but more importantly how they teach their curriculum.

 

Robin Heinze:

Like with my bootcamp, it was in-person and we were pair programming every single day with instructors roaming around the room. So, it was very collaborative and not self-directed, and I would say the most valuable piece of my bootcamp personally was the internship placement. So, look for things like that, that have tools, like specific tools and opportunities to get you into the real world and aren't just like a set of lessons on a particular tech stack. But, yeah, I definitely am a proponent of bootcamps.

 

Jamon Holmgren:

I have a feeling that I know Harris's answer given that he's an instructor at a bootcamp. But, Harris, give us your opinion on bootcamps and whether they're a good way to get into the industry.

 

Harris Robin Kalash:

Yeah. Maybe you might be surprised with my answer, but I think… So, I agree with Bekah and Robin said, but I like that Robin brought up placement rate. The way I like to see it is don't even… So, the most important metric for bootcamp is job placement. That is the most important thing, and the way I like to think about it is like just ROI. How much money am I putting in and how likely am I to get placed and make that money back?

 

Harris Robin Kalash:

So, bootcamps are clearly expensive and overpriced, but if you can find a bootcamp with a high job placement, even if you're paying 20 grand or whatever. It doesn't matter, because the ROI on that is positive at the end of the day, right? So, it might be an expensive investment, but as long as the bootcamp, and like Bekah and Robin were saying, there's definitely bad bootcamps out there, but as long as you're in a good bootcamp that is very likely to place you, actually, that's a really smart investment.

 

Harris Robin Kalash:

You're turning a dollar into two, because as soon as you get placed, you're going to pay that off in less than a year, and I don't think any university student can say that, right? When you go to a university, you can't really say, "I've paid off my university debt in a year or two," whereas the bootcamp, you can. So, I like to think about it in that way, and in that way it makes a lot of sense. But, yeah, definitely look at placement rate.

 

Jamon Holmgren:

That brings up kind of a sub question to that question which is what do you all think of ISAs? The income share agreements where-

 

Harris Robin Kalash:

Oh, that's a controversial one.

 

Jamon Holmgren:

… essentially the bootcamp… I know it's controversial. Where the bootcamp doesn't charge you something up front, but once you are placed, then they take a percentage of your income for a certain amount of time. When it first came out, I was like, "This is awesome because you're not taking a risk then. If you go back to your previous job, you're not out any money." But I have heard some criticism of it since. So, I was wondering if anybody had any nuanced, opinions about it?

 

Bekah Hawrot Weigel:

I'm just thinking, one, it depends on your goals too. It depends on whether you're reading the fine print because there's certainly predatory ways where that can happen, and they're certainly taking advantage of groups of people who are more likely to attend bootcamps. So, if you can, do read those things and make sure that that's something that you're okay with going into, but I know like you can't always understand exactly what that's going to look like.

 

Bekah Hawrot Weigel:

So, it can be problematic for a number of reasons, but I also think too, it depends on what you are going to bootcamp for. So, if you are going to bootcamp, because you want to get a job coding to make stacks on stacks of money, then you definitely need to consider that, how much money am I going to get? When am I going to get that job placement? But that doesn't have to be the only motivation for going to bootcamp, it might be to learn, it might be to get into a different side of tech. And so I think that really looking at what your personal goals are and what your expectations are and how that affects the people around you is certainly important in making this entire decision.

 

Jamon Holmgren:

That sounds like any senior engineers answer when you ask them a question about something, it depends.

 

Harris Robin Kalash:

Yeah.

 

Jamon Holmgren:

But it's true. It's true. There's a lot of factors that go into this.

 

Harris Robin Kalash:

Yeah.

 

Jamon Holmgren:

That's an interesting one. So, my second question to you all, final question here is once you have the education, how do you get a job? What are some tips to getting a job within the industry?

 

Bekah Hawrot Weigel:

I think you don't get it after you have the education, right? You have to start your networking really early on, and so I think for a lot of people that I talked to who asked me this question. "Well, I'm two weeks away from graduating, what do you suggest?" Like, "Well, I suggest you go back six months or four months ago, and you start talking about this and networking in ways that you can." Every job that I have found or that I have interviewed for has come through social media in some capacity.

 

Bekah Hawrot Weigel:

I've not sent out applications and had a response that way, and it's because I spent a lot of my time just documenting my journey into tech and because that allowed me to build some trusted relationships, and then I got references to certain companies or I got job offers. And so I think the number one way is to network and know people. When I say network, I mean have relationships with people, not like, "Oh, hey, I would like to use you for a job in the future, right?" You want to make sure that you're building something authentic.

 

Robin Heinze:

Yeah. That's always the advice I got too. I would say my path into the industry was very fortuitous and almost lucky just because my program placed me in an internship. I didn't have to seek it out, and then they hired me after that based on having seen what I did during my internship period. And then from there I had experience, and so it was a lot easier to get my job at Infinite Red, but what they told us from day one of the bootcamp is network, even if you hate it, most people hate it, network, go to meetups, meet people, form relationships. That's how you get jobs. That's pretty much always the answer.

 

Harris Robin Kalash:

I did want to add one last thing, not specifically about this, but it's about the ISA agreement. I just wanted to add that with an ISA agreement, you're pretty much always paying more. So, if you can avoid it just avoid it, because you're always going to pay more.

 

Jamon Holmgren:

Because you're kind of offloading the risk to them and anytime you're offloading risk, you're going to pay more.

 

Harris Robin Kalash:

Exactly.

 

Jamon Holmgren:

That's definitely the case.

 

Robin Heinze:

Yeah.

 

Jamon Holmgren:

For myself, I don't recall ever getting a job through just an application-

 

Robin Heinze:

You created your own job, Jamon.

 

Jamon Holmgren:

… it seems like I always knew someone… That's true. As a junior, just start your own consultancy. That's the way to do it. It's easy.

 

Harris Robin Kalash:

That's a quick way to learn.

 

Jamon Holmgren:

And 15 years later, you're an overnight success. No. Totally. I mean even my son, he's 16, and he was looking for a job, and I told him, "If you put in your application, you have no work experience. Your grades are I guess pretty good, but I don't know if they're going to be looking at that." You pretty much need to know someone in order to find a good job. It's fast food. It's his first job, but my cousin actually, who's quite a bit younger than me, closer to his age works there and put in a good word for him, and so he got a job there. It was like-

 

Robin Heinze:

All about who you know.

 

Jamon Holmgren:

… they hired him just about on the spot. So, it was just like, yeah, I mean that's seems to be the way to do it, and I will mention this is really, really important, Bekah has a great community for networking. It's super safe, super encouraging. Psychological safety is very big to it. She's an amazing community builder. Tell us about Virtual Coffee, Bekah.

 

Bekah Hawrot Weigel:

Yeah. Sure. So, Virtual Coffee started when I lost my job during the pandemic, and I just really felt that I needed community at that point, because my kids were home from school. I was essentially interviewing for jobs for the first time, because I had never interviewed for my first job. It was more of a conversation, and so we were meeting once a week, and then, Jamon, mentioned coming, but he lived on the West Coast. So, I was like, "Okay. We'll do it twice a week and we'll add a Pacific time."

 

Bekah Hawrot Weigel:

So, that was Jamon's fault, and then we started doing events, because Gant was like, "Hey, you get all of these same questions, why don't we do an interview event?" So, we run events and monthly challenges, we're doing lightning talks and brown bags, and I have to say, the only owner of Infinite Red who has not been there is Todd Werth. So, I'm just waiting for Todd to come and seeing what new thing we need to add on to Virtual Coffee next.

 

Jamon Holmgren:

Todd, you hearing this? He's the editor of this podcast, so.

 

Bekah Hawrot Weigel:

Yeah, but the most important thing is that everybody respects each other, and we very much take a person-first approach. Like you are a person when you come into this Zoom or to the Slack and whatever experience you have after that is fantastic, but we value you as a human, and we value mentoring across the board at any stage.

 

Jamon Holmgren:

I highly recommend this. If you are someone who hates networking, who is apprehensive about moving into a community, anything like that, this is the community for you, and I love the way that you describe it on your website, virtualcoffee.io, which is an intimate community for all devs optimized for you. I love that. It's fantastic.

 

Bekah Hawrot Weigel:

Thank you.

 

Jamon Holmgren:

Thanks so much for coming on our program today, Bekah. It's really great to have your experience in this and all of your perspective. Hopefully, we can have you on again. I know there are actually quite a few things that we still have to say, which is always a good sign. Thanks, of course, to my co-hosts, Robin and Harris, and we can find Bekah on Twitter @Bekahhw, B-E-K-A-H H-W?

 

Bekah Hawrot Weigel:

Yes. That's right. So, two Hs there.

 

Jamon Holmgren:

Two Hs. Harris is nomadic spoon. Robin is Robin_Heinze with an E, and I am Jamon @JamonHolmgren on Twitter. Interact with any of us there or on our show, Twitter React Native R-D-I-O. Unfortunately, we couldn't put the A in there, just not enough characters, but we do read all the tweets. We appreciate when people reach out to us and let us know that they are listening to the program, what they think.

 

Robin Heinze:

We do love it. I get a little dopamine hit every time someone says they like the podcast.

 

Jamon Holmgren:

Give Robin her dopamine hit. As always thanks to our producer and editor, Todd Werth, who is going to be attending Virtual Coffee pretty soon. Our transcript and release coordinator, Jed Bartoski. Our social media coordinator, Missy Warren. Thanks to our sponsor, Infinite Red. Check us out at infinite.red/reactnative. Special thanks to all of you listening today. Make sure to subscribe if you haven't already. Tell a friend, especially if you have someone thinking about getting into the industry, this is the episode for you. Make sure you get this into their hands, a link. I would love to hear from them as well. If you're a junior, please reach out. See you all next time.

 

Robin Heinze:

Bye.

 

Bekah Hawrot Weigel:

Bye.