The Junior Software Developer game plan

Image

Space Summary

The Twitter Space The Junior Software Developer game plan hosted by DThompsonDev. The Twitter space on 'The Junior Software Developer game plan' offered valuable insights for aspiring developers, focusing on continuous learning, mentorship, hands-on experience, communication skills, and industry specialization. Participants learned about the significance of soft skills, community involvement, and building an online presence. Practical tips on networking, open-source contributions, and staying updated with industry trends were shared to help Junior Software Developers succeed in their careers. The space emphasized the holistic approach required for success in the software development industry, combining technical expertise with interpersonal skills.

For more spaces, visit the Development Agency page.

Questions

Q: How can continuous learning benefit Junior Software Developers?
A: Continuous learning helps developers stay updated with new technologies, trends, and best practices, enhancing their career growth.

Q: Why is mentorship essential for aspiring software developers?
A: Mentorship provides guidance, support, and industry insights for developers to navigate their careers effectively.

Q: What are the benefits of contributing to open-source projects for Junior Developers?
A: Contributing to open-source projects allows developers to gain experience, build their portfolios, and collaborate with peers.

Q: How can Junior Developers effectively specialize in a specific area of software development?
A: Specializing requires focusing on a particular technology stack, domain, or industry, and gaining expertise through practice and projects.

Q: Why are soft skills important for Junior Software Developers?
A: Soft skills like communication, problem-solving, and time management are crucial for collaboration, project success, and career advancement.

Q: What steps can Junior Developers take to establish a strong online presence?
A: Creating a portfolio, maintaining an active Github profile, and engaging in online tech communities help developers showcase their skills and expertise.

Q: How can networking benefit Junior Software Developers in their career?
A: Networking allows developers to build connections, seek mentorship, discover opportunities, and stay informed about industry trends.

Q: What role do personal projects play in the development of Junior Software Developers?
A: Personal projects provide hands-on experience, demonstrate skills to potential employers, and showcase creativity and problem-solving abilities.

Q: What are some strategies for Junior Developers to keep abreast of industry advancements?
A: Following tech blogs, attending webinars, enrolling in online courses, and participating in hackathons are effective ways to stay updated in the field.

Q: How can Junior Software Developers enhance their communication skills within development teams?
A: Improving communication through active listening, clear articulation of ideas, and constructive feedback fosters collaboration, reduces errors, and enhances project outcomes.

Highlights

Time: 03:15:29
Continuous Learning in Software Development Importance of ongoing learning to adapt to new technologies and industry shifts.

Time: 03:25:17
Mentorship and Networking Tips Guidance on leveraging mentorship and networking for career advancement.

Time: 03:35:40
Building Strong Online Presence Strategies to create impactful portfolios and Github profiles for tech industry visibility.

Key Takeaways

  • Understanding the importance of continuous learning and adapting to new technologies in software development.
  • Exploring the significance of mentorship and networking for career growth in the software industry.
  • Emphasizing the value of hands-on experience and personal projects to enhance skills as a Junior Software Developer.
  • Highlighting the need for effective communication and collaboration within development teams.
  • Insights on the different career paths available for Junior Software Developers and ways to specialize in specific areas.
  • Tips on staying updated with industry trends and technologies to remain competitive in the field.
  • Discussion on the role of soft skills such as problem-solving, critical thinking, and time management in software development.
  • Exploring the impact of open-source contributions and community involvement on career progression in software development.
  • Insights on the balance between technical skills and interpersonal skills for success as a Junior Software Developer.
  • Understanding the importance of building a strong online presence, including portfolios and Github profiles, in the tech industry.

Behind the Mic

Introduction and Excitement for the Session

Morning, folks. What's going on? I started this space a couple minutes early, figured I'd let people come in and whatnot. But the reality is I'm kind of excited for this one. It's going to be a very heavy knowledge session. So take this as like, the warning that, you know, maybe other people aren't going to hear right away. Get your notebooks, get your notion open, get your obsidian opens, get ready to take notes. A lot is going to be shared in this one in particular, and hopefully it's going to answer quite a few questions that I get on the regular and hopefully, you know, address those. But the information and takeaways today should probably be definitely on the higher end of some of the spaces that we've done as a recent. Essentially, the whole idea is this.

The Importance of Technical Skills

I had a one one call not too long ago. It was a really good, interesting one one call with somebody, and they definitely had some issues after they landed a job in tech. But also it made me think about what's the entire junior developer software development plan? If you're trying to become a junior software developer, what is the entire game plan to get you from a to b? But not just in getting the job. It's not just the Kumbaya spaces where people are just talking about getting a job and nothing really actionable. I want it to be very actionable, but on top of that, it's like, all right, you got the job. What do you do next? And so we're going to kind of COVID both today. We don't have a ton of time. Right. There's a lot that we got to kind of go over. If you see at the top, I've pinned in the space, what I'm calling the chapters for today's space, we're going to cover a lot.

Researching the Market

And so if you're the type of person that needs to view that, I think that's really great. View the chapter so you get an idea of what we're going to be talking about today, or if you're the type of person that's trying to get ideas for content and you like taking my stuff to, hey, go for it, too. I don't care how somebody hears the message. I just care that they hear it. Right. So if taking that and make some tweets about it, making some posts and videos helps you with that, go for it, too. Right? It's there for everybody, so run with it. But make sure, like, whatever you put out, it's quality and it's helping people. Right. And I'll support it all the way. All right. I've also got quite a few questions that come in before this space. I'm keeping track of my notifications, so if there's a question that you want to ask it, and I will try my level best to answer that or rope that into what it is the overall discussion is going to be about.

