Learn about how good habits can be deliberately formed to advance your skills!
The path of teaching yourself to code isn't for the faint of heart. It takes consistency, discipline, and the ability to recognize you're actually making progress. Tutorials are an excellent tool, but they are also a trap.
If all you do are tutorials, retaining the skills you learn is going to be extremely difficult. Without applying those skills they aren't going to become ingrained, and you aren't going to see how they're used in context. You also won't make progress if you aren't being consistent. Without consistency, your skills will fade and when you start coding again you'll have to relearn things instead of advancing on to more advanced topics.
In this episode, Tiger Abrodi chats about how he uses projects, habits, and self-assessment to consistently advance his skills as a programmer.
Take 20 minutes to do a little self-evaluation and assess how well your professional growth as a developer is going.
Write down some specific habits that you want to develop to help you with your goals
Kent C. Dodds (00:00):
Hello friends, this is your friend Kent C. Dodds and I'm joined by my friend Tiger Abrodi. Is that how you say your last name, Tiger?
Tiger Abrodi (00:07):
Yes, Tiger Abrodi.
Kent C. Dodds (00:09):
Okay, cool, thanks Tiger. Say hi Tiger.
Tiger Abrodi (00:13):
Kent C. Dodds (00:15):
So I did ask you to say hi Tiger, but that's okay. So Tiger, I'm excited to have you on to chat with you about various things. I won't get into that right now, I want our folks to get to know you, but I met you through the KCD community on Discord. I think that's where we first interacted, we may have interacted on Twitter a little bit before, but yeah.
Kent C. Dodds (00:38):
When I started the Discord community, you very quickly became one of, in fact you were until recently when I reset all the reputation levels, you were number one in reputation on the KCD community on Discord.
Kent C. Dodds (00:53):
You're very active, a really positive influence in the community, in fact, I think a lot of what the community is today is because of your influence early on, especially. So I really am grateful to you for that, just very positive uplifting and yeah, an enthusiastic influence on the community.
Kent C. Dodds (01:13):
So thank you for that, and you continue to be, so I'd love for the audience to get to know you a little bit. Could you give us an intro to yourself? You can be as personal or professional as you want, anywhere on that spectrum, I would love to get to know you a bit.
Tiger Abrodi (01:28):
Yeah, sure. I'm Tiger Abrodi, I'm 20 years old, a software developer based in Germany. In my spare time, I enjoy watching anime, I also love doing sports and I also love coding a lot in my spare time as well.
Kent C. Dodds (01:48):
That's awesome, there's definitely a defining characteristic of you is as your love for Naruto. When I was a teenager, I was really into Naruto, I think I got about 250 episodes in. So pretty far along through all of that and then I haven't watched anything much ever since.
Tiger Abrodi (02:13):
It's a lot of episodes.
Kent C. Dodds (02:14):
Yeah exactly, it's a long series and it's very interesting, it's an entertaining show for sure. One thing that's always kind of confused me is I had friends who were into that and they're the ones who introduced me and they always pronounced it ah-nimay because that's how it's pronounced in Japanese, I believe if I'm not mistaken.
Kent C. Dodds (02:35):
But everybody else calls it anni-may, and I have always been confused by that. Am I just crazy, why do we all say anni-may instead of the correct ah-nimay? Like the way that a Japanese pronounce it?
Tiger Abrodi (02:51):
I have actually no idea, I've always said anni-may. It's kind of weird, I've actually never heard ah-nimay before to be honest.
Kent C. Dodds (02:59):
Yeah, I don't think many people refer to it that way, but my friends, they knew Japanese and everything. They were really into that culture, and so they always called it ah-nimay and that was how I was introduced to the genre, and so it was always like, I was confused when people started saying anni-may but anyway. Now I have to say anni-may, otherwise people look at me funny. So anyway, it's just a pleasure to chat with you, like I said, you've just been such a positive influence in the community.
Kent C. Dodds (03:32):
So when I was planning season four, you were one of the first people that I thought about, just because I really thought it would be a pleasure to have you on the show and you mentioned earlier that you're 20 years old, so you've kind of just started in the software development industry, as like a paid person. I'd like to get an idea of how you got into software in the first place though, can you kind of give us an intro to yourself there?
Tiger Abrodi (04:00):
Yeah, sure. It's a long story, it started way back when I was 15, because I moved from Sweden to Germany at the age of 14 and I've always, back then I was asking my mind, what do I want to become? So, programming was one of the things and I initially wanted to become a game developer, but that didn't go well and I eventually found one way into web development and as time passed, I kind of lost two school years when I was in high school because I had to learn German as I moved to fit in Germany.
Tiger Abrodi (04:38):
So for me, I always wanted to find something that could make me start working right away without having to study at university or maybe even finish high school. So I continued the path of web development and eventually, I took it very seriously and became very committed to it, started applying for jobs and eventually landed a job as a software developer, and then after that, that's when I dropped out of high school and landed a job as a software for the last year, and I've been working now for about eight months. That's like a high level view of this whole journey, it's kind of more detailed, but yeah.
Kent C. Dodds (05:30):
Yeah, sure. I'm sure there's plenty of nuance and maybe we'll get into some of that through our conversation. So would you say that your journey into software had like. well, let me back up. What were some of the biggest challenges that you had in getting into the software industry, like with your unique path into it?
Tiger Abrodi (05:50):
I think the hardest thing is from learning to actually landing a job as a developer. But for me personally, I was just in a tutorial hell for like two years. So tutorial hell means you're just doing tutorials after tutorials, and then after those two years, I sort of called myself a full stack developer, but I couldn't build anything, it was just crazy. So I actually went back and relearned most of the stuff that I already done tutorials in, and that's when I realized, okay you really need to build stuff to actually learn them.
Tiger Abrodi (06:29):
So that's what I did as well, and also noticed that if you want to learn the opposite developer, you have to build projects and then put them on your portfolio, so people can see what you're actually built, because just doing a course and perhaps getting some certificate, a lot of people that can fake those certifications and that's why it's so important also to build stuff yourself.
Kent C. Dodds (06:56):
Yeah, so would you say that the tutorial, like the time that you spent in the tutorial space, was that at all helpful? Like, should you have just thrown away all the tutorials and just been a hundred percent building stuff? Or is there a good mix with, like the instructional material supplemented also by building your own stuff?
Tiger Abrodi (07:15):
Oh yeah, for sure. I think you can do one tutorial and then build stuff. So what I've found for myself that recently worked and in the past year or so, would be to spend most of your time building stuff and less of the time doing tutorials because when you're actually building stuff, that's when you're doing the mistakes, that's when you're failing, that's when you're actually learning and growing.
Tiger Abrodi (07:45):
So that's why my focus, if I could go back, I would try to do a tutorial. Maybe right in the beginning, maybe I would do a tutorial completely and then build stuff, but most of the time would have been spent into the building part.
Kent C. Dodds (08:05):
Yeah, absolutely. I think that's key, and when you focus so much on tutorials, you're really putting your growth in the hands of somebody else and that is whoever wrote the tutorial, and so that means you're at the mercy of how skilled they are as an educator, and sometimes you'll get lucky and maybe you'll get an epic react, just kidding, tooting my own horn there. But other times, even with epic react, it's the same. I do try to make sure people are at the keyboard the whole time and everything as much as possible so that they're experiencing things.
Kent C. Dodds (08:43):
I don't teach, I have you work through things first, so you can make all this mistakes and then I teach you that. So I've thought about this a great deal and try to incorporate that idea in my own teaching, but even with epic react, I think building your own stuff is really critical to your personal growth. Would you say that if you had done that you would have been able to get into the software industry faster and maybe had an easier time getting into tech world?
Tiger Abrodi (09:14):
You mean spending most of the time building instead of?
Kent C. Dodds (09:16):
Yeah. If you'd had a better balance, rather than the two years of being in tutorials all the time, if you'd had a better balance of actually building stuff, do you think you would have gotten into things faster?
Tiger Abrodi (09:26):
Yeah, definitely. I think as mentioned, I went back, I started relearning stuff, even to the CSS, I went back and started building stuff with that already. So definitely would've, I think maybe doubled the time, I would say. I would have learned much faster, so to speak.
Kent C. Dodds (09:54):
Yeah. One thing that people ask me often is like, how are you so productive, how do you learn quickly? And something that I tell them is that, we're all given the same amount of time, it's not like any of us has extra time on our hands, and we're all trying to invest in our own growth, but there are things that you can do to increase the impact of your investment of time so that you get a bigger return on your investment of time.
Kent C. Dodds (10:27):
What are some of the things that you do to get a bit like, maybe some of the things that you maybe should have done, or some of the things that you're doing now that are different, that have given you the biggest, most valuable return on the investment of time?
Tiger Abrodi (10:43):
So I think when it comes to learning and when it comes to becoming good at any skill in life would be to build habits, because if, let's say you build a daily habit where you are doing something focused, it doesn't have to be programming, but it can be any skill, but you're focusing on your learning and practicing that skill on a daily basis for a certain period of time, let's say an hour, two hours, maybe three hours a day. After months and years as time passed, you will become very good at that skill. So that would be my advice to people, to build a daily habit where you're doing something regularly and as time pass, you will get much better.
Kent C. Dodds (11:42):
It sounds like that takes a lot of discipline, like your self-will or how do you develop? So I think we all have habits, I think most of our habits are accidental, we just kind of fell into this and they may be good, they may be bad, but in either case, we weren't intentional about our habits.
Kent C. Dodds (12:01):
Do you have any suggestions on ways to, well, I guess this is a two-part question. First one, I'm curious how you identify good habits that you want to develop, and then second, how do you develop those habits? So on the first one, how do you identify good habits for you that you want to develop?
Tiger Abrodi (12:22):
Good habits? It's a tough question to ask you, but I would say, I'll look at what am I doing, and as time passes, what do I win out of, because when we talk about time specifically, we want to do something regularly in order to win in the long-term. So to answer this question as a whole, that would be when you start building a habit, when you start doing something on a daily basis or on a weekly basis, start doing it small. Don't try to code for six or seven hours a day, rather, try to start with 30 minutes a day, maybe an hour a day, and as the weeks pass, you can increase that time. That would be my advice.
Kent C. Dodds (13:22):
Yeah. So as for getting into a new habit, starting with something that is accomplishable, sometimes you start habits that you can never find success and it makes you sad, and so you give up on them. But yeah, starting with something that you can accomplish and do on a regular basis, how do you develop the motivation to keep? Yeah, go ahead.
Tiger Abrodi (13:49):
Yeah, so to add on that, that's why I think it's so important to track your progress because it's something that I recently started doing as well, or in the last year, so to speak. Because if you're not tracking your progress, I personally enjoy having doing a self reflection and self analysis every Sunday, and especially if you're not tracking your progress, you can eventually become in this dillusion that you're actually not accomplishing anything, and then you can give up. So that's something that's happened for me and that's why I believe in checking your progress, even on a daily basis, I would say it's very important to understand that you're moving forward.
Tiger Abrodi (14:28):
Because if you're making progress, the key is patience, if you're making progress, it's all about being patient to actually accomplish your end goals and that's why I believe trying to track your building habits, staying consistent and then tracking your progress on a regular basis, whether that be daily or weekly and just making sure that you move forward, that's the key to make progress.
Kent C. Dodds (14:51):
Yeah, you made me think of a quote that I just looked up, and I didn't realize this is called Pearson's Law, I didn't realize this was a law, but the quote is, "when performance is measured, performance improves. When performance is measured and reported back, the rate of improvement accelerates." and so... Actually, years ago I was serving a mission for my church, and this was actually a quote that we talked about a fair bit, where we constantly are reporting on, we had these key indicators and every lesson you would think about, okay, so how did that lesson go, how could it be improved and everything, and yeah, I've found that when you are self-aware and you kind of have that self-reflection, that your ability to improve just grows a great deal.
Kent C. Dodds (15:47):
And I like the angle that you come at that Tiger, where it's useful to self-assess yourself as a mechanism for saying, hey, you actually are accomplishing stuff, good job you, and then also finding areas of further improvement as well, that takes a great deal of self-awareness. When I think about doing that, cause I don't do that right now, I don't have a weekly self assessment or anything, and so when I think about doing something like that, my first thought is it would be very hard for me to stay motivated to actually do that and sit down. What is that self assessment look like for you, what do you actually do? Do you write things down, do you have post-it notes or whatever, and how do you stay motivated to do that each week?
Tiger Abrodi (16:49):
I think what motivates me the most is, as mentioned, to understand and make sure that, not just to understand that I'm making progress, because I think when you have habits and when you're doing things on a regular basis, you're making progress, whether that be small steps or big steps. But I think what is more so important for me is, when I do the self analysis and reflections, what I do is I'll sit down for 15, 20 minutes and look back in the week. What have I done, what have I accomplished? Even if it's small things, like I've read a few pages, etcetera, but these are still progress made.
Tiger Abrodi (17:38):
So I sit down 15, 20 minutes and look back at the past week, what I've done. I don't really write things down, I really enjoy just thinking and making sure that I've done progress. If I haven't done progress that week, then it's more like, what can I change to actually make progress? But that hasn't happened yet luckily, so that would be my first tip, just to make sure that you're making progress and see what you can improve on the next week.
Kent C. Dodds (18:15):
Yeah, boy that is very self-aware of you and you should be proud of yourself for that, I think that's just great and I would encourage everybody to think about that. One habit that I've recently developed that is kind of related to this is, my 2021 theme is planning. I decided that's my word of the year is planning, and so I got this paper notepad and I carry this around with me and a pen, and at the beginning of every day, I just write down all the things that I want to accomplish that day, and then I crossed them off. Sometimes throughout the day, I'll write something down that I did and I'll cross it off just as kind of like a, I did this, and I found that at the end of the day, sometimes I don't feel like I get much accomplished.
Kent C. Dodds (19:04):
I didn't do anything useful, and then when I look at that list, I say, oh no, actually I did get quite a bit accomplished. So this is just another example of how a self-assessment can motivate and keep you feeling encouraged about yourself, and there have been many times throughout my day where I'll say, you know what, I am wasting my time on this YouTube video or something, I need to get something done, and I can just look at my list and I say, okay, I don't want to do that, but I'm going to so I can check it off, and so that's a habit that's helped me.
Kent C. Dodds (19:37):
Are there any specific habits that have really helped you for as like you're learning? I know you're a professional web developer and everything, but especially as you were getting into the industry or any time you're learning something new, what are some of the habits that you employ to make sure that you're growing as a developer efficiently?
Tiger Abrodi (20:02):
That's also a bit of a broad question, but I would say even when I start building a new habit, I always start small. Even when it comes to reading right now, I read about 30 minutes a day, sometimes even an hour a day. But before, I used to start with five, and even 10 minutes a day, because I didn't like reading.
Tiger Abrodi (20:23):
So that was also one of the things, which is a great example. Or when I look back personally, I started small, but then I increased the time on a weekly basis. I increase it by five minutes, and from there, it turned into a habit that had stayed and I've read a lot recently, it's been great.
Kent C. Dodds (20:46):
Cool. So reading, is there anything in particular that you're reading that has been helpful to you?
Tiger Abrodi (20:54):
I really enjoy reading technical books. Some people find or are very critical about these books, but I try to be very open-minded and see what are the valuable lessons that I can learn from these technical books and where can I apply them into not just when I'm working on my side projects, but also in my day-to-day job.
Kent C. Dodds (21:17):
Yeah. I have admiration for technical books, but I have a really hard time reading just in general, I fall asleep. When I was in college, I would take my textbook and I would walk around on the inside, but around the perimeter of the library and it was like four floors, it was an enormous library, and I would just walk and read as I walked, because if I didn't, I would fall asleep.
Kent C. Dodds (21:46):
I fell asleep reading Harry Potter. I can't read, I don't do it, I don't read, which is funny because I write a lot with my blog posting stuff, eventually I'll probably write a book. So I struggled with reading, I do audio books quite a bit, but even then I have to be engaged in some other activity or I'll get distracted easily. So I admire people who are able to read those books, cause this is definitely a character failing of mine.
Tiger Abrodi (22:16):
Yeah, that was also like me in the beginning, I just don't like reading, it feels so boring for some reason. But I think when you build a habit, I remember this show, Stu Hig describes the habit as something that takes little or no mental energy to do. So I think that is also something that has to do with habits, is that as time pass, things just become very easy to do because you're accustomed to them, right, and that's why they become easy to complete.
Kent C. Dodds (22:56):
Yeah, that makes me think of this last winter. I started getting back into snow sports in the mountains, so skiing and snowboarding and it's been over a decade since the last time I did that, but I was pretty good at snowboarding, I thought, and so I went a couple of times and I was like, you know what? I know that I'm doing things wrong. I would watch YouTube videos and stuff and I'd see them do this stuff, and I'm like, I don't know how to do what they're doing.
Kent C. Dodds (23:25):
So I got a lesson, and one of the biggest frustrations for me from that lesson was I knew I was doing things wrong, but I didn't know how to do things the right way, and when they were teaching me, I had to totally forget everything that I'd done before and change the way that I was doing things so that I could do it the right way.
Kent C. Dodds (23:47):
So, we were doing dynamic skidded turns, apparently you can actually bend your snowboard, which is not a thing that I'd ever done before, and so the turning starts from the feet on up rather than just shifting your body weight and stuff. So in the process of doing that, I became much worse at snowboarding and it was quite frustrating because I felt like I was pretty okay, I just wanted to get a little better and I got much worse at first, but I trusted the process and I trusted my instructors, and the reason that I was much worse was because I was focusing so much mental energy on doing what my instructors told me to do and controlling my turns the right way, and eventually, those things as I focused that mental energy, I was able to dedicate less mental energy to that activity because I got used to it and I became familiar and it just turned into a habit.
Kent C. Dodds (24:50):
Tiger Abrodi (25:39):
Yeah, and as you mentioned, when things are hard to do, again all this starts small, and then from there people can increase. Because starting with something big is always pretty hard, taking a big step in the beginning. When we were babies, we started with small steps before we could run or walk very fast, so always start small and from there, increase. That's the best way to go in my opinion.
Kent C. Dodds (26:12):
Yeah, I think that's good advice. Another thing that you mentioned earlier was that you had to go back and relearn HTML and CSS and kind of the fundamentals of the web, and I think this is actually another kind of key takeaway, is that often when we're getting started in software, we skip over the fundamentals accidentally, and in fact, I think it's a good thing because if we just said, okay, I've got to learn all the fundamentals first, it's too boring.
Kent C. Dodds (26:44):
You don't get to deliver anything, you don't see the practical application for what you're doing. I almost didn't go into software because my education kind of pushed me into fundamentals first, and I just could not see the practical application of what I was doing. It wasn't until I started building stuff that I was like, oh wow, Software is actually really fun.
Kent C. Dodds (27:06):
So, yeah. I'm curious what you have to say about like, where's the balance between, I just want to go out and build something and ship something, versus I need to level up my skills and learn the fundamentals?
Tiger Abrodi (27:23):
Tiger Abrodi (28:09):
So when I went back and relearn this stuff, I actually just started building things with HTML and CSS, because I knew some already, since I'd done the various tutorials. So that would be my advice, just build things from the very beginning, and from there, move on. You don't need to go very deep and have a very deep understanding of the various technologies like HTML, CSS and all the different selectors, but you should really focus on building things, and as time passes, you can choose when you want to sort of deepen your understanding, I would say.
Kent C. Dodds (28:45):
Yeah. Cool, that sounds great. Thank you for that Tiger, this has been an awesome conversation, but the time is coming down to a close. Is there anything else that you wanted to talk about that we didn't get a chance to?
Tiger Abrodi (28:59):
I don't think so, it's been great. I think one advice that I would give to people who have landed a job as a software developer and are working now, or you started working as developers, I think I would give them two advice. The first one would be, don't be afraid of asking, always ask and be curious, and that will help you grow and learn a lot, and the second one would be to, what has helped me is to continuously build things in your spare time, but also build things with the technologies you use at work.
Tiger Abrodi (29:29):
Because oftentimes, when you're working on a large project, you're using various libraries like storybook, or maybe some date library, etcetera. So yes, try to build things with what you're using at work in your spare time because that's going to help you. From my experience, that's helped me grow and learn exponentially.
Kent C. Dodds (29:51):
Yeah, that's great advice. Okay, so we do have homework for you all, friends. So here is what we want you to do to improve yourselves. So we want you to take 10 to 20 minutes, to just sit back and do a little self-evaluation and assess how well you're doing and your professional growth as a developer, and then once you've kind of thought about that, hopefully you have some ideas of ways you want to improve that and write down some specific habits that you can learn to develop, to grow more efficiently. Anything to add to that, Tiger?
Tiger Abrodi (30:28):
No, I think that's perfect.
Kent C. Dodds (30:31):
Awesome. Well Tiger, it's been awesome to chat with you. Where's the best place for people to connect with you and keep up with what you are doing?
Tiger Abrodi (30:40):
I think Twitter, Twitter would be the best place. If people want to reach out more, I'm always around the corner to help others, even in things like fitness and nutrition and not just programming, I'm happy to help. You can find me on, I think my Twitter handle is TAbrodi, so T and then Abrodi.
Kent C. Dodds (31:02):
Awesome. Yeah, and we'll have that in the show notes too, and yeah, this has been great. Thanks so much Tiger, and we'll see everybody in the future. Goodbye.