Learning to Code Alongside a Full-Time Job: How Josh Went from Property Manager to Junior Developer in 10 Months with Scrimba
Alex Booker (00:01):
Hello, and 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 junior dev job. I'm Alex. And today I'm joined by Joshua Smith from Australia.
Joshua Smith (00:16):
I think about coding during the day, at night, when I'm sleeping pretty much. I can't help it, I love it.
Alex Booker (00:21):
Joshua does not have a computer science degree. And yes, he was recently hired as a junior developer at a FinTech company. In this episode, you will learn how a well-timed referral enabled Josh to secure a coding interview in which he was challenged with a take on coding task. As always, I'll be digging in a bit deeper to learn specifically what that take on task involved so you can have a better idea about what to potentially expect. You're going to really like Josh's attitude towards learning. In fact, he got the job sooner than he anticipated, thanks to that referral, and kind of regrets not planning to applying sooner since he's not only getting paid to learn now, but learning in a real world environment with mentors and more. You're listening to the Scrimba Podcast. Let's get into it. Where did your web dev journey begin? And what was the experience like from there?
Joshua Smith (01:13):
It was quite an interesting one. It was actually back in April 2021. So still quite recent. I have always been a fan of IT, but I didn't really ever have the confidence, or didn't ever think I would actually be able to get an IT job without going to uni and doing all this years and years of work. So I have actually a friend called Jake, and he's been a developer. He actually works for Rainbow, a cryptocurrency wallet, and he's created his own actually UI library called Bumbag UI as well. So he is quite enthusiastic and quite, well, in my opinion, big.
Joshua Smith (01:46):
But one night we were just playing Call of Duty, and were just getting talking about his work and what he was working on at the time. And I just said something like, I wish I could do something like that. And then one thing led to the other. And he actually sent through a link to Codecademy, and it was to an HTML and CSS course. The next day I jumped on, went through it. And from there, pretty much came addicted to everything in web development. Started with HTML and CSS, went to JavaScript. Started teaching myself React in my own time. And then on the side as well, also enrolled in an undergraduate course in programming that was mostly all in Ruby. And then enrolled in a certificate four.
Joshua Smith (02:30):
And even after these two certificates, I didn't actually really feel confident still. I got the certificate. I did the time. But I didn't really feel confident. And then I came across Scrimba, the Learn React Course there. That pretty much took off. I completed that. Felt a lot better about programming in general. And then what I was going to do, or that I'm still going to do, is actually do a bootcamp in February.
Alex Booker (02:56):
You've managed to secure a job, and you're still doing a bootcamp. That's interesting.
Joshua Smith (02:59):
Yes. It wasn't really planned. The internship came to me. I actually didn't apply to it. It came to me through my friend, Jake. He said, "He's an enthusiastic person. I did a technical interview, made a, as you probably saw, that Rick and Morty website. And I've been working as a junior developer for just under one month now. I had that bootcamp initially planned, because I was going to do that for six months. And at the end of that bootcamp, they offer a careers week. And that was my plan to then actually get a job. But everything moved so fast. I'm now employed and doing a bootcamp together.
Joshua Smith (03:35):
I'm still happy that I am doing it. I think it's always important to always be learning something. Even in my current job, we are actually learning, well, are going to be learning about, if you heard of Cypress IO. It's a testing library or framework. And I think that bootcamp is still helpful because it teaches the foundation. Because I think you can learn all these tools and frameworks and libraries, but at the end of the day, it's important to understand the basics. And that's really JavaScript or your core programming language that you're going to use. So I'm still keen to get in there and still cover those topics.
Alex Booker (04:06):
Are you aware of the curriculum, and what sorts of subjects you'll be learning that maybe someone listening hasn't or likely won't encounter doing Scrimba or Codecademy or something?
Joshua Smith (04:17):
I think in terms of learning, online learning is stronger in the sense of content. What I will say about bootcamp that really, for me, makes the stand out is the community. So going to class, even if it's online, meeting with 15, 20 other developers and sharing ideas. I think you learn an incredible amount too. And even sitting down, I guess the one thing that you have to do in a bootcamp or formal learning, is that you're assessed. And even though a lot of people might find that nerve-wrecking, it's good when you learn something and you can apply those skills, and then you get given constructive criticism back. "Hey, this website you made is good. This is what you can do to improve it." That's probably the only area in a bootcamp where it would stand out, is that you do have a teacher standing right over you or in a Zoom.
Joshua Smith (05:06):
But I would have to say, I have done an undergraduate in programming. I've done a certificate four in web development. And I'm going to do this bootcamp. And looking back, probably some of my strongest learnings have still been online. Like that Scrimba Learn React Course started probably about a month and a half before I got my internship. And massive help. The knowledge I got from that course probably outweighed the knowledge from the other courses in terms of actually on the job thing, because I got the job and it wasn't even React. So it was perfect. The course matched up. At some of the bootcamps, because they want to try and appeal to the entry level role, they sometimes choose programming languages like Ruby. And I know, depending on where you are in the world, it may [inaudible 00:05:48], but I'm from Melbourne. It's not really relevant. No one uses Ruby in Melbourne. So it was a bit, in my opinion, pointless. So it was good to go online and learn something current.
Alex Booker (05:58):
What was it about the React course that made it so much more conducive to your learning? Was it just how the content was presented? Was it the interactive elements? Was it just that maybe doing things online suited your personality in the sense that you can take things at your own pace and not worry about examination and things like that?
Joshua Smith (06:17):
Pretty much with a lot of videos out there, because I did a lot of Udemy videos. And they are good. But the one thing that happens is, you can be watching a video and then the next video loads, next video loads, and you sort of get sleepy, you're not engaged. You drift off as each video just keeps playing through. The thing that I liked about Scrimba was, it would be like, all right, we're done this. Time to get your hands on the keyboard and you would have to type out the solution. So there was no just ticking along as you can in class or online or in a video. By clicking space bar, you had the code editor there, so you didn't have to worry about any setup. If you didn't quite get it right, you click space bar. Either reset it and try it again or you continue on and compare the two together. Oh, okay, that's where I didn't get it right. So I think that's where Scrimba really separates it, is that embedded code editor makes it one of the best learning platforms I've seen.
Alex Booker (07:07):
That's amazing. So we've spoken a little bit about your approach to learning and pedagogy and things like that. Let's transition the conversation a little bit into your current opportunity. So if I'm not mistaken, the company is called Tyro Payments. And is that the same company you started the internship with? And they basically said, "Hey Joshua, we like your work. Would you like to come on as a full-time junior software engineer?"
Joshua Smith (07:31):
That is, yeah, the company I'm working for at the moment. How I got that position is, I had a friend that actually worked at the company a couple years back, Jake, who I was telling you about. He put in a word for me. They reached out to me. So they put me, and I'm still currently doing it, on a four month internship. However, hopefully, fingers crossed, if all goes well, then I'll just go onto a permanent role after that. The internship is to April. So that's full time, Monday to Friday. I'm absolutely loving it at the moment, doing exactly what I want for much hands on learning.
Joshua Smith (08:04):
At the moment, just doing bug fixes and just learning so much from the other developers, how the code's written and compared to how it's usually written. When in class or online, the code base is often quite small so you can get around. This code base is quite large. So it took me a couple days to get my head around it. Some of the code base used class based components, some of the newer repositories using Node function. So it was a mixture of both. But yeah, absolutely loving it and I'm learning so much.
Alex Booker (08:35):
I've never understood someone to be like an intern and a junior at the same time. What's the difference between an intern and a junior in your country?
Joshua Smith (08:44):
Probably, really, there's no difference. I think it really just means like a probationary period. I think when you go to university, we have what's called a graduate position. These days you don't really go that path. You get a portfolio together. The bootcamps have really taken over. A lot of people I have met have taken that route. It's not so much doing the four year at uni. So you used to have a graduate program. And I think where the term intern came from is, you would intern, but then you would head back to university to finish your study. So it was only a bit of work experience. In this case, if I do well, then I stay on. So an internship is, I think, the technical name for it. But it's really just a junior role.
Alex Booker (09:24):
It's very interesting to me that you put it in a very casual way, which is that your friend puts a word in for you. But often we would call that a referral basically. What kind of impact did having a referral have on the interview process?
Joshua Smith (09:38):
I think that played a big part into it. As I said, he's a great developer himself. He's been in the industry for a long time. And he works for one of the biggest cryptocurrency wallets. Funny enough, he's actually made his own UI library called Bumbag that actually uses our Tyro, or Tyro uses his UI library. So I had sort of had a head up there with how the components worked.
Alex Booker (10:00):
If you are enjoying this episode of the Scrimba Podcast, please do us at Scrimba a favor and share this episode with your friends on social media or in your community. Word of mouth is genuinely the best way to support a podcast that you like. So thank you. Next week I'm talking with Ben Hong, who works at Netlify and is also parts of the Vue.js front end library core team.
Ben Hong (10:23):
My first exposure to tech was as a kid back in the days of aol.com. My dad happened to purchase a book. I think it was like HTML4 by O'Reilly. And I happened to just kind of stumble upon it. And I kind of really fell in love with this idea that using just the notepad editor and saving a file with this dot HTML extension, I suddenly had this thing that was like, I could see, I could edit, as opposed to more traditional programming languages at the time, like Java. And one of the basic programming languages that you needed a compiler. It took a long time to get feedback. And front end was so compelling at the time. Because it was like, oh, I just write a couple lines of code. I could see my changes. But at the time I never realized that like, oh, this could be a job. I feel like, this is toy language. This is fun or whatever.
Alex Booker (11:02):
If you want to hear Ben's insights about learning to code and how to get involved with projects of any kind, remember to subscribe to the weekly Scrimba Podcast. Back to the interview with Joshua. Did you go through the traditional interview process?
Joshua Smith (11:18):
Yeah. I still went through a normal process. So they did a full background check. And that's quite common in Melbourne. And I did get given a technical challenge to do in React. And it was that Rick and Morty website.
Alex Booker (11:31):
We'll link that in the show notes, by the way, for anybody who's wondering what we're discussing.
Joshua Smith (11:35):
Yeah. So that was pretty much using an API and filtering out only the human Rick and Morty characters are on display, and then just styling that into a nice little website, essentially. So that was my task. I then had a second interview with two of their developers. And then they just ran through a quick challenge. So they brought up the project and just asked some questions. I see here that you've written an if statement like this. This is how you could do it. Could you rewrite that for us? Sort of just tweaking what I did. And that worked out quite well. And then I think about a couple days later, I got given the offer.
Alex Booker (12:12):
Oh, nice. Congrats, man. That must have been a great feeling?
Joshua Smith (12:15):
Absolutely. As I said, I was not expecting for it to happen so soon, having only started web development back in April. I was massively, massively happy. I'd been working very hard to transition over and I wasn't expecting for that to happen until the end of this year. So to have it happen already, and to be settling in well. And I'm enjoying it so much, I'm really excited to see where it's going to take me.
Alex Booker (12:41):
What I would say to people listening is that if you imagine that a company with a specific role to fill wants to fill that role, they will open the flood gates in a sense, and post the job ad. And you then need to imagine something like a funnel, and at the top where the barrier to entry is the lowest in that you can do an easy apply or quickly send your resume or something. They get lots and lots and lots of applications. At least tens, I think, but maybe even hundreds at certain companies.
Alex Booker (13:07):
What I think you did, Josh, essentially is managed to skip a bit lower in the funnel because that's the effect of a referral essentially. Instead of having to rely on whoever's filtering those resumes or cover letters or profiles choosing you, which they very well may have, we can't speculate. I think it's possible they would have, based on your LinkedIn profile and things, which looks really healthy and promising from my point of view. In any case, that's up to chance. Whereas if you can secure a referral, not only does that put you ahead of the curve, but in a way, it kind of greases the wheels. Of course, the hard work wasn't done for you. No one should discredit that at all. Because, as you said, you had to go on and do the technical take on task, and then you had to justify your code and talk about some of your decisions. That sounds very normal to me. Just run us through why Rick and Morty? What was the logic behind that?
Joshua Smith (13:56):
Good question. I'm not exactly sure, but I love Rick and Morty myself. So when I got it, I was like, oh my God. That's so cool.
Alex Booker (14:02):
Wait, they suggested it? Really?
Joshua Smith (14:03):
Yeah. I didn't suggested it. That was my task, is to do that Rick and Morty website. So it was really interesting because when I got it too, I even said to my friend, I said, "Look, Rick and Morty." I think it was just a reflection. When I spoke to him, because my goal is front end development. And when I had my initial conversation with the manager, it was pretty much about how much I loved React. So I think that's why they gave me a project in React to see how I would do.
Alex Booker (14:28):
It seems like you've gone from strength to strength. And equally, your plan seems very sound to me, like you had a really clear plan, I think, to push your skills even further at the bootcamp and then utilize this job searching part of the bootcamp. It sounds like a really good investment, to me, and a really smart strategy. And so I'm wondering what you would say if I were to ask you what you would do differently up until this point, if you had any additional advice for new developers and aspiring juniors listening?
Joshua Smith (14:54):
I probably wouldn't have done so many courses. In the beginning, as you probably get this a lot, I always felt like, why is everything so hard? Why am I struggling with everything? But it's important just to keep at it. And I would probably opt to really, your strengths are going to come from what you invest and how much time you put in. Even though I was working full time in property management, I was coming home and I was still doing three, four hours of coursework and studying, going out and seeking out not just any course, but really looking at what the course is going to give you, the content, and making sure that it's relevant.
Joshua Smith (15:30):
A lot of people try and become like a full stack developer straight off the bat, knowing all these things. And I think you don't really have to. You can actually go into a job and just know front end. Once you get your foot in the door and you got that job and you hone in those skills, then you can branch out. You can take JavaScript, go to React, then go to Node. Then go to React Native. You don't have to do it all at once. I was under the impression, when I started out, oh my God, I have to learn everything. There was just a flood of libraries that people used to keep saying, "Oh you got to learn this. This does this. This does this. People use this."
Joshua Smith (16:08):
But no. You really just do what you like. And I like JavaScript. So I just did that after. Even though some of my courses was in Ruby, I still just did JavaScript. I still just kept practicing JavaScript because I said, once I get a job, that's what I'm going to use. And it has helped. I haven't gone back to the other languages that they use or the other older techniques that they have used. It's been the online coursework that's been updated that I've referred to.
Alex Booker (16:36):
If you were to go back to the beginning and plan your journey, would you try and budget and schedule to get a job even sooner with this newfound experience? Or do you think you'd still take your time and endeavor to do the bootcamp graduation day and find a job that way?
Joshua Smith (16:48):
I would probably try and find a job as soon as possible. I guess I, not purposely, but subconsciously, tried to delay it. Because as I said, as a developer, you're never going to feel ready. I now understand that. And now that I have got a job in the field, I now understand that it's completely normal. Everyone else has felt it. I'm not the only one.
Joshua Smith (17:08):
So yeah, it doesn't matter how long you're going to wait. My first two weeks in the job, I was so nervous every time a card would come through. And I'd go, oh my God, I don't know the answer off the top of my head. But by the end of the day or the next day, it just happens. You find the answer. It all comes together or you get the help that you need. And then you get one card completed. Second card completed. Third card completed. And then in no time, you're up to seven or 10. And then you go, these bug fixes are not too bad. So I would say to anyone, you're going to have that feeling like you're not ready, but it's completely normal. It's completely normal. But don't hesitate. Just keep going out there.
Joshua Smith (17:44):
And I think the other important thing too is, when you are working full time in IT or in your field, your brain is going to start thinking about that. I think about coding during the day, at night when I'm sleeping pretty much. I can't help it, I love it. That's how it works. But when I was working as a property manager, you had to put that on the side, go to work and you would have the tress that was completely unrelated to IT that would take up eight or nine hours of your day. And then you come home tired and then you would have to really try and find the energy to do that every night, to keep studying. That I did.
Joshua Smith (18:19):
But now, actually just having a job and waking up in the morning. I'm always constantly thinking about, damn, I suck on that card. What can I do? What resources going to look at? That library sounds interesting. Most of my day now is spent learning. I think even though I've been there just under a month, I think just because my brain is now in that mode, I'm feeling a lot more confident. And I'm feeling that I'm actually learning quite quick. You can do a course online, and you can follow it all the way through to the end. And that's great. But it's much different when you have an actual thing that you have to complete, users are going to interact with it. You go through code review. You get tweaked. It's different, but in a good way.
Alex Booker (19:03):
It is kind of like the ultimate learning environment when you think about it. In a small sense, every ticket is kind of like an assessment. In agile, most tickets have an acceptance criteria, which is, in a sense, a checklist of what needs to be done before that ticket can be marked as completed. That's a little test, right? And even better, and I think this is even superior to university, even the best universities, if you're stuck, you need to go and find help. And there's someone there to help you. You are essentially being paid to learn. To me, that's the biggest advantage and the best place to be in anybody's journey. Because you can go into debt essentially to pay for tuition at a university, or you can secure an apprenticeship or an internship or an entry level junior role, and actually learn so much on the job so rapidly.
Alex Booker (19:48):
And to be honest, what I hadn't really considered, and I learned from you just now, Joshua, is that when you have another job alongside your passion for code as you're learning, that means you can't think about coding all time. You probably spend a significant amount of energy just budgeting your time and trying to navigate two things at once. The moment you can focus on everything, that's obviously so liberating and probably productive as well.
Joshua Smith (20:10):
Yeah. I completely agree. I think, soon as you can start focusing on it and it becomes most of your time, and I would say to people out there too is, before you get the job, make sure you put time aside, I would say daily, even if it's 15 minutes of flashcards or just 30 minutes every day, just try and get your brain to think about it. If you sort let it drift, then your body's not going to learn it, because your body's just going to go back to your day job, back to what it's been doing for the last decade. You really have to sort push your body. Learning front end web development or full stack development, it's hard. It's hard. It's not something like you just go, yep. I know it. You're never going to say I 100% know JavaScript. You're always going to be learning.
Alex Booker (20:55):
Joshua Smith. Thank you so much for joining us on the Scrimba Podcast.
Joshua Smith (20:58):
Awesome. You're welcome. Thank you.
Alex Booker (21:00):
That was Joshua. A newly hired junior developer from Australia. Thank you for listening. By the way, if you made it this far, you might want to subscribe for more helpful and uplifting episodes with recently hired juniors and industry experts alike. You can also tweet me, your host, Alex Booker, and share what lessons you learned from the episode so I can thank you personally for tuning in. Seriously, try me. My Twitter handle, along with Scrimba's, is available in the show notes. See you next week.