The Need for Actionable Skills

I've got a couple questions already written on the side that were asked that I know I'm going to hit, and it's going to be through some of the chapters that I already have listed out. But on top of that, you can just kind of ask them in the chat or whatever it may be. I'll probably bring some people up later on to kind of go over stuff as well. But really, my heavy focus is making sure, at least early on, you're getting, like, the real value and interest that you need. Now, with that also being said, I don't always record my spaces. Very rarely do I record them. I'm being honest with you. But this one is definitely being recorded. So if you think this is going to be valuable or if anytime during the space you hear something of value and, you know, it can help somebody else out or you want to view it later, retweet it, share it like it, whatever may be, tag somebody if you think they need to hear that in particular, because I think, you know, the whole purpose of today is helping people get to that next step.

The Essential Technical Skills

All right, so let's kind of start this off. We're going to not gloss over one thing. So chapter number one, obviously, is going to be about technical skills. This is the area where I feel like a lot of people, when they come to these spaces or they ask advice, they're basically thinking, how do I avoid the bigger subject of being very technical in order to get my first job in tech? The reality is you can't skip the technical skills. You have to have the skills. There's no point in landing an interview if you can't pass the interview. There's no point in going into a technical interview if you're going to just completely bomb it because you've not prepared properly. Right. You have to have the technical skills. And this one thing really stood out to me. I was having a call with somebody, and they had gone through a technical interview.

The Consequences of Avoiding Technical Skill Development

They bombed it. It went terrible. And so they were asking for, like, help afterwards. And so we jumped on the call, and throughout that call, I said, you know, what do you do poorly on this interview? And so they were talking about how they didn't really understand how to use external libraries and that they were just used to basically the stuff that they've experienced through tutorials, et cetera. And I said, okay, cool. So you had this interview two weeks ago. What have you done since then to combat this? And they just kind of stared at the screen for a second, and I'm like, if you know this is a problem area, if you've already identified that this is a weakness, why are we not addressing it at this point? Why are you not going further? Which brings me to my next point, kind of encompassing, not just getting the job, but thriving in the job.

Real-World Examples of Technical Skill Application

One of the one ones I had very recently was with somebody who had their role for two and a half years. And I think throughout this space, I'm going to be referencing this one call in particular quite often because there's a lot in this one call that made me, number one, want to do the space, but number two, really try and help people kind of get past these roadblocks. But they mentioned how they've been in this role for two and a half years, which is a substantial amount of time. Right. And they're now on the chopping block, essentially, where their lead engineer basically told them that they were giving them a task, and this task was going to determine whether or not they were going to keep them in the company.

Identifying and Overcoming Technical Limitation

And as we're talking, it's obvious to me why this engineer said this, but everything leading up to this point, in my opinion, a lot of it was a fault of the lead engineer not being proactive, but also a fault of the junior engineer noticing these things. I mean, it's both hands, right? But the one thing that we noticed was this person in particular was feeling intimidation on larger code bases, which I can get. But at the same time, too, there were things that they were noticing early on that they never took action. On. One prime example of this, we spoke about it. This person said early on they were very intimidated by the, because they used Python, they were intimidated by proxies.

Commitment to Continuous Learning

They didn't know how to use it. They didn't know what to do with it. And so when I asked them, I was like, well, I'm sure now, you know, it's been two and a half years. And this person said, oh, I still don't know anything about proxies. If it's been two and a half years, why have you not taken a day, some hours here and there to learn more about it? At this point, if you keep running away from the items that you're intimidated by or don't know anything about. It's almost impossible for you to progress as a software developer. There's so much. It's so difficult to overcome those obstacles if you're not addressing the pain points.

Understanding the Developer Experience

That's what this industry is all about, I can tell you right now, and this is one thing that I said even in the call, they said very often, I don't really know a lot about what I'm working on. And I said 50% of the time I'm working on something that I only know probably 30% of, and then the rest of it is discovering, researching, going through, reading, documentation, making, breaking, adjusting. That's how we work as developers especially, that's how I work as a developer. I don't know 100% of everything that I get assigned a task on. Sure, there's going to be some tasks that I'm like, oh, I know everything about this component, I know everything about this feature, I built this feature.

Pushing Boundaries and Embracing Technical Challenges

But there's a vast majority of the time where we're building something brand new or we're taking something on from another team, or maybe one of my coworkers worked on this, but I didn't work on this. So there's a large gap in that. And so if you're not going further and towards the items that are confusing you or intimidating you, it's really hard to progress as a software developer. So with all that being said, you cannot skip the technical skills for the role. You have to definitely build up progress and grow as a developer. Especially the technical parts, right? Especially if your goal is to get a job as a junior software developer, you have to have to invest time within the technical skill area.

The Value of Practical Experience

So that's not just following tutorials, because tutorials, they're great to build a foundational base, it's great to gain some beginning level knowledge. But the reality is tutorials take you down a predefined path that is bump free. You are not having errors, you are not having those issues where this library is not working with that one, you're not having issues of versions being outdated. There's stuff that's not already pre figured out for you. I can tell you. I know some of the biggest, largest youtubers in the world. It's a very big pleasure of mine to have them in my social circle. I can tell you from conversations, some of them literally take a week, two weeks to build that tutorial video.

The Reality of Content Creation in Tech

