Great video again! Two things to add: 1. Prioritization. It is a relatively subjective activity. The goal is to maximize the outcome (e.g. quantifiable progress) within the pre-defined time period. The same priority on the same sets of projects may be considered good or bad depends on the culture of the company/organization, e.g. moving fast vs. laking the long view. Typically, projects are prioritized on a quarterly or 6-month basis, to align with the cadence of the earning report. Infra or new initiative may have longer horizon. 2. Probably the step of defining the measurement is before the prioritization, as the priority of a project is largely proportion to its anticipated quantifiable impact.
This video is actually golden. I think a lot of people incorrectly assume that senior developers just know how to code more effectively. Instead it has way more to do with being able to lead other developers towards a solution. As you said, as the senior, you're typically the one to both come up with solutions to ambigious problems and prioritize those solutions so the dev team knows what to work on.
Awesome video and glad to see audio improve! A few other interesting topics: 1) Real/perceived culture differences across FAANG 2) Typical workday at different levels 3) Pros/cons of Seattle vs. Bay Area for big tech 4) Perception of coding bootcamps (as an L8) 5) Pros/cons of big tech vs. startups
Wow thank you for sharing so many good ideas here! I've added them to my backlog and will definitely think about how to create some content around these topics.
Thanks for sharing all these information, it opens up a new perspective on how I can manage expectations from my current level and moving on to the next level.
I really love this video. It is been a year since i started working as full stack engineer at booz allen hamilton . I recently took a leap to help new onboarding devs to setup their environment. It wasnt easy but i have learnt a lot how hard it is for senior devs to help others. Thanks for sharing
It would be great if you could talk about compensation, how to negociate, leverage, do's and don'ts, job hopping vs working for promotions long term, etc. Once we're able to get to that promotion how to actually leverage our talent to maximize compensation, resources to understand how fair market value, etc
Thanks for the ideas. Will definitely think about those topics. Regarding job hopping vs working for promotions, I do have a previous video that specifically talked about it - check it out: ruclips.net/video/xIWOocqADA8/видео.html
Hehe funny story - I actually had a reasonably good mic from the beginning. After you called out the audio quality issues I double checked my setup and found that I plugged the mic into the headset audio jack of my camera. So much to learn! :)
Hey man, this was really helpful. I have been trying to become a senior engineer myself. It turns out I’m actually doing almost everything you described in this video. No wonder my boss said I’m basically already a senior engineer. Help to have u enumerate all these different things though.
I'm mid and I've worked recently with a Senior Engineer and he clearly lack the ability to influence my decisions. He was so much more experienced than me and he knew I was wrong but as long as I used compelling arguments he let me have my way with no opposition. Since he was right, the project had exactly the complications he said it would have. I always wonder, if he defended his ideas, instead of being quite the project would have been much smoother.
Yes, this senior engineer should have found ways to influence you towards the right path. Defending their idea was one approach, but very likely I think they needed to build a stronger trust with you beforehand such that it wouldn’t have taken too much communication to get their point across.
Great question! I made a video for exactly this - Principal Engineer's Toolkit: Building Trust (From L8 SWE at Microsoft) ruclips.net/video/tTOEhTluGeE/видео.html
Just an opinion. (Senior Software Engineer and everyone else opinions are probably have different.) #1. When you get a problem. Your first thinking should be the possibility of solving the problem. Not all problems are solvable. if a problem is unsolvable. Suggest other thing that may have been better. Then just then think of different solutions. #2. The other problem with brainstorming is the lacking of actual brain / idea for that matter. This is why sometime individuals should be proactive, or opinionated or like what they do. And people becomes like that if some person can help them to the right way.
Can you talk about the different branches in Software Engineering? like data engineers, DevOps, security, game development, etc. Do all these advices apply in general to all of them or there are specific details to consider depending on what you're working on?
Most of the advice should generally apply to various types of software engineers. But you are right that each branch can have their own unique aspects that are not covered by the general advice.
Lovely, my only issue is with measuring or quantifying outcome while working on a start-up finding the time to do those nice things is impossible, even though is needed otherwise boss comes saying you've done nothing
That doesn’t sound like the best boss in the world lol… but measuring impact is not just for the bosses. It’s for holding ourselves accountable as well - sometimes I thought I did something useful but once I start to measure it I would face the hard truth that it’s not as valuable as I thought it would be. Next time, with that learning I’ll have a better chance at doing something more impactful. Over time, I’ll achieve a lot more than the old me who just fire and forget.
I don't like this video because it puts everything into small boxes where in the real world you are far more expected for adaptability. Senior engineer is someone who has gained experience. I knew people who were titled "Juniors" who surpassed some "Seniors". These are all meaningless titles. The core principals of a good "Senior" engineer are based on their experience and knowledge. - Solving problems skills - their additional experience made them realize they've seen some stuff in the wild, this helps them to mitigate business issues. - Business domain knowledge - one of the necessary things to become a senior, otherwise you are just another programmer with solving skills. [Not much of help in business meetings] - Team player - Long gone the days where you where a keyboard in a basement, you need to learn how to work with people. - Learning, learning and learning. Good engineers don't stop learning.
Yeah there’s no hard definition here. Different companies have different expectations as well, especially when comparing between big tech and startups. My point of view is biased towards what I see from FAANG companies. Your points are good additions too!
Great video again! Two things to add:
1. Prioritization. It is a relatively subjective activity. The goal is to maximize the outcome (e.g. quantifiable progress) within the pre-defined time period. The same priority on the same sets of projects may be considered good or bad depends on the culture of the company/organization, e.g. moving fast vs. laking the long view. Typically, projects are prioritized on a quarterly or 6-month basis, to align with the cadence of the earning report. Infra or new initiative may have longer horizon.
2. Probably the step of defining the measurement is before the prioritization, as the priority of a project is largely proportion to its anticipated quantifiable impact.
Really good addition! I pinned this comment so everyone can see as well. Thanks a lot for adding colors to the topic!
This video is actually golden. I think a lot of people incorrectly assume that senior developers just know how to code more effectively. Instead it has way more to do with being able to lead other developers towards a solution. As you said, as the senior, you're typically the one to both come up with solutions to ambigious problems and prioritize those solutions so the dev team knows what to work on.
Straight to the point and no fluffy sugar coating. Great video pal!
Started my SDE career a year ago. Will be following you for a bit of great advice.
Awesome video and glad to see audio improve! A few other interesting topics:
1) Real/perceived culture differences across FAANG
2) Typical workday at different levels
3) Pros/cons of Seattle vs. Bay Area for big tech
4) Perception of coding bootcamps (as an L8)
5) Pros/cons of big tech vs. startups
Wow thank you for sharing so many good ideas here! I've added them to my backlog and will definitely think about how to create some content around these topics.
Thanks for sharing all these information, it opens up a new perspective on how I can manage expectations from my current level and moving on to the next level.
Glad it was helpful!
I really love this video.
It is been a year since i started working as full stack engineer at booz allen hamilton .
I recently took a leap to help new onboarding devs to setup their environment.
It wasnt easy but i have learnt a lot how hard it is for senior devs to help others.
Thanks for sharing
The cat cleaning herself at @2:27 lol
Great content Kun! Please keep posting and keep helping us!
Thanks! Will do!
thanks, this is golden advice
Really valuable content
This is some gold, this channel should blow up soon! (I’m working at Microsoft as an SDE1 :))
Thanks! :) Glad it's helpful.
It would be great if you could talk about compensation, how to negociate, leverage, do's and don'ts, job hopping vs working for promotions long term, etc.
Once we're able to get to that promotion how to actually leverage our talent to maximize compensation, resources to understand how fair market value, etc
Thanks for the ideas. Will definitely think about those topics. Regarding job hopping vs working for promotions, I do have a previous video that specifically talked about it - check it out: ruclips.net/video/xIWOocqADA8/видео.html
The audio improved a lot.
Hehe funny story - I actually had a reasonably good mic from the beginning. After you called out the audio quality issues I double checked my setup and found that I plugged the mic into the headset audio jack of my camera. So much to learn! :)
Agree, way better!
@@kunchenxyz Just curious, what microphone are you using?
@MingoDynasty I'm using this one rode.com/en/microphones/usb/nt-usb.
can't wait for l5 to l6 part :)
Me too! :)
me three :P
I would love to hear more about prioritization & delegation!
Stay tuned! :)
Hey man, this was really helpful. I have been trying to become a senior engineer myself. It turns out I’m actually doing almost everything you described in this video. No wonder my boss said I’m basically already a senior engineer. Help to have u enumerate all these different things though.
Same boat
Great video!
Are there some particular videos you would recommend on situational leadership?
I'm mid and I've worked recently with a Senior Engineer and he clearly lack the ability to influence my decisions. He was so much more experienced than me and he knew I was wrong but as long as I used compelling arguments he let me have my way with no opposition. Since he was right, the project had exactly the complications he said it would have. I always wonder, if he defended his ideas, instead of being quite the project would have been much smoother.
Yes, this senior engineer should have found ways to influence you towards the right path. Defending their idea was one approach, but very likely I think they needed to build a stronger trust with you beforehand such that it wouldn’t have taken too much communication to get their point across.
@@kunchenxyz how do you build trust?
Great question! I made a video for exactly this - Principal Engineer's Toolkit: Building Trust (From L8 SWE at Microsoft)
ruclips.net/video/tTOEhTluGeE/видео.html
Just an opinion. (Senior Software Engineer and everyone else opinions are probably have different.)
#1. When you get a problem. Your first thinking should be the possibility of solving the problem. Not all problems are solvable.
if a problem is unsolvable. Suggest other thing that may have been better.
Then just then think of different solutions.
#2. The other problem with brainstorming is the lacking of actual brain / idea for that matter. This is why sometime individuals should be proactive, or opinionated or like what they do.
And people becomes like that if some person can help them to the right way.
Great addition!
Can you talk about what to expect from your manager and what to look for when choosing a team if someone is looking to climb career ladders fast?
That's a great idea! Will think about how to organize a video around it!
Can you talk about the different branches in Software Engineering? like data engineers, DevOps, security, game development, etc. Do all these advices apply in general to all of them or there are specific details to consider depending on what you're working on?
Most of the advice should generally apply to various types of software engineers. But you are right that each branch can have their own unique aspects that are not covered by the general advice.
Lovely, my only issue is with measuring or quantifying outcome while working on a start-up finding the time to do those nice things is impossible, even though is needed otherwise boss comes saying you've done nothing
That doesn’t sound like the best boss in the world lol… but measuring impact is not just for the bosses. It’s for holding ourselves accountable as well - sometimes I thought I did something useful but once I start to measure it I would face the hard truth that it’s not as valuable as I thought it would be. Next time, with that learning I’ll have a better chance at doing something more impactful. Over time, I’ll achieve a lot more than the old me who just fire and forget.
A senior engineer doesn't ask how to do something and instead asks why we are doing it that way.
the cat behind is cute haha
Ok, but where did you get that shirt?!
Make a top tier list of companies for software engineers
That's an interesting idea. Will think about it!
delegation also means PUA other low level SDE
What tool/application do you use to maintain your todos, top of mind and projects art work?
Please make more such videos
that cat is so standing still I thought it was a statue.
Yup that’s when she’s communicating with her mothership.
😚 ρгό𝔪σŞm
I don't like this video because it puts everything into small boxes where in the real world you are far more expected for adaptability.
Senior engineer is someone who has gained experience.
I knew people who were titled "Juniors" who surpassed some "Seniors". These are all meaningless titles.
The core principals of a good "Senior" engineer are based on their experience and knowledge.
- Solving problems skills - their additional experience made them realize they've seen some stuff in the wild, this helps them to mitigate business issues.
- Business domain knowledge - one of the necessary things to become a senior, otherwise you are just another programmer with solving skills.
[Not much of help in business meetings]
- Team player - Long gone the days where you where a keyboard in a basement, you need to learn how to work with people.
- Learning, learning and learning. Good engineers don't stop learning.
Yeah there’s no hard definition here. Different companies have different expectations as well, especially when comparing between big tech and startups. My point of view is biased towards what I see from FAANG companies. Your points are good additions too!