Meet Mislav Markušić 🇭🇷! Mislav is a new developer from Croatia who has changed careers at the age of 40. After attending law school and realizing it wasn't a good fit for him, he spent 14 years working in a record store! Now, he's a junior developer.
Learn from inspiring developers about how they found meaningful and fulfilling work that that also pays them well. On The Scrimba Podcast, you'll hear motivational advice and job-hunting strategies from developers who've been exactly where you are now. We talk to developers about their challenges, learnings, and switching industries in the hopes of inspiring YOU. This is the podcast that provides the inspiration, tools, and roadmaps to move from where you are to work that matters to you and uniquely fits your strengths and talents.
Mislav Markušić (00:00):
They liked the way that I presented myself. Most of the people that are junior just do, a Readme on GitHub, but they loved that I actually made a website. What they're looking for maybe in a junior is more personality. If you're a good fit, if you'll fit in a team, if you'll bring something to the table that's not necessarily just coding.
Alex Booker (00:21):
Hello and welcome to the Scrimba Podcast. On this weekly show, I speak with successful developers about their advice on how to learn to code and get your first junior developer job. I'm Alex, and today I'm joined by Mislav Markušić. After working in a record store for 14 years and at the age of 40, Mislav just completed a transition to become a web developer. At the center of Mislav's job hunting strategy, a beautiful, portfolio bursting at the brim with interesting projects, including an app to fetch data about records and import that data into the point of sale system at his old record store job. This is what employers want to see, because although clone apps have their merits, nothing is more encouraging than solving real world problems with code. But hey, I'm skipping to the end. Let's start from the beginning and hear how Mislav learn to code well enough to get a job. You are listening to the Scrimba Podcast. Let's get into it.
Mislav Markušić (01:22):
I actually never thought that I would end up in coding after high school. I started law school, but that just wasn't a good fit for me. And then I started working, and some 20 years later or something, I realized I need to change careers, and coding was the obvious choice, because I was always around computers, mostly gaming, but not only gaming. I was doing some stuff and fixing computers for neighbors and family. And so I just googled what kind of things I could do, and I started coding.
Alex Booker (01:55):
What kind of jobs were you doing? Were they computer jobs or something else?
Mislav Markušić (01:59):
I was mostly doing retail. I worked in a record store for 14 years, so that's been most of my working career.
Alex Booker (02:08):
Obviously, you love music, and working in a record store probably has some advantages, but obviously, it wasn't the thing you were totally set on doing, since you went on to learn to code. What was the catalyst after all those years that made you say, "Okay, now is the time to start learning coding?"
Mislav Markušić (02:24):
Well, it's a great job, but the paycheck isn't so great there. After all, you're working just in a store. No chances of progressing your career or something like that. And it's something else. After quite some time, it gets, I could say boring. It becomes all the same old, same.
Alex Booker (02:43):
Yeah, man. 14 years is a long time to do anything. Did you just wake up one morning, and you were like, "Okay, today's the day," or was it something you had to plan and strategize about a little bit?
Mislav Markušić (02:53):
I don't really remember the moment I decided to go into coding. Maybe I've heard about more people who started coding and learned it on their own or some kind of shorter boot camps. You didn't have to go to college anymore to become a coder. So I think that that was part of the thing that pushed me.
Alex Booker (03:11):
That's very interesting actually, because for so many years, people would assume that if they were going to change jobs and become a developer, they would have to go to university or something and retrain, and that's obviously very time intensive and costly.
Mislav Markušić (03:25):
That's what I thought when I finished high school. Back then, I don't know any programmer that was self-taught.
Alex Booker (03:32):
Do you mind if I ask how old you are, Mislav?
Mislav Markušić (03:33):
I'm 40 now.
Alex Booker (03:35):
So yeah, back then, 100%. Self-taught developers did not even really exist, or if they did, it wasn't quite as normal as it is today. And I just think there's something so powerful about seeing other people doing it, it gives you that confidence or at least that hope that you can do it as well. But then obviously, you don't have university, which has a bunch of benefits, because you get a curriculum, you get structure, you get teachers, you get classmates, all these good things. So how did you go about learning to code?
Mislav Markušić (04:07):
Well, I started Googling, "How can I start without maybe investing too much money in it," in the beginning, because I wasn't really sure if it's going to work or something, and I didn't have time to go full in. But I started looking around, and I found Free Code Camp, and I found some courses on Udemy, and that got me started. I actually found Scrimba at that point somewhere, but then I lost it again, so it took me maybe a year or even more to find Scrimba again.
Alex Booker (04:39):
No way. That's mad. What sort of brought you back to Scrimba? Was it a particular course, maybe?
Mislav Markušić (04:44):
I think there was a video on YouTube, someone doing Scrimba, and I thought, "Ah, this is so cool, such a good concept." And then I just couldn't find, I forgot what the name of it was. I knew it was something like a lion, Simba. I couldn't find the video again, so it took me a while to find you guys again.
Alex Booker (05:07):
So you did Free Code Camp and Udemy to start off with, and then later on, you sort of rediscovered Scrimba. Still, that's about a year of your timeline, and one of the big challenges I think, even when you've got resources like Free Code Camp, which is awesome, you sort of have to make these decisions about what technologies to learn. So maybe you start with a decision. Do you do websites? Do you do mobile apps, do you do services? Do you do IoT? Do you go into data?
Mislav Markušić (05:33):
I went to Stack Overflow on that survey they have every year. Most people doing what kind of programming language and most hire people doing, and it all came down basically to JavaScript. That was basically the thing I knew I needed to learn.
Alex Booker (05:48):
100%. JavaScript is one of the best technologies to learn, both for what it offers in terms of learning opportunities. If you learn JavaScript, you have a great jumping off point for every tech, and you can do it all from your web browser, so the barrier to entry is very low. Obviously, there's a lot of jobs, since almost every website uses JavaScript, and JavaScript also works on servers and IoT and stuff. But at the same time, you sometimes go down this path for a while, and then you're tempted a little bit by, "Ah, maybe I should do some C++, or maybe I should do some Java or something, because I hear that's good." Did you sort of choose JavaScript and lock in on it, or were you ever tempted to try other things?
Mislav Markušić (06:27):
I am tempted in some kind of a near future to learn Python, but no, I knew I needed to learn JavaScript first and learn it good before going to something else.
Alex Booker (06:38):
You came into this with the goal of getting a job as a developer, which I think is great. Some people maybe aren't 100% sure about their end goal. They just want to see how far they can go. But for you, you knew exactly what your destination was. Did that influence the way you approached your studies at all?
Mislav Markušić (06:54):
I would say not really. It took me a while to get to, let's say, React that I knew was highly hireable, but I was spending a lot of time on vanilla JavaScript.
Alex Booker (07:04):
How long did it take you overall to go from day one to the day that you eventually, and I can't wait to get into this by the way, got your first job as a developer?
Mislav Markušić (07:12):
Three-plus years, three-and-a-half or something like that, yeah.
Alex Booker (07:15):
Would you say that's a long time?
Mislav Markušić (07:18):
Yeah. Yeah, it is, but I wasn't pressured by time. I had a daily job, I had a family, so the time was always the main issue there, but I wasn't in no rush.
Alex Booker (07:28):
So give me some idea, how did you approach your daily studies? Obviously, you had a job and a family, as you mentioned. How many hours a day could you spend coding, and how did you make sure that you spent time on it? Because when you're busy in life, it's so easy for things, like learning to code, which requires a lot of energy and focus and quiet and calm, which isn't always possible when you have family. How did you make it happen?
Mislav Markušić (07:53):
It all depends. Some days, I would sit in front of the computer trying to code or learn to code or something for eight hours. Other days, it would be only half-an-hour. There were a lot of periods I didn't do coding at all, two months breaks or something like that.
Alex Booker (08:10):
Was that the right thing for you to do in retrospect?
Mislav Markušić (08:12):
There's pros and cons. I think that somehow after those breaks, I realized that what I learned before was really there. It somehow consolidated the knowledge, and I knew I wasn't doing it in vain. Maybe I wouldn't get that if I didn't have the breaks, although I would've done it sooner, most likely.
Alex Booker (08:33):
There's a great example. There's an advert here in the UK that used to air where two cars would leave home at the same time, two separate households to get to work, and one driver was frantically rushing to the car. They rev up the car, they drive off as quickly as possible, they speed up to every red light, they get stuck in traffic. The other person is just listening to classical music, sipping on their latte in their travel flask. And okay, yes, the person who was rushing gets there 15 seconds earlier, their hair is a mess, they're super disgruntled, and 15 seconds later while listening to classical music, this other car just rolls up to work and is much happier and probably less phased and will have a better day as a result. I always think about that when I think about goals, because sometimes to go fast, you have to go slow.
Mislav Markušić (09:21):
Festina lente, they say. It's Latin for rush, but slowly, something like that.
Alex Booker (09:26):
There's definitely something here, and I'm curious to learn more about the experience of people listening. Maybe they can tweet at me and let us know how they're approaching their studies, whether they feel this urgency, or if instead they're taking their time. I've gone back and forth on this so many times over the last few years of my career, including learning how to code myself. Because oftentimes I would bring this urgency to my goals, and what would happen is two things. Number one, I would sort of make bad decisions, because I wasn't taking my time to plan and think properly. And the other thing is that I would inevitably sort of burn out, because I was doing too much. And when you zoom out, I was actually going quite slowly. But then long-term consistency always wins in my experience, because if your goal is to learn to code and you want to do this for the rest of your life, then you need to find, I think, a sustainable pace that works for you, and that sounds like exactly what you did, actually.
Mislav Markušić (10:17):
And then I got hired at 40, so I still have a good 20, 25 years in me of a working career, so I think that's plenty.
Alex Booker (10:26):
I agree, man. That's such a bloody great perspective as well, because a lot of people, I think, when they get to that sort of age, they think that it's done. But you've got so much left to go, and I think I mentioned this on a recent episode as well. Say you're 60 years old, coding, with 20 years of experience, and you're talking to another 60-year-old developer, who's been doing it since they were, maybe not the most likely example in this case, but say they've been doing it since they were a teenager, you probably couldn't really tell the difference at that point, because technology moves so fast.
Jan Arsenovic (10:55):
If you have some free time these days, check out Scrimba's YouTube channel. Recently, we made a video where Alex is reenacting a day as a learner developer. You'll hear about a lot of things he wishes he knew when he was starting. You'll see him struggling with React, and you'll also learn some new morning affirmations.
Alex Booker (11:14):
I will remember my semicolons today, I do not need Stack Overflow, and define is a function.
Jan Arsenovic (11:23):
The link is in the shout-outs. And the interview with Mislav will continue in just a second. But first, Alex wants to ask you for a favor.
Alex Booker (11:32):
I wanted to please ask that if you're enjoying this episode and what we do on the Scrimba Pod, that you leave a five-star rating in your podcast app of choice. If you really want to make mine and Jan's and producers' days, write some feedback with your review. It could be something encouraging, which would make us happy, but at the same time, it doesn't have to be glowing. We would rather know what we can improve than have someone quietly turn out.
Jan Arsenovic (11:55):
That's right. We will also switch up the format of the show a bit next year to make it even better. So if you have any suggestions, you can also tweet at us. You can find Alex's Twitter handle and the show notes. And speaking of next year, in our next episode, which is already in 2023, we're talking to Don Hansen, aka Don the Developer, a full stack engineer, YouTuber and coach, who helps aspiring web developers navigate through the BS.
Don Hansen (12:25):
When I was 14, I actually wanted to build websites for my favorite video games. A big fan of StarCraft and different Zelda games, and so I built my first X-page website, I think that's the name of it, and I just want to get information on the page. I thought it was really cool that I could create something like that. So I've honestly experimented with coding ever since I was little. I built a web-hosting company when I was 18.
(12:47):
Then, I went to college for computer networking. Super boring. Switched to psychology. Very interesting, but then I volunteered at the crisis center in Lafayette, and I realized I didn't want to do that full-time. And so what I would do to de-stress the entire time is just code on the side. Then I became an aquatics director, did lifeguard swim instructional, a lot of that just to pay the bills, and I thought that's what I wanted to do, and then I would de-stress through coding. I'd go home, and I'd code for a few hours.
Jan Arsenovic (13:15):
Don's next week on the Scrimba Podcast. And now we're back to the interview with Mislav.
Alex Booker (13:22):
So you've been doing this at a fairly sustainable pace. At some point, you have to ask yourself when are you ready to apply for jobs? How did you approach it?
Mislav Markušić (13:32):
Oh, I was bad at it. I know I should have done it much sooner, but I basically didn't even apply to the job. My friend, he's a programmer, and he knew that I was teaching myself to do it. And he just one day messaged me, "Have you done your portfolio yet?" And I sent him my portfolio, and he forwarded, he sent people at this company, and he knew that they were looking for a front-end developer, and they just contacted me, and we did an interview, and that was it.
Alex Booker (14:02):
This person who forwarded your resume and portfolio, where did you meet them? How did you cross paths?
Mislav Markušić (14:07):
He's my longtime friend. We grew up together, basically.
Alex Booker (14:10):
Oh, my gosh. That's awesome. Once again, proving it's not what you know, it's who you know. When that happened, did you feel maybe you should have started applying sooner, because sometimes you don't think you're quite ready to start applying.
Mislav Markušić (14:24):
I wasn't ready at all. I knew I was getting close. I was finishing my portfolio, and my plan was like, "Let's do this and put in a couple of projects that were still unfinished, and then just go for it, start hooking it all up to LinkedIn account and everything." But this came maybe a month earlier than I anticipated to start applying to jobs. I still didn't think that I would get in right away when I started applying. So it was a year plan or something.
Alex Booker (14:55):
So you must have been pleasantly surprised when this opportunity came about. What do you think they liked about your portfolio? Because obviously if your friend said, "Hey, I know this company," and then he forwarded your portfolio, and they didn't like it, they probably wouldn't interview you. So what do you think were the good parts about your portfolio that made them feel confident that you were worth talking to?
Mislav Markušić (15:15):
Well actually, the manager said that they liked the way that I presented myself. Most of the people that are junior just do, "Read me on GitHub," but they love that I actually made a website. They could see that I can do it and that I can host it and that I've gone through all the process of getting it online.
Alex Booker (15:35):
What kind of projects did you feature in your portfolio?
Mislav Markušić (15:37):
At the record store, I made a small app that fetched albums' info from Discogs, it's a big marketplace online, so it was something that actually helped us work faster at my previous job. So that was one project, and the other project was a bar menu. I made it for a friend's bar, so you just scan the QR code, and you get the online menu.
Alex Booker (16:03):
I'm looking at your portfolio, and there's a price list and there's also a form. Probably that form is for your friend to add new items to the menu, right?
Mislav Markušić (16:10):
Yeah, yeah.
Alex Booker (16:11):
Ah, awesome. I'm so excited we've stumbled upon your portfolio, because I found it, by the way, and we'll link it in the show notes. It's so good. I love the design, it's awesome.
Mislav Markušić (16:21):
Ah, thank you.
Alex Booker (16:22):
Just having your headshot there and then just a very friendly introduction. I like that you've got this section with four columns, which is why hire me? Efficiency, goal-orientated, problem-solving and teamwork. Now, the details of that aside, what I really, really like is that your page has an objective. I think so many times when developers create a portfolio, if they're not asking themselves what do I want this page to achieve, they're maybe undecided about their goal. They're like, "Maybe I'll get a freelance opportunity, maybe I'll get an internship opportunity, maybe I'll get a job. I don't know. Maybe I just won't say what I want, because if they have something that's interesting to me but they don't think I want it, they won't reach out." But no, that doesn't actually work, by the way. You have to narrow down your focus a bit, and that that's exactly what you did.
(17:08):
And then you've got the projects, which are great because they have stories. I think that there are so many generic looking apps out there, NoAPPs, whatever, but in this case, you've actually gone and built things for your friends or that helped you with your job. You're using code to solve real problems, and I think that's so cool to see. And of course, it paints a bit of a picture as well. No wonder they were keen to speak with you. I'll just point one last thing out, which I'm curious what your thought process was here, because you added a page about hobbies, and some people would say maybe keep your portfolio just about coding. Other people are like, "Well, actually no. I'm a human being that's going to bring my whole self to the job. I want to talk a little bit about my hobbies as well." How did you think about it?
Mislav Markušić (17:51):
When you're a junior, you don't really know how to code really well. Any company that's going to hire you knows that. What they're looking for maybe in a junior is more personality. If you're a good fit, if you'll fit in a team, if you'll bring something to the table that's not necessarily just coding. Because basically, I think everybody can learn to code, but to work efficiently in a team, that's maybe something else that's maybe harder to learn.
Alex Booker (18:20):
You actually wrote a post, which were also going to link in the show notes. The post is called My Roadmap to Getting Hired as a Front-End Dev, and in it, you describe a little bit of what we spoke about already, how you started with Free Code Camp and Udemy before moving on to Scrimba. And then you also mentioned that you listened to a lot of podcasts. Hey, I'm just so honored that Scrimba Podcast was mentioned in that list. But you also talk about a lot of very, very good podcasts, like CodeNewbie, Syntax, HTML All The Things with my friend, Mike Koran. So cool to see. But the thing I'm trying to take away from this is that you sort of described that 50% of your tech interview answers came from podcasts, and somehow I get the impression that you had a good idea of what the employers were looking for when it came to your portfolio. But I was surprised to hear for almost half of your tech interview answers came from podcasts, so maybe you can talk a little bit about that.
Mislav Markušić (19:14):
Not just that. I think podcasts were the single most influential thing on my learning. Half my answers were just from podcasts. But also, I knew that I could learn how to code, that I could get a job just from listening to all the juniors that came on Scrimba Podcast and on some others. They always say, "You can do it." There wasn't a doubt that I couldn't do it just by listening to podcasts.
Alex Booker (19:40):
Yeah. Sometimes, I think podcasts are a bit of a cheat code for job interviews, and that's actually the point of the Scrimba Podcast in a lot of ways. When we get to learn about impressed the hiring managers, what questions were asked during the interview, it gives you some impression about what they value, and it helps you decide what to prioritize when you talk. I think when you are looking for a job and you're interviewing, you are essentially selling yourself, and whenever you're selling something, whether it's yourself or a car or a kitchen installation, you're always needing to put yourself in the shoes of the person you're selling to. What do they value? What are their objections? How can they overcome these things? You can't do that unless you have some exposure to it.
(20:22):
Maybe we can sort of pay it forward a little bit and learn about your interview process at the company. So obviously, you got in touch for your friend, the company reached out to you, I guess. What did they say, and can you tell us a bit about the interview process, what the steps looked like and what kind of questions and things they were looking for?
Mislav Markušić (20:40):
Well actually, there was just one interview. First, I talked to the head of the department, and he was just feeling me around with questions about how did I learn, what do I know? And he was just looking for am I a good fit for the team? And then the senior front-end developer came in, and he started asking me questions, and those were basic questions starting with HTML, CSS, then JavaScript. Like I said, a lot of answers I knew from podcasts, something that you don't really learn while coding. For example, one of the questions was is JavaScript single-threaded or multi-threaded? That's not something you come across on Udemy or on Scrimba or wherever. So things like that, you can learn either on YouTube or in podcasts.
(21:30):
The whole interview was an hour-and-a-half long, maybe even longer. And getting to the end, I was more and more sure I knew something, that I have a real chance of getting hired I think. And yeah, the senior developer told me, "You have some knowledge that usually we don't expect from a junior to have, like server-side rendering." I was using the concepts from the Next.js. That's not something a junior developer necessarily needs to know, or stuff like that.
Alex Booker (21:58):
I like what you're saying, because obviously you go and watch courses, and they teach quite specific things, but sometimes, just by watching conference talks or listening to podcasts or flicking through newsletters or watching YouTube videos here and there, listening to ever developers chat on a live stream, you just build this worldview of coding. And it's really the case that when you start something new, you know what you know, which probably isn't very much. And then you've got a nearfield view of what you know don't know. So maybe you're like, "Ah, I've heard of this thing React, but I don't know anything about it." But as the quote goes, it's the things that you don't know you don't know that will get you, because you can't make a plan to learn about things you don't even know exist. So submerging yourself I think in the tech world and content around tech I think really helped you here.
(22:45):
I'm just getting a bit of a picture now for learning to code for around three years and knowing things about server-side rendering, I definitely get the impression that they were like, "Oh, my god. This guy hasn't been hired already? He should have applied to jobs a year ago. He was a junior a year ago. He knows about server-side rendering? That's great." I'm not sure if this was the case exclusively, but waiting a little bit to have the best technical skills you can, it can be a very effective strategy.
Mislav Markušić (23:08):
It was just waiting to feel ready, which didn't come.
Alex Booker (23:13):
It never does. So give us a bit of context there. What is the company, what do they do? How many people do they employ?
Mislav Markušić (23:19):
It's a smaller company. We have around 20 employees. It's a big data company and machine learning, AI, and I'm doing the front end part of it. We have a couple of projects, but I'm on one project at the moment. My mentor is a senior front-end developer, and on my team there are a couple of more front-end people and couple of backend people.
Alex Booker (23:43):
You've been at the company for, I think, a month today?
Mislav Markušić (23:47):
Yes.
Alex Booker (23:47):
Perfect timing, because I'm really excited to learn a bit more about your experience on the job so far. Somehow, I feel like no matter how many Scrimba courses you watch or how many podcasts you listen to, nothing truly prepares you for your first job, because it's a very unique environment. There's no real simulation of it online, except for maybe open source in the right context. So let's just start at the very beginning. Tell us about your first few days on the job. How were you feeling, and what stuff did you get up to?
Mislav Markušić (24:17):
Well, the beginning was you start, you get a laptop or something, and then you have to install everything and get a project from GitHub or whichever place, and that can take some time. It took me three days to actually start working on something. And then you have to read through all the code. If it's not a new project, it can be overwhelming, a lot of code that you don't really read while you are learning, because every piece of code basically you wrote on your own. Now, you have different people doing different code structure, and you have to read through all of it, maybe learn some new technologies that you don't know, and it can be problematic in the beginning. Then, you start with small tasks, if you're lucky like me and get a great team. They gave me small tasks to familiarize myself with the code and with what I'm going to do and how I'm going to do it. So baby steps.
Alex Booker (25:18):
How many lines of code would you say this code base you're working on is? By the way, I totally see what you're saying. When you're learning to code, you write and read all your own code pretty much. But then you go into a team, and not only is it someone else's code, there's a lot of it.
Mislav Markušić (25:32):
I don't know. I would say 15,000 lines of code, maybe.
Alex Booker (25:36):
Yeah, quite significant in comparison to some of the apps you might build when you're learning.
Mislav Markušić (25:40):
And of course, you have all those node modules, all those dependencies that have some code that maybe you need to read to get what you're trying to do.
Alex Booker (25:49):
Yeah, 100%. And what kind of meetings did you have in your first few days? Did you have some one-on-one meetings or stand-ups or did you get lunch with the team or something? What was the sort of social and meeting experience like?
Mislav Markušić (26:04):
We just have one meeting a week, every Tuesday, but I'm always asking my mentor how to do something, or I'm not doing it all alone. And a lot of times, he spends with me like paracoding or something.
Alex Booker (26:20):
How does it feel to have a mentor and help after all these years doing it by yourself?
Mislav Markušić (26:25):
Oh, that's great. A lot of times, I would just get stuck and don't know how to proceed, and sometimes I even stop doing the project, because I was so stuck, I didn't know what to ask. I could go to Stack Overflow, but how to ask what I'm needing. That was the problem. Now I know more, I know how to search for something. And having a mentor, you can see progress going on daily when you have a mentor like that.
Alex Booker (26:55):
I'm going to ask you a slightly silly question, okay? I want you to imagine you're a car on the motorway, okay? I want you to tell me how many miles per hour do you think you were going learning at home by yourself, and now you're at the job, and you're learning on a real code base with mentors, and you can spend all day doing it. And obviously you're getting paid, so you can focus on it full-time. How many sort of miles per hour are you going now?
Mislav Markušić (27:18):
Okay, let's say I'm at 60 now on a highway, and I was on 15, 20 or something. I was pulled over by cops for going too slow.
Alex Booker (27:29):
That's awesome. The funny thing about being a junior developer is that sometimes you fall in this trap of thinking that you need to join a company and hit the ground running, and you need to be really, really highly skilled to get started. But actually, what a junior developer opportunity represents is someone investing in your potential. They see that you have enough foundation that they can speed you up, they can help you learn quicker, they can help you start contributing to real code bases quicker, and they can accelerate your career, not least of which because you're getting paid and you can focus on it full-time.
(28:04):
I spoke with Madison Kanna recently, and she was a self-taught developer learning at home. She went to a company in her area, it was actually in the Bay Area, and said, "Hi, can I work for you for free for a couple of months?" So it's actually got nothing to do with money in her case, but once she joined the team, she describes her learning as two, three times faster, just like yourself, Mislav. So I think we're getting onto something here. What are some of the things that surprised you about working on a real software team?
Mislav Markušić (28:29):
I don't know. In the beginning, it's hard to find anything. I opened a project in a browser, and I couldn't find where an element is, how to find which CSS part is controlling. You have to just read through the structure to see what is where. And first day was like, "Damn, I don't know anything."
Alex Booker (28:51):
And today, how'd you feel about it month later?
Mislav Markušić (28:53):
Oh, much better, much better.
Alex Booker (28:55):
A month isn't that long. It's funny how quickly things can change.
Mislav Markušić (28:59):
Yeah, but now I know at least where I can find something.
Alex Booker (29:03):
Now that you've got the job, now that your sort of beginning, your very beginning is behind you, what are some of the things that you wish you knew that you could maybe share with people listening today? What's something you learned that you wish you knew at the beginning?
Mislav Markušić (29:17):
Maybe, I think, using a small amount of TypeScript would be much better, not running into many issues than I ran into when I was learning. With TypeScript, you can set variables to be specific types, and a lot of times, most likely, it would be is something undefined and can it be undefined? And the problem that it is actually undefined when you think it's for sure not undefined is a problem. That's something that TypeScript will let you know while writing code.
Alex Booker (29:48):
That's a very interesting perspective actually, because you definitely don't need to know TypeScript to get it a junior developer job, and some people might even say that TypeScript is a distraction or something, because you can just focus on JavaScript, and TypeScript obviously has a learning curve, since you're now learning about a statically typed language. But maybe in the long term, just the basics of TypeScript, you're only describing type checking basically, because it'll save you so much time in the long run when you're hitting your head against the keyboard. Because apparently, undefined is not a function, or you're passing an integer when you're meant to pass a string or something just silly like that.
(30:23):
I'm with you 100%, by the way, because I started my development journey using statically typed languages. I had this big catalyst where I switched to front end in JavaScript and Linux and Node and all that stuff, and just the amount of stupid bugs I ran into with JavaScript, it never would've happened with static typing and the amount of time I wasted. TypeScript wasn't as established back then, by the way, but now it is. I think maybe you're onto something.
Mislav Markušić (30:48):
It's great that you can opt in and ease into TypeScript now.
Alex Booker (30:52):
You can incrementally adopt it, can't you?
Mislav Markušić (30:54):
Yeah.
Alex Booker (30:54):
So that just means that vanilla JavaScript is technically TypeScript. You can do no TypeScript and still call it a TS file, but then you can gradually or incrementally use the simplest features then if you need them, more complicated features later. Your project at work, you're using TypeScript or something there?
Mislav Markušić (31:12):
Yeah. We're using TypeScript.
Alex Booker (31:13):
It really makes a big difference on teams as well, doesn't it? Because now your code is a bit more like soft documenting, and obviously, when you're working with others, you don't always have the contacts around what a function is meant to return or what some service is meant to return. Just having a bit of type annotations can really make the code more easy to understand.
(31:31):
Well, Mislav, I'm so happy that you've got this opportunity. Sounds like things are off to a great start. Thank you so much for taking some time to hang out with me and tell us about your story here on the Scrimba Podcast.
Mislav Markušić (31:41):
Thank you.
Jan Arsenovic (31:42):
That's it for the last episode of the Scrimba Podcast in 2022. We haven't skipped a single week this year, so if you're new to this show, feel free to go through our backlog. There are 52 great interviews from this year alone. If you made it this far, of course, please subscribe wherever you listen to podcasts. If you're tweeting about the show, make sure to mention Alex. Once again, his Twitter handle is in the show notes. I'm your producer, Jan, and we will see you next year.