They are not just sitting down in real time and typing out this entire application in one go without having to Google a single thing, without having a single syntax error, none of that happens. So if that's a belief that you may have, dispel it right now, I'm telling you right now, they've already researched it before, to be honest. 99% of them have the code one monitor and they're coding on the secondary monitor right next to it. So they have the code to reference in real time. They're not just coming out of the top of their head, building out this entire application with nothing by them without a single error. Okay, so just dispel that. You have to have technical skills if you want to get these roles.

Building Projects for Skill Development

All right, so now that we've established that, you're going to dig deep and you're going to actually build projects instead of just going down the path to tutorials. You need to understand when you build projects, you're going to get errors, you're going to have confusion, you're going to want to flip the table, and that's completely okay. I think the biggest thing with that is if we're being completely honest, you need to understand how to research to get your answers. This is sometimes the biggest hurdle that a lot of beginners have because you'll even see, and sometimes in our discord or in my DM's where questions will come in and it's like, this is the most googleable question in the world.

Navigating the Challenges of Debugging

Like, of all questions you can google this, is there. Oftentimes I will get a question about an error and what do I do? I literally just google the error exactly as it's read instead of trying to come up with a different way to do it, just to see what pops up. And oftentimes that yields the answer. You know, what's one of the biggest things that a lot of beginners end up missing on if we're being complete, and this is something that I'm trying to work on right now to develop a solution for. A lot of my interns have this issue. A lot of the juniors have this issue. They absolutely are terrible at debugging. You need to start thinking about, you have a code base and it has an error. What do you do to find that error?

The Role of Debugging in Developer Growth

This is a big one, if I'm being honest. And that's going to really grow you as a technical developer. So when you're building projects and you have errors, that's where a lot of that skill set comes in and allows you to progress. All right, so we got technical skills, right? So we know you're going to start developing more technical skills instead of trying to think about ways to avoid that. Because there's no way to avoid that. You have to have it in this industry. Second chapter of this, researching the market, right? I talk about this a lot because it feels like nobody does this and it drives me crazy.

The Importance of Market Research

And then when I get one call calls, every single time I jump on a one one call, their mouth drops whenever we do this, right? Every single boot camp around, right? I'd say 90% of them, there's a 10% that probably don't, but 90% they all teach the Mernstack, every popular youtuber they teach the Mernstack, they teach JavaScript front and back, right? And there's nothing wrong with the Mernstack in certain markets. The Mernstack is kingdom, right? Like there's lots of opportunities in it, you'll get jobs in it, et cetera. But that's not all markets.

Understanding Regional Demand for Skills

There's a vast majority of markets where there are no opportunities or mild amounts of opportunities when it comes to the Mernstack. And you would know this if you research the market. Prime example, I lived in Memphis, Tennessee for almost 20 years, right? Love Memphis and Memphis, Tennessee. If you knew.net, that was job security, simple as that. Almost every company around knew dot like used.net. but if you went to some of the coding bootcamps in town, it was Mern. Even though there were zero, no jobs, there's zero mern jobs. JavaScript front and back doesn't happen in that city. There's no mobile development jobs there, right?

The Discrepancy between Training and Job Demand

But you find bootcamps that are teaching mobile development because that's what people want versus what the market is demanding, right? Especially when they're thinking the mindset of we need to earn money and get dollars. They're not necessarily always concerned with placement, they're concerned with what gets people through the door, right? But if you knew.net comma C sharp.net, you had six figure jobs, or at least job security, you know, in that industry. When I moved to Dallas, Texas two and a half years ago, one of the first things I started doing was networking with recruiters and hiring managers and software developers.

Building Connections for Career Advancement

And I remember talking to several different recruiters because Dallas from Memphis is like a six hour drive, right? It's not a crazy distance compared to like New York to California. In my mind it's similar markets. So I'm talking to these recruiters, I'm saying you probably have a very large demand for.net and they're like, actually not really. We have some. I'm not gonna say we don't have any, but really here, Java is king. I was like, whoa, Java is king. That threw me for a loop. I wasn't expecting that answer. And then we start researching it and we see it. But then I go to meetups, right? And I start hosting meetups in Dallas.

Introduction to Networking

And I want somebody else. Firebase is amazing, isn't just to show you variety. But it was true to my personality. I was cracking jokes. We were having a good time. I ended up making a bunch of connections and that's how my network started growing. That's a great way to kind of get in there. And every developer I met was somebody that worked at a company or somebody that was established somewhere else. And it gave me a lot of insight into the Dallas market, especially early on, since I knew no one in the city. I had zero connections when I moved to Dallas. So think about that. Go to meetups now.

Importance of Meetups

When you're at meetups, you need something to talk about. That brings us to chapter number four. Projects that are actually worth talking about, right? This is the biggest hurdle with junior devs. To give you an idea in Dallas, I run a meetup group called Dallas Software Developers. It's me and several other volunteers. We just donated our time helping out and we do a cohort here. In that cohort we have them build projects that are actually worth talking about, and a lot of people get confused by that. But what's funny is when our cohort graduated, we combine that graduation with a meetup so that way they can get a night of, like, extra exposure with everybody there. It was really successful.

Successful Projects in Cohorts

And as I'm talking to these developers, I remember a conversation with a technical lead at Uber, right? He was at our meetup, and I'm telling him about the project that they built, and he said, wow, this is the first time I've heard of a junior dev with a project that's actually worth having a conversation about. That was his immediate takeaway. He said, if a junior dev came in my interview with these projects, these would be the kinds of things I would love to geek out about. But what are they coming in there with the basic applications that you see every junior dev make right to do list app, which I think is a phenomenal application to build and learn concepts from. That is not the application I want to build and walk into an interview with, hoping that it opens the door for me.

