4 Things I Would Do DIFFERENTLY In My Software Engineering Journey
October 25, 2024
• 398 views
software engineeringsoftware engineersjunior developernew developer advicebootcamp gradbeginner mindsettech careermid level developercomputer sciencecode newbiejunior developer portfoliojunior developer mistakesjr developerjr dev jobsday in the life of a software engineerjunior developer jobbackend developerthe harsh reality of being a software engineerfirst job for developersali abdaaltechnical skilllsweek in my life
Wouldn't it be cool if you had a time machine?!
Well -- unfortunately that's not an option.
But what IS an option is sharing lessons that can help others! You might not be able to help yourself directly, but you can help others from your experiences.
In this video, I share 4 things that I would do differently in my software engineering journey if I were to do it again.
View Transcript
hi I'm Nick centino and I'm a principal software engineering manager at Microsoft in this video I wanted to talk to you about four things that I would do differently if I were starting out again as a junior software engineer I certainly don't have regrets with where I am in my career so I'm not trying to say anything like that but these are things that I might do differently that might help me out and be more effective if I were starting my journey out again if this sounds interesting just a reminder to subscribe to the channel and check out that pin comment for my courses on dome train the first thing that I would do differently is not just focusing on CP and.net and that might sound pretty crazy considering most of the content I put out for programming is related to C and.net but I
would do this differently and that's not to say that I wouldn't start with C or I wouldn't go learn it because I think it's great I think it can be a great beginner language I think that it exposes you to many different ways that you can go build software whether that's desktop applications web applications web services mobile applications all sorts of things you can use C for tons of things and I think that makes it a great versatile language but the key word was that it's only C and only net so especially early on in my software engineering journey I basically just focused on that I did start out with VB6 and then I learned vb.net right after this was part of like High School courses for me so I was just learning what was put in front of me and as soon as I
learned C which was in my first year of University I never looked back in fact it almost felt like I was avoiding learning different languages and just trying to stick with c and net because that's what I was comfortable with now I think there's something to be said about building up skills and experiences in a language so that's not like that's the bad thing but it becomes a problem in my case where I'm able to use C in situations where it's probably not the most effective tool it's just extremely effective for me because everything else is so much worse that means if I want to go spin up a project for me to go pick a different language that I have almost no experience in and no exposure to that type of programming I end up going to C just because I know I can
use it effectively and again it might not be the best tool for the job it's just one of the things that I can use more effectively than anything else my advice to more Junior software Engineers would be to stick with the language in the beginning get familiar with it get comfortable with it and you can use that as your core language that you like to build things in nothing wrong with that but I do think that it's helpful to start looking outside of just that language for me it might have been a good opportunity to start learning something like JavaScript as well and that's going to lead me into the next point that I want to talk about which was avoiding web development I got started with web development way later in my software engineering Journey than I'm proud to admit and that's because I
was building desktop applications and I was getting good at building desktop applications so why do anything else it almost became a bit of a joke at work when I would build things with my team and we had to go split up the work to do and I would actively go work on the backend things or I would work on whatever component was going to be the desktop application but anything where we had to start making web requests or providing an API that people would making request to I wouldn't touch it so it was kind of a joke but the reality is that I was actively avoiding this type of thing and this is because it's something that I'm not good at I was actively avoiding it because I'm not good at it and because I had the opportunity to just focus on things that I
was good at I kept doing that in the end I ended up building a ton of awesome experiences and skills using CP and.net to build desktop based applications they worked out really well in my career so far so again not regretting that I had that skill set built up but I do regret not focusing more time on things that I was not comfortable with there have been many other opportunities in my career Journey so far where I've been put into situations that I didn't know something it was uncomfortable and every single time it worked out really well I had tons of awesome learnings so I wish that I would have actively put myself into those situations for some web development so that that way I could be much more comfortable even to this day when I'm building my SAS brand goes we are split up
in our team I work almost exclusively on the backend because that's where it can be very effective and other team members work almost exclusively in the front end fortunately at this point in my career journey I am able to work in the front end it's not like I can't navigate it it's just not something that I'm as comfortable with so again if I would have built up some of those experiences earlier I think that would have benefited me greatly now the next thing that I want to talk about is not leveraging mentors early in my software engineering journey I had internships I had six internships while I was in university and I had many great people that I got to work with and as I was going through that I never really stopped to think that these people were really smart really successful and I
could learn tons from them in fact I just kind of went about my job and didn't really think that I could ask them more I didn't think that there were things that I could ask them about building up my career and having more success in the future I never really followed up with them after my internships right so I had these people that I had worked for in some cases I had gone back to the internship so this is something that was either four months or up to 8 months I'm spending a decent amount of time with these individuals I learning Lots from them but I am not going beyond that and this is something that I find kind of interesting because at this point in my career I am trying to Mentor tons of people so I try to do this actively at Microsoft
I am Switching gears a little bit to move away from helping just the early in career mentees and moving over towards people that are aspiring to be managers it's a little bit closer to some of my skill sets so it's something that I actively do however I don't know why I didn't lean into this when I was going through my journey myself and even as I say this there are people that I probably should be trying to connect with more frequently and leveraging them for mentorship so it's something that I do need to carve out time for and I do highly recommend that as you're going through your journey you try to get started with this early and of course you don't just need one Mentor lots of people will say that it's beneficial to have different mentors for different types of areas that you're
trying to grow in so try to keep an open mind for that and I do encourage you to do that and that's going to bring me to my final Point here and that's because I did a complete 180 when it came to internships and full-time work and what I mean by that is during my internships I was just kind of getting my job done I would show up I would do good work and as soon as it was 5:00 I was out of there I didn't really like to think about work at all outside of work and I could just isolate it specifically to that and that sounds pretty good actually right it's like that's a good work life balance but the reality is that this was such a good opportunity for me to be leveling up and putting in more effort because I'm trying
to do better but I couldn't seem to bring myself to it until my final internship now in my final internship I do remember one of my managers making a comment about my time in the office and they weren't trying to say that I'm not working enough but there was this implication that if I am trying to do more and I am trying to be better that you know being more present in the office this is before a lot of the remote work stuff it would be beneficial for me to be there more and I was trying to duck out a little early so I could avoid traffic so I was almost like not staying the full amount of time but I was doing good work and then leaving a little bit early I remember hearing this comment and again I know that they weren't trying
to make me feel a particular way I had great leaders at this company but it made me think like they're right I am trying like I remember asking for more work trying to get more challenging work and they were truly right if I want to have more bigger challenges that I need to be present a little bit more and that doesn't mean like working overnight it doesn't mean staying up every night and everything like that but I was trying to prioritize other things before work even while at work I was trying to get out early to traffic so this was towards the end of my internship and it was one of my final internships that I did but I remember hearing that and it kind of stuck with me now when I ended up starting to work full-time I still had this in the back
of my head and I started working at a startup once I graduated so at this point I had had a full two years of internships that's a lot of work experience before you graduate which is great but all of those 2 years I was kind of just doing the bare minimum so still good work but sort of bare minimum effort to get it done when I started working at this startup when I graduated things just felt different I felt like I had a lot of autonomy and there was a lot of trust given to me so I ended up working a lot in fact like I said I did a complete 180 and I went from doing the bare minimum to working almost nonstop there are pros and cons to sort of just doing the bare minimum and then making sure that you can go
enjoy life outside of work and of course if you look at the other side of that and you're working around the clock these are two different extremes going on here right so in my case I don't regret that I worked a lot but I do regret that I couldn't find a good balance in between because not doing a lot of work not really putting in more effort that wasn't really a good fit for me that's not really who I am I don't feel that way at least and then when I was working too much I couldn't really find that balance until much later so the point that I'd like to get across to you is that I think it's important if you are trying to get better at software engineering you're trying to grow in your career yes you might have to put in more
effort but you don't necessarily have to take it to an extreme where you're giving up parts of your life that are things that you value and things that you do want to put Priority on so do try to pay attention to that right balance for you now these are the four things that I think that I would do differently if I could start my software engineering Journey out again however if you're interested in hearing about the things that I think were really helpful in my software engineering Journey you can check out this video next when it's uploaded thanks and I'll see you next time
Frequently Asked Questions
What programming languages should I focus on as a beginner software engineer?
I recommend starting with a core language that you're comfortable with, like C, but also encourage you to explore other languages like JavaScript early on. This will help you become more versatile and effective in different programming environments.
How important is web development experience for a software engineer?
I believe it's very important. I avoided web development for too long, and it limited my skill set. Gaining experience in web development can open up many opportunities and make you a more well-rounded engineer.
Should I seek mentorship during my software engineering journey?
These FAQs were generated by AI from the video transcript.Absolutely! I wish I had leveraged mentorship earlier in my career. Having mentors can provide invaluable guidance and help you navigate your career more effectively.
