Summary
In this episode, we discuss ways to overcome career plateaus and accelerate growth as a developer. We explore the importance of certifications, teaching others, code reviews, and testing, as well as the value of exploring new technologies and libraries. We also touch on the idea of pivoting to a new area or role to stay engaged and motivated.
Detailed Notes
In this episode, we explore the concept of career plateaus and how they can hold back developers from reaching their full potential. We discuss the importance of certifications, teaching others, code reviews, and testing in helping to overcome these plateaus. We also examine the value of exploring new technologies and libraries, as well as the potential benefits of pivoting to a new area or role. By continually learning and adapting, developers can stay ahead of the curve and achieve their goals.
Highlights
- Certifications can be a valuable way to learn new skills and move off a plateau
- Teaching others can help you learn and retain new information
- Code reviews and testing are important for improving code quality and catching mistakes
- Exploring new technologies and libraries can help you stay up-to-date and adapt to changing industry needs
- Pivoting to a new area or role can be a way to reinvigorate your career and stay engaged
Key Takeaways
- Certifications can be a valuable way to learn new skills and move off a plateau
- Teaching others can help you learn and retain new information
- Code reviews and testing are important for improving code quality and catching mistakes
- Exploring new technologies and libraries can help you stay up-to-date and adapt to changing industry needs
- Pivoting to a new area or role can be a way to reinvigorate your career and stay engaged
Practical Lessons
- Take online courses or certifications to learn new skills and stay up-to-date
- Teach others what you know to reinforce your own understanding and improve your skills
- Conduct code reviews and testing to improve code quality and catch mistakes
- Explore new technologies and libraries to stay ahead of the curve and adapt to changing industry needs
- Consider pivoting to a new area or role to stay engaged and motivated
Strong Lines
- Just a little bit of effort every day ends up adding into great momentum and great success
- You don't want to get too comfortable where you're at, because that is not, you're not going to be growing in that situation
- If you sort of, if you coast, if you're in a rut, you're not, you're probably not moving forward
Blog Post Angles
- 5 Ways to Overcome Career Plateaus and Accelerate Growth as a Developer
- The Importance of Certifications in Helping Developers Overcome Plateaus
- Teaching Others: A Key to Learning and Retaining New Information
- Code Reviews and Testing: Essential for Improving Code Quality and Catching Mistakes
- Exploring New Technologies and Libraries: Staying Ahead of the Curve and Adapting to Changing Industry Needs
Keywords
- career plateaus
- developer growth
- certifications
- teaching others
- code reviews
- testing
- new technologies
- libraries
Transcript Text
Welcome to Building Better Developers, the Developer Noor podcast, where we work on getting better step by step, professionally and personally. Let's get started. Well, hello and welcome back. We are continuing a season where we are going through the developer journey. We are Building Better Developers. We are Developer Noor. I am Rob Broadhead. I'm one of the founders of Developer Noor. I'm also a founder of RB Consulting, where we help you with technology sprawl and all the pain regarding that. So we help you to automate. We help you to simplify. We help you to integrate all your systems to get that big sprawling thing you have down into a nice, lean, clean machine that allows you to just get your job done and not worry about the technology. Going with our sort of newish thing that we've got with a good thing, bad thing. I think I'll go ahead and throw mine out there real quick. Good thing is my youngest kids moved out of the house this weekend and we helped them move along with that was a bad thing because the first thing we did is we rented a trailer and when we got there, we did not have the right size hitch. So somebody had to go back and get the bag of hitches basically so we could get the right size hitch for the trailer. So moral of the story is either check beforehand or bring your big bag of stuff because you never know. Actually, you do know. If you don't bring it, you will need something in the bag. If you don't bring it, I mean, if you do bring it, then you probably are fine. So you might as well go that route. On the other side that's got his big bag of tricks and so much more is Mike, if you can go ahead and introduce yourself. Hey everyone. My name is Mike Mulosh. I'm one of the co-founders of Develop-a-Nerve, Building Better Developers. I'm also the founder of Envision Q8 where we take test-driven development and apply it to help small to mid-sized businesses and clinicians build software with testing in my to reduce the cost of software development. Good and bad. Good. I finally fixed the two gates we've had on the farm for the last four years. Had to get all the parts for it. The bad news is I had to make multiple trips to Lowe's to get multiple parts because I either didn't have the right clip or the wrong little clip was too big or too small for the Lowe adapters to get the tension wire right. Yeah, short follow up to that. When my oldest moved into his house, first time he got a house and moved into that, he knew he was truly adulting in that first weekend when we were moving him in. He had like 10 trips to Lowe's that day. He just kept going back. It was like, oh, I need to get this. I need to get that. He's like, wow, I've almost never been to this store. And now he's been there like, we told him like, you're going to be there a lot. Just trust me. Moving on. This episode, we're going to talk about like, basically, it's a getting off of the plateau. It's growing after off of a plateau. And it's really, it really is where we have these situations where we particularly early on, either in our career or learning language or a new environment, you sort of, we'll call it you drink from the fire hose. You're just like learning, learning, learning, learning, learning. Every time you get in there, there's something new you're learning. You're getting better. You're getting better. At some point, you sort of plateau your company. You're comfortable with it and you can use it. And maybe you're even a, you know, what they would call like a power user or something like that, or very, you know, a accomplished developer because you have a long list of things that you can solve with that tool. But maybe you're not a guru or an expert or something because you, maybe you self-taught or you've had a couple of lessons or a couple of classes. Maybe you've gotten some sort of a certification or something like that, but not really like truly mastered that skill or technology. And that's where I want to talk about today. So what happens when you find yourself in that plateau? And what are some ways that we can do that? Now, one of them I've already mentioned is certifications. I have found certifications very often, particularly when there's a, I will say like a family or a series of certifications within a technology. Those are very helpful. Yes, it's great on paper and you can say, hey, I'm certified and blah, blah, blah. But in a lot of cases, going through the process to be certified is in itself a really good learning opportunity. You may or you probably know some level of what you're being certified on, but then there's going to be all these details. As an example, you can go back to, you know, just pumping or pushing our own goods, but you can go back to some of our prior stuff. We actually have a whole series in YouTube that is getting a Python certification. And in doing so, I've been Python programming for quite a while, but going through the syllabus, there were several things that I just didn't use very often. So it was a really good way to like explore all the pieces of that. Now, in my past experience in certifications, I will throw out extra props to the, well, actually there's two places. One was the Java series of certifications way, way back. One of the things that the certified and certified developer was at the time or certified architect, I can't remember what it was, but short story is the certification process was a test plus building an application. So they said this, which walked you through, here's the requirements, here's what you need to do. Here's some things that you have to do in part of making this application work. So it made sure that you, for example, your database was not a database. It was a binary store. She had to be able to work with that and you had to put data in and pull it back out, things like that. Those application type certifications are awesome. Another one is really anything I've touched and I haven't gotten all deep into it, but any of the Amazon web services certifications. And there's, I think something like 4.2 billion different certifications there for all their services. But the certification process, learning it, understanding the syllabus even, and just walking through all the features. Every time I've done that was, it was really an educational experience. So those are great ways to move off of a plateau is basically push yourself to almost go back into the academic world a little bit through certifications or maybe you get like a mastering blah, blah language, you know, mastering Ruby on Rails or something like that kind of book and almost read it like almost page from front to back instead of using it as a reference. Or maybe even like if they have something with like step one, step two, step three, learn it in 30 days is actually go through those and really dig into the things that you don't use as much. And this could be, or maybe it is as simple as say, I've never used multi-threading in this language. I want to see if I can do that. I have never, I don't know, done like bit level graphics in this. So I want to go try that. If you can think of something that's a problem you solve somewhere else, then maybe solving that in this new language will help you grow. Now, the one other thing I wanted to throw out before, and then I'm going to throw it to Michael is because we do this all the time is pointing to the, you know, step of the day kind of approach. One of the things you can do with this instead of, you know, maybe having a side project or going into certification is just, it goes back to almost like a personal code review. Take a look at stuff that you've done in that language, pick a function and a class or something like that, and then review it with an eye towards, is there a possibility that I could do this differently? And it may be as simple as take that piece of code and throw it into like, this is actually a good use of AI or something like take that code and throw it into, you know, a chat GPT or something like that and say, how else, what's a different way to write this code or what would be a better way to write this code or something along those lines? Because what you'll end up finding often is that you're going to have your, we'll call it your crutch. And the thing I think of most often is in the world of Java and their collections, as there's a lot of different collections and there is a specific strengths and, you know, strengths and weaknesses to each of them. But most of us have the one that we fall back on. It's the one that we're most comfortable with, the one that we use the most often, and it may not be the best. And so if it's something you haven't used very often, something like this where you're going back to that code review, you're pushing, maybe you look at use like a study code analysis tool or look up like best practices or something like that with that language or that environment, then you may find a couple of things that you haven't used and that will allow you to, you know, kick it up, kick it up a notch, basically, and maybe move off of that plateau. I know I hit a couple of things sort of lightly and maybe the one deeply, but now I want to throw that over to you, Mike. And what are some of the things that you do and some of the ways that you move yourself off of that plateau when you find it? So I like how you touched on certification, you know, kind of self-warning, digging into the current existing technology. So I'm going to keep us in academia at the moment and kind of build a little bit off your certification. So I, like Rob, agree that certifications are a jumping point to kind of get you started if you're not sure where to go within your current technology or language. However, I'm not a huge test taker person, so I don't do very well with standardized tests. It takes me twice as long to prepare for those exams. However, and that's where I'm going to go with this, is keeping it within academia. If you want to expand your knowledge of something or learn something new, go at it in the mindset of teaching it to someone. So a lot of the ways where I learned something new, and I did this a lot over the last decade or so, is if I needed a skill or I wanted to expand a skill, I would either start writing courses to try to teach myself how to do this right. Like how is this actually done? So I kind of went in with that biblical reference mindset where I did all my research on the particular topic. Then I tried to present it in a way that I could actually explain it to someone. It's harder than you think to take something you've done for 20 years and try to teach it to someone. That's when you really start getting into those details of, well, I know how to do this, but why am I doing this? And sometimes that why gets you into areas where, oh, well, this is actually better. Let me go learn this. And then you find it's peeling back that onion. It's like, oh, every time you find something new, it triggers something else. You can go in a different direction. Now that has allowed me to write bootcamps and training materials. But what the other thing is that this has led me to do is being the entrepreneurial mindset that I am is there are times where it's like, I am very good at writing software. I'm very good at building systems. However, I may not know JavaScript really well. I do, but say we'll take JavaScript as an example. So it's been a while since I've got dipped my toe in JavaScript, but say I wanted to go do something with a newer JavaScript library. The other thing you can do is go find a job on like freelancer.com or one of these other sites, find something, a project, a topic, an idea in that technology that kind of is, you know, linear or parallel to your path, but pushes you to go learn something new, doing what you're doing today. And you can build your skillset. Not only that, but you may find out that this is a better technology. So maybe I need to start shifting my skillset over to this, getting me out of this comfort zone and continuously pushing me forward. Now there's pros and cons to both of those, but again, if you're not kind of that outgoing person, the certifications might be a better way to go about it. However, if you are more outgoing, finding jobs or finding projects or the one thing you haven't touched on are hackathons. You know, different communities and areas, they do have hackathons. It's where you go in and you kind of join as a team or an individual. They give you some problems and you try to work through them in a limited time set. Now you don't have to go to these groups. You can do them personally. You can go find online little hackathon topics, but that's another way to kind of jumpstart your mindset as to where do you want to go with this current technology or just push yourself to see what you can really do without having to sit there with AI or Google all day to try and assist you with your coding. Now there's a couple of great ideas that came out of that. I'm glad that you put it that way. First one is back many, many years ago, I was at a consulting company that actually no longer exists and one of the things that they came up with was it wasn't, I don't think it was paid or anything like that, but what they would do is if there was a new technology out there and this is long ago, long enough ago that like the new technology there was like Delphi and the small talk, it was visual age. I think it was IBM's series of IDEs and this is really, this goes back, this is before Java. And one of the things they would do is they'd say, hey, we will get, this is how the company sort of rewarded you is they say, hey, we'll get you the enterprise version of that tool and then what you'll do is you take it and you build a tutorial exactly like Michael said. And it usually the way it was set up is we sort of had a, it's really a template of, you want something that highlights the strengths of the environment, but then it's something that's moderately useful. So it was usually something along the lines of like maybe a little, a miniature of like a low end CRM application or something like that, where it's just like, I want to track some data and it's usually, it's like, Hey, so I can connect to a database. I can pull data out. I can do some basic interaction with that. I can do some modification. I can display stuff, maybe do a report, you know, have a reporting tool or something like that. But one of the things that we did with this, these were all at the day, back then, this is when they were all desktop applications. And one of the things that we would do is it would be walking through the polishing side of it. So it would be things like going through and making sure all the help, like the micro help showed up and making sure tab orders are right. Then all these things that you can, you sort of forget about if you, depending on where you're at in an application. So it really did get into some of the nitty gritty details that depending on what you do, helps you, you know, round out your skills. Another thing that it reminded me of as Michael was talking about is there's a thing called, it was called the little LISPR. It was a way to learn the LISPR programming language. And the way they presented it was, they started with, it was always a question. How do I do X in LISPR? And then what they did is they use that to build your entire knowledge. So the first thing was like, how do I split a string in LISPR? How do I combine strings in a LISPR? And it would just be, it'd be just a question. And then here's what it looks like. And this is how it works. And that was how you did you know, you knew how to do all your cars and your cutters and all those others that it did to create these really complicated things. And it started very basic. And I've seen some other books along the way that are sort of like that. They're more like a problem solving guide with JavaScript or something like that. And those are the things that one, there's some great books and tutorial paths out there. Two, this is another thing where you can, where AI does become interesting is because you can just ask AI, how do I do X with Y and then use that and then go do it? Like definitely test it. Don't just take it and say, oh, now I know, because you don't know, but take that, run it, go run that code. And you're going to find probably a different way of doing it. You may find a new library. You may find something that's different because they're on a different version. There's a lot of stuff that can come out of that. And that whole academia side of it, because it really does come down to it's like, we're trying to ask ourselves, we're trying to push ourselves. And that's really what you get is it's like, you don't know what you don't know. And so this is where you have to like, you have to stretch a little bit and get, okay, where might I not know it? Where, what, like what applications am I usually doing? And what are maybe some other applications out there where I'm not using it? Or as Michael said, sometimes you're going to find something that's like a tangential technology. So there are, and there's a lot, if you're doing web applications, that's a great one where maybe you're doing a, you're building a Java web application. But one of the things you want to do is you want to get better at the front end stuff. So maybe you spend some time within that and you start playing around a little bit. Like maybe you go and understand how CSS and those classes work a little bit better, or maybe you go into JavaScript and you look a little bit more like, well, what if I, instead of using the backend, did this on the front end? What would that look like? Those kinds of things are really going to help you grow. And I'm going to toss that back to you because it looks like you've had some, that sparked a couple ideas on your side as well. Yeah. So I don't want to get too far off topic, but one of the big things that comes to mind when you get kind of in these ruts or kind of very comfortable, do code reviews, look at what you're doing. And instead of asking AI, can you write your own code generators to generate some of your project template boilerplate code for you to jumpstart your next project or to even streamline your current project? These are great ways to figure out best practices or even current practices if technology has changed in the last decade or even a year from when you started the flip side of that. And a little selfless plug here is testing. Take your code. If you're not writing testing, start thinking about user stories and how you're writing the code. How is the code being built? If you think of the stories for how it's being built, if you're just writing code all the time, take a step back and try to write the user story flow or the project flow for the entire project. Start at the beginning, go to the end. You may never have been through that process and that is a great learning experience, not only to understand what it is that your application is doing, what it is you're doing, but also all the different layers involved with the software development of that application. So you may even peek interest in, oh, I like software requirements, Gavin. Ooh, maybe I'll be a project manager. Or I like being a business owner, a manager. You see all that by going through this process, because you might even be in a rut. You might not necessarily be comfortable, but you're bored or you're kind of in a rut and you're like, I don't know if this is for me. Look at doing something like that. It might reinvigorate you in the current field or even in the company you're at to go, hey, okay, now if I go learn like project development or software requirements gathering, now I can kind of pivot or move into a different direction within my field. And that really is, besides moving off of your plateau, because you want to become a better developer, I think that is another thing is that you don't want to get, you don't want to get bored. You don't want to get too comfortable where you're at, because that is not, you're not going to be growing in that situation. If you sort of, if you coast, if you're in a rut, you're not, you're probably not moving forward. If you're coasting, you're probably not growing. And if you're not growing, unfortunately you're dying, because that's just, that's the way technology is. There is always going to be, there's new libraries, there's new versions, there's new features, there's new services, there's new environments, there's new everything out there. And every time there's a new technology, there's probably a new way to maybe look at integrating with that, working with that, leveraging that. And so those are the things that besides just growing in a technology, I think are going to help us so we can grow more broadly and honestly continue to be excited every day when we start work. Hopefully this has excited you enough that you send us an email, info at developer.com. Let us know what you're thinking about, what you like, what you don't like, what are some of the topics you would like to hear from us? What are some questions you have? What are some good and bad things that have happened to you? We're happy to share and hear about it and all that goodness. We are wrapping up soon this season and we will be jumping into season 23, which is just again, every time I think about how far we've gone with this, it's crazy. I think we're going to be topping, I think in the next season we'll be topping episode 800. We're just like, we're cruising along here. But we would love to have feedback from you guys. You can leave us comments here, you can leave them on whether here is on YouTube or whether it's out wherever you get your podcast, out on X, you can see it following the podcast. Out on X, you can see follow us at at development or you can give us, we have contact forms on development or.com. You can check out school.development or.com and you can check out some of the courses we have and some of the places that we have gone a little deeper. These are some of the things that we've, you know, Michael talked about where we've moved off of that plateau and explored some of the things that we can do to help you guys as well as ourselves. As always, go out there and have yourself a great day, a great week, and we will talk to you next time. Thank you for listening to building better developers to develop a newer podcast. You can subscribe on Apple podcasts, Stitcher, Amazon, anywhere that you can find podcasts. We are there. And remember, just a little bit of effort every day ends up adding into great momentum and great success.