Quality Over Quantity

It's like the project you believe every single junior dev in the world is going to make. You don't believe that every single experienced developer is going to be leading with that. The second thing is, when it comes to these projects, you need to have a project that's solving a problem, delivering a solution, and it allows you to talk about that solution. If that's the project you're going into that conversation with, that's going to be an interview that you're going to run with every single time. I'm telling you right now, you will be utterly shocked at how much value that conversation will produce when you're approaching your projects with that mindset. The other thing that you need to be thinking about when it comes to your project is you need a project that's going to allow you to talk about it in a technical capacity in such a way that employers are going to want to have more conversations with you.

Effective Communication and Project Presentation

Because the reality is, no one hires you based on that project maybe 1% of the time, but the reality is no one's going to be like, oh, I can't believe Carlos built this project. I need to have a conversation with them. Or Michael built this amazing tool I need. That's very rare. Very rarely does that ever happen. But what it does is this gives you ammunition to utilize within the interview process when networking. Heck, even when going to a meetup, that's something that you can talk to other people about, right? It's giving you more ammunition. That's the purpose of these projects. It's not just because I want to build a project. To build a project, you need certain things.

Quality Matters

And so this is why I often tell people I do not actually care about the quantity of projects that you have, but I do actually care about the quality of said projects. And if you're not thinking about the quality, you're doing yourself a massive disservice. And so that's something you need to be thinking about. And here's the other thing. You need to remove all of the buts from the conversation. And what I mean by that is you should not be handing somebody your project and saying, oh, I'm working on this, but it's not done yet. Oh, this part is not complete as of yet because I've been working on ABC, but it will be done soon. Those shouldn't be coming up.

Project Ownership

You shouldn't necessarily feel the need to immediately start deducing or reducing the value of those projects that you're making. Right. So don't try to lower expectations when you hand it over. You've got your entire life to build a project that you deem worthy to showcase. Build one that's on that caliber and level of what you think. And again, remember, this kind of goes back to chapter number one. It's got to have the technical skills, so stop trying to shortcut this. To build something, you got to have the technical skills. It's got to look right. Remove yourself from the equation. This is what I often do with projects.

Critical Evaluation of Projects

Oftentimes I'll build something, and I'm proud of it because I built it. Right. But if I were to remove myself from the situation and imagine that my friend showed this to me and he's like, I want to start applying to jobs. Here's the project that I made. What do you think about it? That's when I can start looking at it more critically. Now I'm not looking at it as well. Danny built it, so I should feel proud that I'm Danny. Instead. It should be like, oh, this actually, this design doesn't really work well, and I'm not a designer. I'll be the first one to tell you that I could barely match the color scheme of my clothes as much as the color scheme on a website.

Design and Functionality

But regardless, I make sure that it looks somewhat decent. There's so many templates out there. There's so many design ideas out there. You can use drill all awards, you can talk in a discord, you can get feedback from people utilize those avenues. Right. But I make sure that things look right, they function well. I make sure, like, the call to action to XYZ looks proper. If there's a form on the page, I want it to function the right way. Those are things that I'm thinking about. And so that's kind of what I want to make sure I prioritize when I'm looking at the project from a critical standpoint as opposed to, well, I built this and I don't want to do more, so I'm just going to leave it the way that it is.

Strategizing Project Presentation

That's not a great way to approach these things. You want to really look at it from the mindset of, okay, what's the best foot that I can place forward and how do I do that? All right, so projects that are actually worth talking about, that should be like your first level of thinking. So a couple ideas about this. We did this in our last cohort, one project that we built, and this is actually a project. Oh, and I guess I'll add this. It should not just only be projects that solve a problem. It should be projects to a certain degree that have some kind of level, whether low level or high level, some kind of way to relate to a business use case in some way.

Networking Experience in Pickleball

I play Pickleball a lot. But I was at pickleball the other day, and I literally met the CEO of a tech company out here. We were just talking, playing, and I mean, I think me, several years ago, I would be very intimidated to just cold open with somebody about tech. But I just started talking to him, you know, hey, I do this so and so. What do you do? And he's, oh, I'm a CEO of a tech company, and we started talking. Next thing you know, he's, we're talking in DM's now, and we're talking about collaborating on something. You never know what one conversation would take you, right? So if you give yourself a compelling elevator pitch, you give yourself enough things to talk about that generates interest in other people. You're now in a situation where networking is a lot more organic and it feels better.

Crafting Opportunities for Conversations

But here's the other thing. Often people say, well, I don't have these things to talk about in networking. Brothers, sisters, they thems, whatevers, this is your life. You get to decide how exciting or how dull it can be, how valuable it can be in conversations, or how unvaluable it can be. You get to choose what you do. If you feel like you're missing things that can help you in that conversation, go do them. Go build them. Go be a part of it. Go volunteer. Go support others. Go get a team together and build something. Go. You got your entire life to do this. Circumstances that you're born in are not the circumstances that you have to continue living the rest of your life with. It's up to you to make that differentiator and difference.

The Importance of Value in Networking

But if you just want to be like, well, I don't have that to talk about. And then six months later, when I talk to you again, you still say, well, I don't have anything I could talk about. You're choosing to have that at that point. You can make these things. Now, I'm not saying obviously you can make yourself a CEO of a company, but hell, you can say, oh, I've been volunteering at ABC technology. They build websites for homeless shelters, and I'm over here building websites on the weekend. Boom, that's something you could talk about. You could talk about how you found this soup kitchen that's downtown in your city that gives food to the poor, and you built a website for them to take online donations. Boom, that's something you could talk about.

