 So it's been three years since I started my software engineering journey, three different jobs in three years and not with the same company. I had different titles ranging from full stack developer to now being an associate UI software engineer. I also posted my most successful video ever a day in the life of a software engineer. Yesterday, three years ago and yesterday I also celebrated my one year anniversary being married to my incredible wife. So July is a great month. On top of that July 18th is just an incredible date where things are really coming full circle. Like what are the odds that I get married on the same day that I release a video that was really life changing for me on YouTube. What's up everybody? Jossi here and in today's video I'm going to be talking about the lessons I learned my first 1000 let me check real quick. 1095 days, three years as a software engineer. If you could do me a favor and give this video a thumbs up, I will greatly appreciate that because it helps out the algorithm and YouTube will push content out to more people. I think this video can be really helpful to really anyone in their early or mid 20s in the tech industry. Also subscribe to the channel for more content like this and to become a part of this amazing community. I remember I was this scrawny kid trying to figure out what I wanted to do with my life in college and honestly I really didn't know exactly what I wanted to do. I didn't know I wanted to do something within engineering and I didn't know what major specifically so when I applied to different like universities what I did was I actually like applied with different majors for each university because I thought that would increase my chances in getting in. Little did I know. So I decided to pick CS as a major. It was really like throwing spaghetti at the wall. I always use that expression. I really don't know if that actually applies to the situation. I chose computer science and I stuck with it. It was really hard. I almost quit after freshman year of college. For those of you who've been following my channel since college you would know about the story where I was failing my intro to computer science course. I felt really embarrassed. I was going to switch to industrial systems engineering and then my internship made me change my mind because I realized that industry was a lot different than you know a computer science like degree. It's honestly a huge difference. Outside of being embarrassed freshman year I didn't learn how to kayak. Otherwise I probably would have been downtown in San Francisco selling mixtapes. The first lesson I learned as a software engineer is that you can share your code. Collaboration is really important when it comes to software engineering and by collaboration I mean you know being open and honest about where you are with a task you're working on along with whenever you feel stuck. There's this 15 minute rule I learned about in my first software engineering job where basically after 15 minutes if you're stuck ask for help. Don't get me wrong I learned a lot of things going down a rabbit hole for like two hours. You can learn a lot of things and you can still grow as a developer by you know being stuck and banging your head against your desk for hours until you figure it out. However there have been a lot of times where if I would have simply asked for help I would have saved myself the headache. It's cool if you need help. Everybody needs help. Brian needed help. Jordan needed help. Even if I did figure something out I would quickly realize that there was a much more effective way of completing a feature in my code reviews. The other reason why collaboration is so important is to ensure that what you're developing reflects the final business and technical requirements that either your product owner maybe your manager or a more senior developer wrote. Ultimately being on a software engineering team is all about collaboration and it's not about who can do the most work alone without communicating with their team members. This isn't tennis this isn't track think of it as like basketball or football where everyone has a job and when we do our job the right way in a collaborative effort we can build really cool tech. The second lesson is to make sure that you communicate with your manager a clear career path that suits your passions and interests. When you have an understanding of what you're passionate about that can reduce burnout. Reason being is because when you're just going through the motions and programming every day that can get mentally exhausting especially if you're not passionate about what you're building or the tech stack you're in. The tech stack is really important like back-end devs and front-end devs are very different. A lot of times are very different people. Full stack kind of are like a mixture of both obviously because you're working in back-end and front-end so you're probably passionate about both. According to newsstack.io 68% of developers are feeling more burnt out than they did previously working in office. The last thing you want to do as a developer is to just go through the motions. Your skill sets can grow stale you'll begin to become unhappy with your work and feeling stuck is one of the worst feelings even if you're in a role you don't like communicating with your manager so you can start taking on projects that allow you to gain experience. Final lesson is to not forget where you came from especially if you had zero programming experience and now are a senior engineer or you landed that job that you always wanted to pursue that's just the beginning because when you start that job you may start to feel imposter syndrome a lack of confidence or you simply might ask yourself how on earth am I here. Since programming is a skill set we often can find ourselves comparing ourselves to our peers because maybe we're not completing as many stories or we don't sound as smart or we may not feel like we're as passionate because we don't work on side projects during our spare time outside of work. I definitely get a little bit of anxiety sometimes when it's my turn to technically communicate what I've been working on in front of my team or a department and the reason being is because I find myself trying to impress people with my technical aptitude because obviously when it comes to programming being smart is a vital part of the role. I didn't grow up programming and being into computers I honestly just like playing sports like every other kid and hanging out with friends. One thing I've noticed is that I don't relate to a lot of developers not only from a racial standpoint from a hobbies and common interest standpoint I really don't fit the description of a developer robot. However I have noticed an increase in diversity within the tech industry because I see more self-taught developers and people coming from boot camps which is an incredible thing because you want to make sure that the people who are building products and services reflect the consumers who are using those products and services. That concludes this video I hope you all enjoyed. Give this video a thumbs up I would greatly appreciate that. Comment down below some lessons you've learned on your journey into tech whether you're a computer science major high school student someone who isn't in the tech industry who's trying to learn how to code or someone who's been in an industry for a long time. I'm really curious to see some of your perspectives and experiences. Don't forget to subscribe to the channel make sure you hit that notification bell so you can know so you can know right away when I release a video and as always have a blessed rest of your week. I'll see you all soon. Peace!