Taking Charge of Your Networking Value

So you can allow yourself to still be in the situation of not having value to talk about, or you can develop that value to talk about. It's up to you on that point. So if you find those networking situations not having a lot of value, time to hit the, you know, get busy for a little bit and kind of get what you need going. I think that'll help and be valuable for you. All right, when to apply to jobs. Right. This is one that I get a lot when it comes to applying to jobs in particular. When should you apply to jobs? Actually, it's pretty easy. I genuinely believe if you match 50% of the job listing, that's a job you should apply.

The Art of Job Applications

Do you know the core languages of what they're asking? Apply. Do you know, like the basic, like, if you read that job description, are you able to answer a lot of the questions that they have and ease their concerns? Apply. I promise you, apply, apply. And if that job doesn't say senior developer on it, I think that's fair game. Have a conversation. Especially if you're trying to get your first job in tech. Apply, apply. Worst case scenario, they say no. Best case scenario, they say yes. Or at the very least, you can have a conversation and kind of showcase the value that you have.

Leadership Skills and Resume Presentation

I guarantee you at that point, people are going to be really into who you are and what you're about. Or at the very least, if it goes poorly, you got an experience that you applied. Right? Apply. When should you apply? You know 50% of the things that they're asking for. When should you apply? You've researched the market and you know, the tech stack that you have is valuable within the market that you're in. That's when you should be applying, as far as I'm concerned. And you've got the skills to back it up and you remove the butts from the conversation.

Creating Impression During Interviews

Right. You need to give them enough value for them to fall in love with who you are and what you're about. Simple as that. And I tell people all the time, if you bring value, they will bring your. They will bring their checkbook. Simple as that. No company in the history of the world has turned down the opportunity to kind of mentor somebody, or at least to a certain degree, not even mentor, but really bring them on in a capacity where it'll be a value add down the road. Some people think of, like, their junior dev job in the wrong light. Like, every company in the world knows if they hire junior Dev for like six months, they're losing money at the very least, right?

Understanding the Code Base

So learning that code base is very paramount. Now, one thing you can do to help you out with this, and this is what I have basically all my interns doing, all my junior devs. Do you need a follow up method that, especially if you find the code base intimidating because like millions of lines of code and so big and you don't know how to approach it, la approach it from the aspect of the follow the rabbit hole method. And essentially the idea is, let's say you're given a task to fix a button on the front end page of the website, right? Cool. You fix this button, a lot of juniors and interns will fix that button and immediately try and run back, giving them, giving the ticket back to grab a new ticket. There's nothing wrong with that. But what if you just took an additional hour, right? Just an additional hour. And in that hour you were looking at, okay, when I push this button, what happens? it's attached to this service here, the service is passing through this thing called middleware.

Exploring the Code Implementation

I don't really know anything about middleware as it's passed through middleware. It's saving this information here and it's processing you here in order to go to this external API that's attached to another project that I haven't ever seen before, but I know it's doing something with that information. Just because you spent that extra hour following that rabbit hole, you've learned so much about things that you didn't even have to initially touched. And over time of you doing that over and over again, within six months, how deep into that code base do you think you're going to be? How much knowledge are you going to have about all the things revolving around the components that you've touched? Would you have? You're going to be far more knowledgeable by the six month mark than ever any other junior dev going into that role, especially if they're just focusing on the immediate tasks at hand.

The Value of Processes

So code base, paramount. Second value add is processes. When I say processes, I don't just mean the process in your code base, which obviously you do need to know, but other processes. Like for me, I had never worked in corporate environment before landing my first job in tech, right? So I didn't have any concept of what was a product owner, what was a product manager, what is a scrum master? Why do they just pretend to work all day? No, never mind. But why? What are these roles and what do they do and how does it relate to me? What is agile? I'd never heard of that before. For what is a prime example? Like, I remember my first team meeting, they're saying, danny, we t shirt size are tickets. And I'm like, I don't even know what that means.

Familiarizing with Team Dynamics

What did you just say? That doesn't connect with me. And they're like, danny, here's this ticket. What do you think this is going to be? I was like, I don't know, a double xl? I didn't know what, I didn't have a clue how to size the tickets. Right. So for those that aren't familiar, you would size tickets like a one, two, three, depending on the company, like 5813. Right. And that would basically show the complexity of how long, how hard this task would be. I didn't ever hear of those terms before. So getting familiar with those processes early on, really valuable. Then the third one is team. You need to be figuring out what your team dynamics are and how they relate to you. more than likely as a junior dev, you're going to be getting someone who's like your immediate point of contact.

Understanding Team Structures

You need to know who that is, whether that's the team lead itself, whether that's a senior dev that they tell you to reach out to first, whether there's like a middle level dev, a middle dev that they tell you to contact first before going to the senior. There's going to be processes there within your team. You need to know who they are. But also you need to also understand the team dynamic and who is your manager? What is the role of your manager in relation to you? So, prime example, I've worked at one company where if you had any technical problem, the manager was not the person to go to. He didn't have a clue. But then I worked in my last company, Autozone, and if you had a technical problem, that manager was ready to jump on a call with you in a moment's notice because he knew everything about the technical capacities of what the team was doing.

Visibility and Communication with Management

That's not going to be every single company that you work at, right? It's different. You need to learn what that dynamic is. Also, I implore you to please think about who your director is and try to set up skip level meetings. Maybe like every six months, every quarter, something like that. So that way they get visibility into what it is that you're doing. So that way they start becoming a fan of who you are. And truthfully, they end up advocating for you when it comes time to raises and promotions. That's probably been like one of the most successful things that I did. And I remember even my last company, my manager said, I've never had anybody request skip level meetings the way that you do. But guess who was the first person to advocate for my raise, but who was also the person to advocate for me getting a larger bonus than the rest of my team.

The Importance of Personal Branding

But who was also the person that when I decided to finally give him my notice, they tried to beat my current offer before anybody else even thought about trying to beat it. Unfortunately, they couldn't. My director is a badass, though. I love them and I always keep them in mind like network of people to connect with, but nobody else is doing that. We've had other people leaving the where they didn't bat an eye, but luckily for me, I guess I made an impact to where they recognized that they wanted to keep me around. That only comes through transparency and visibility, right? If you're not being visible, no one's going to know. You could be the best developer in the world. And if nobody knows it, nobody could advocate for you in that regard. So think about that.

Creating Value in the Workplace

The last point is value on this chapter. This chapter we're talking about value, right? What does value mean? This was how I got the very first promotion that I ever got in tech. And this was at the, basically the three month mark. And essentially the idea was I was going through the website, not just as the developer, but as the customer that goes through the website. I noticed that I didn't have a clue. The company was a company called Front door. Essentially the idea was they sold like, insurance products for the house, but not like home insurance, but like for your appliances and stuff like that. I'd never heard of that stuff before. It was interesting.

Customer-Focused Insights

But regardless, I went through the website, through the mindset of the actual consumer customer that we're servicing. By the end of the checkout process, I realized I don't know what the heck I'm buying. And I presented my findings in a meeting and I offered a solution that I thought would be great. I ended up being able to spearhead that project three months in, and because of that, I ended up obviously getting a promotion and a nice little tiny little bonus. It wasn't nothing to brag about, but it was a bonus. And I was proud of that. That's corporate America, though. Like, that's just. It is what it is. But regardless, I got a bonus. It was cool and I was really proud of that. Right.

Mapping Value to Team Success

I only ever got that because I started trying to think of what does the value exist for my team in relation to the product that we're building? And I would just constantly go through it over and over again. That led me to a lot of successful things. And I think anybody, if you're building something, you need to understand what the value is of that product, the values of your team, specifically to the company, and how can you increase or improve that value? If you do that, you're going to start finding yourself rising up the ranks, as far as I'm concerned. It's hard to notice stuff like that. All right, next chapter.

Reading Code Effectively

Reading code and understanding it. If you were here at the beginning of the space and if you weren't, I'll kind of paraphrase what happened, but essentially I did a one one call with somebody who was a junior dev. They were two and a half years into their role, and one of the comments that this person made in the call was, I'm reading some code and I'm just intimidated by it. I'm very intimidated and I don't approach it. I was, they were given a task on Friday and essentially they were told that this was going to be make or break for them whether they're going to be kept around in the company or not. Right. And they were so nervous by this and I had to call with them Monday night.

Addressing Code-Induced Anxiety

Right. So it was Friday, Saturday, Sunday, Monday night. And basically they were told on Friday this. Your success on this task is whether we keep you here or we fire you, essentially. Now, I'm not one that says you need to work on the weekends a lot of, but if somebody tells me my job is on the line and like, this is going to determine whether I'm staying at the company or not, I'm going to be working that whole weekend to make sure that I have a job after this task is done. Right. Simple as that. And especially, like, if my team leader saying to this to me after two and a half years, obviously, like, I'm missing something to wherever that they're trying to either get it out of me or they're going to determine, yeah, there's just no way Danny's going to add value.

Demonstrating Initiative

Right. But regardless, this person was given this task and Monday night comes along. So I asked them the question, like, you know, what have you done so far with this task? Like, obviously. And the reason why I asked that in particular was Tuesday morning, this person was going to have this conversation with their team lead to kind of go over it, right. Well, this person said that they had built a flowchart to show where the data is flowing. I was like, a flowchart. A flowchart takes like an hour, 2 hours to build. Like, I mean, the whole thing had what, maybe 20 symbols on it at the most. That's not a four day task. Like, that's not. That doesn't show me effort for the four days.

Confronting Challenges in Code Reading

What did you do outside of those 2 hours? And they just stared at the screen, right. And they said, this code base is so big and this task is so intimidating. I'm just intimidated by it. I don't know what to do. I was like, well, have you asked anybody anything? Have you reached out? And they were just quiet. I'm like, you're two and a half years into a role and you don't know if you've been stuck on a task for like an hour or something. You should probably reach out to somebody, but you haven't, so you don't, you haven't made any progress. So when you need, when you're reading code, you need to understand it.

Practical Strategies for Learning

And one task that I often give my juniors is, as you're reading the code, make comments for yourself. Do not commit those comments, but make comments as you're reading, saying, okay, this three lines is doing this, and it's communicating with the service. This three lines here is doing XYz. This form is being processed in this way, that way. Now, if you were to collect all the comments of the code that you read and put it on like a Google Doc, you have an entire, maybe couple paragraphs that you can read through that explains that entire component to you. Now you understand everything that's going on.

Continuous Learning and Application

Well, when I was doing this exercise with this person on the call, even though they've been in this role for two and a half years, this was like a crazy moment for them. And they're seeing in real time how much were able to do in 20 minutes on a call that honestly was probably worth more value than the quote unquote flowchart that they made in those four days. So think about that, read the code, break it down, and understand what you're reading. Now, I don't ever expect somebody to read code and then for the rest of their life they've memorized that code, truth be told. And I'll tell you this, there are times where I commit, like a merge request, and when QA gets to me, like two weeks later, and like, hey, what does this code do?

Navigating Code Complexity

I'm like, hell, I don't remember what I wrote. It's. That was two weeks ago. You should ask me that within a day or two of me submitting that merge request for you to test, not two weeks later. So then I got to reread the code and re understand what I did. Simple as that. But, but when you read code, you need to understand it. If you don't understand it, you need to ask. Now, you shouldn't be the person that if you were to come to me, right? You're on my team. You come to me and I, you ask me a question about some component, and I answer it, and you go back, and then the next day you come to me and ask me the same question.

Effective Communication and Knowledge Retention

I almost feel like you didn't pay attention when we spoke, right? So if you're in the conversation and you find yourself still not understanding, ask, take notes. There's nothing wrong with taking notes in real time to utilize later on. There's no shame in that. So ask and take the notes that you need so that way you can thrive. Right now, we're in the last three chapters, right? This chapter is a brag book. I truly believe at the end of every week on a Friday, you need to think of, okay, if my director were to ask me a question about what I did that week, they're going to say, what did you do this week?

Documenting Accomplishments

I should have one or two things that I could say very impactfully, like, this is what I did this week, right? I shouldn't just be like, I don't know, whatever that is, whatever those answers are, write it down somewhere. Whether it's an obsidian notion, Google Docs. Whatever the reason why I say this is at the end of the year, when it's yearly review time, it takes me about roughly five minutes to make my yearly review. But if it. If you are in a situation where you haven't kept that, like a lot of my co workers, it would take them weeks to make the review.

Streamlining Review Processes

They will be so nervous about it, they don't know what to write. They don't know what to do for me. I've got the whole document for me already set to go. So keep that brag book. And it helps out when you're talking with, like, let's say, for example, in a skip level meeting, your director's like, what have you been a part of? Boom. I lift. I list out everything on that brag book. I did this, I did that. Boom. Helps you out in a lot, right? Which also goes into the next chapter of reviews. Every company you work at is going to have some kind of review process, right? Having that brag book is going to help you on those reviews instead of you scrambling at the last minute.

Set Goals and Prepare for Reviews

And I guarantee you if you scramble at the last minute, you've forgotten a good 90% of what you've done throughout the year. You probably remember some of the big moments, but that might be about it. So that weekly achievement thing will help you out in that review process as well. Well, also, when it comes to reviews in general, you should be thinking of, how is this review setting you up for success? Because usually at the end of the review, they're like, what do you. What are some of your goals for the following year? When you don't keep a brag book, it's really hard to keep track of that.

Goal Setting with Clarity

But when it comes to the review process in general, that brag book will kind of give you a gauge of what you should be making your goals for the next year. Going now, the last chapter is one ones. This is one of my favorite ones. This chapter, one ones in particular, I feel like is a tool a lot of people do not use in the right concepts or the right steps. One thing that you should be doing in your one ones in particular is I love having a living document between me and my manager. And what I do with that document is every one one.

Leveraging One-on-One Meetings

And I think one ones are one of the most valuable tools you can utilize. I will never talk about something I'm actively working on now, if they ask me a question about that, the one thing that I often do is I redirect them saying, hey, you know, we could talk about that stand up, or we can set up another meeting for that. I'd really like to talk about how I can progress as a developer and grow within the company. I don't look at this as the idea of us just getting status updates, right? This is not what this time is for.

Focusing on Development in Meetings

This, for me, my one one is extremely valuable. I don't want to give that up for something else. So let's keep this on on topic. But at the end of the one one, let's say I got some action items or something from my manager, like, hey, I'd really like you to do this. I will make checkboxes with that action item. And then when we go for our next one, I'll tell my manager, hey, let's open up the doc and kind of go over what went over in the last one. And then he'll say, oh, yeah, we had these action items. Did you do this?

Follow-Up and Accountability

Yes, I did that. And I make him check it off. And then I was like, oh, you did that? Yeah, I did that. Have him check it off. Then at the end of the year, when it's review time and we're looking at that one one document, he can easily scroll through and see all the action items he gave me throughout the year that were checked off and done. It's a win at that point. It's an overwhelming win. He knows firsthand what I did throughout the whole year. Everything went well. Everything went great.

Utilizing Action Items for Reviews

Plus, I can just look at those action items that we accomplished throughout the year and just copy that into my review and that. There you go. I'm set up for that promotion that raise all the good stuff. The other thing is my one ones, and a lot of people don't do this. And actually, this reminds me of a conversation I had with an ex engineer from Twitter where he was passed up several times for being a tech lead. And I remember the last time I said, you know, let's jump on a call.

Evaluating Growth Opportunities

And were talking, and I said, you know, why do you think you're passed up? He's like, well, my manager said, it's because I don't have this, which was like, I'm not showing enough initiative. And I'm like, well, how is he quantifying that? What is he seeing? What is telling him that? He's like, he doesn't know. And I'm like, that's the problem with obscure goals. And in my one ones, I would be asking, is there anything blocking me from a potential rise of me getting the role of tech lead?

Communicating with Transparency

And if you were to say, well, you're not showing enough initiatives, like, cool, so let's talk about that and let's figure out how I can show that. Would initiative be starting up two company projects? Would that be initiative? Would initiative be me working on three additional features that are outside of my immediate tasks? Like what? What does that mean? And so now he has to think of what would quantify and prove to both of us that I'm showing enough initiative. That is one thing a lot of managers and others struggle at is quantifying that.

Understand Your Manager’s Expectations

And so once they do, it's now a goal you can both hit, because when you leave someone with an open ended goal or feeling, that's not going to help a lot of people. Right? But when you can quantify, and now it's an achievable goal that you can both measure. Both of you can know whether you hit it or not, right? So you need to use those one ones as a way to figure out what it is. That could be progress, like preventing you from getting to that next level.

Setting Clear Performance Indicators

And if they say, hey, I want to see you have more initiative, cool, what does that mean? Give me an idea. Give me a quantifiable number of metric to hit. Oh, I need you to be part of more code reviews. Cool. Let's say I'll be part of, let's say, 30 more code reviews before the next review. That way we can know, hey, I've hit that metric, right? That's kind of where you need to re guide your manager to.

Internal Expectations and Feedback

The other thing is, I always start every job and every role with one thing. I start my first ever one one setting the expectations to my manager of what I need from them. It shouldn't just be, what does my manager need for me, it's like I need stuff too, in order to be really good and valuable in my role. And so my very first one one will always set the tone. Hey, I do really well with very blunt, to the point and direct feedback.

Cultivating Open Communication

Don't sugarcoat it for me. Right. I don't really care about you making me feel good with bad feedback as much as I care about what was the actual feedback and what are the metrics I need to hit in order to change this feedback. That's what I really need. And every manager I've ever had has done that for me, and I think that's been a big reason why I can progress. Like, I remember one time my manager said, hey, Danny, this is a moment where I think you can grow as a developer.

Encouraging Development Through Feedback

I haven't seen you really participate in a lot of the testing meetings where they talk with QA and developing automated tests, but also how they're testing it. I would really like to see you participate in those. After that's all I need to know. Boom, every single meeting. Hey, how are you testing this? Hey, what is happening here? Boom. What ended up happening? My biggest feedback from a manager, Danny. Wow, you really stepped up. Boom. Bonus time.

The Path to Advancement

Simple as that, right? That's how you grow in the world. You gotta. Some of this stuff is really growing as a developer, and some of it's corporate America, corporate whatever country you're in, right? You need to play the game that they have, and if you play it right, you're the one that ends up winning at the end of the day. So think about those things. Normally, I cap these spaces at an hour. Today we can see that we've gone to 90 minutes.

Shout-Out and Conclusion

Definitely a big jump. So I'm going to say one last thing, and it's not a chapter. Well, actually, two last things. Before I say the last thing, I want to give one shout out to me and the Dao software developer group. We are doing a conference, if you haven't seen me talk about it is a conference for charity, completely free. Well, let me say that it's not. Well, it can be free, theoretically, but essentially the idea is every ticket sale that we make, it's gonna go straight to charity, right?

Conference for Charity

So tickets are gonna be like $30 instead of like $600, $700, $900 that you see at some conferences. But it's gonna have the option of, if you wanna donate more, you can, but every single penny of ticket sales will go to charity. And for sponsorship money, we're only getting enough sponsorship money to help cover food costs for the event. So that way people can have food. I think we all know $30 barely covers food for two days for anybody, right? Especially nowadays.

Exciting Developments Ahead

A Big Mac meal is like $15, it feels like, but we're trying to get food for everybody. we have, I think already like 20 plus confirmed speakers. We're trying to get more. we're doing three tracks, a track on JavaScript, Java and cloud. So if you're in America or you can travel to America and you want to come to Dallas, we'd love to have you there. We're aiming for November with enough resources. Hopefully we're going to have a virtual option as well so everyone can get access to the information and that will be free with an option to donate.

Charity Collaborations

I don't want to list the charities yet because half of them have. Half agreed, but I want full confirmations. One charity, I guess one nonprofit I can say that we're going to be given to since it's already been confirmed with them. Free code camp. We're going to give a portion of the sponsorship money, I mean the charity money that we get to free code camp to continue helping people learn how to code for free. But there are other charities that we're going to be giving money to as well.

Invitation to Collaborate

I love free code camp. Truth be told, I wouldn't even be here without free code camp. So big one there. But we'd love for you to be a part of this, whether it's attending or if you're like a seasoned speaker, would love to have you speak at the event as well, especially if you're like you're in the cloud or Java space. I feel like we're at the point where we have more than enough JavaScript speakers for the two days, but there's going to be workshops and all the good stuff.

Anticipating the Conference

I don't think workshops will be virtual. That's going to be probably way too hard to do in a virtual capacity, but everything else will probably be virtualized. Be on the lookout for that. That's going to be November 6 and 7th. I think those dates are subject to change, but more than likely it's going to be the dates that we stick to. But yeah, and if you're wanting to give back, I know people can. You could definitely help impact some lives with that. Right. So I'm excited for this one.

Final Thoughts and Encouragement

I've never seen a conference to do it before in this capacity. I don't know if it's going to be a one off or every year thing. I think we need to figure that one out whenever, after it happens, because I know that's been asked twice now, but I'm not sure if we're going to do it every single year, but I do know I'm excited for the one year that we do it where it can help change some lives and hopefully, at the end of the day, really make an impact pack. If you want to support that, I've got tweets below that kind of showing that as well.

Motivational Closure

Would love for you to, you know, show any support to that and all the good stuff. And the last thing I want to say, even though it's not a chapter, believe me when I say this, y'all, you absolutely got this. I know it's difficult. I know it's tough, but you absolutely got this. This is 90 minutes of me running my mouth, but hopefully, you got some value out of it. Y'all, thank you so much for hanging out. I'll see you at the next one. Goodbye, everybody.

Leave a Comment

Your email address will not be published. Required fields are marked *