I thought I was a junior developer until I was told I have the most responsibilities among the developers in our company and is considered one of the top developers. Now I just have impostor syndrome.
As soon as you overcome that feeling and give yourself an appropriate amount of credit, and similarly appropriate amounts of self-critique, poof, you’re a senior.
@@JeremyAndersonBoise I hope I'll get to that point eventually. I think giving myself an appropriate amount of credit is the biggest difficulty. I'm trying at least. It's also a bit of a balancing act, because while I do want to give myself credit, I also don't want to be pretentious.
I’m a “senior” right now and working on all of the above: debugging and refactoring mundane legacy code, architecting a cutting edge new system, reviewing random code changes from both junior and senior devs…in my experience seniority is just a function of having seen a lot of stuff and how much responsibility/expectation is put on you. It has nothing to do with being proficient in vim, or any other specific technology
Ever since I joined my current company as SE3 I’ve always dreamt about Principal SE position because every PSE in our company seemed to be so good and had so many fun things to do. Since few weeks ago, I’m one of them. And you know what? Having a time to sleep felt better lol.
I think being a senior developer is not about already knowing it all. It's more about being able to consider long term side-effects of decisions you make for the project. Sometimes a quick hack is all you need, sometimes a quick hack now would bite your ass in the future and typically it's the senior developer that can tell the difference.
"Endless meetings" I had a strategy meeting for an upcoming meeting, followed by a client meeting, followed by a review of the previous meeting. We scheduled another meeting in the last meeting so we could more widely discuss the topics. My calendar has an average of 3 hours of meetings a day, and of the people I've talked to, that's actually less meetings than many.
Exactly, the biggest sign that someone is inexperienced is the fact that they are confident about their knowledge in a subject because they dont know how deep is the rabbit hole (this have a name -> "the dunning krueger effect")
@@Carhugar1most of what I find in SO is terrible quality I wouldnt advice anyone to look there for anything other than perhaps a different way of looking at the problem.
Love how every single time he asks for a zoom in or literally anything to do with editing, Flip Flips the script and is just like "Don't tell me what to do weird Technology Mustached Man-Child." Somehow this is the only UA-cam Channel where there's another character, but he's hidden and we won't see him till Season 2-3. He may even be the real Villain.
I’ve been coding for about 35 years (started at age 7, zx spectrum), and I still don’t consider myself a senior. I don’t know if I want to be, it means I have to write proper code, and the only reason I code is because it allows me to be creative, create anything I want. Made quite a bit of money doing it too, but I want it to remain new and exciting, not something where I follow rules and guidelines.
@@JorgetePanete I absolutely do. Especially when working in teams. I’m not questioning the usefulness of guidelines and practices, I’m saying that it’s not something that interests me that much. I’m at a level where I can build almost anything I would want (obviously I have limitations, and am aware of them), but “seniors” might scoff at how I do some things. And it’s not like performance suffers, I recently made a polygon clipping algorithm that’s 2-10 times faster than clipper2 (depending on certain factors). But it’s built in a way that makes sense to me, but others might find weird. Not entirely sure what my point is. I guess it’s that you can get far by carving your own path, and that sometimes worrying to much about the proper way to do things could get in the way of actually building something.
@@svenmify FizzBuzz Enterprise edition is a great example of how not to do things and sadly how enterprise code looks like. Testable code is better in a way but it looks so dilluted
Pretty certain most of us aren't really into writing maintainable code, but still do it a lot of the time expect for the times we can't be bothered. And sounds like you can't be bother all the time LOL 🙂
I’ve been programming since I was single-digit-years-old too. It’s always been something I do for fun; I have never been able to get into video games, but I can easily loose 12 hours working on a single hard-to-solve problem. Too much process definitely kills the cow for me. I have been able to do program professionally for 24 years using a few tricks: For a decade I wrote software “unofficially”. I worked in an IT role, but would write tools on the side to help me do my job better. Eventually these tools became vital to the company, so my working on them part time became an accepted but still unofficial part of my role. There were no Jira issues, no extensive meetings, no product managers. I would add features as I found I needed them. Sometimes people would pop by my office, we’d discuss a new feature, if it was something I thought would be useful, I’d add it. The people that used my software love it because it was written by someone that actually did the same job as them, so the workflows made sense. At my next job, I found a niche working in R&D. I wrote code to prove that something could work; I’d hash out all the implementation details and get it working well enough to test the concept. If it proved to be something the company wanted to pursue, I’d clean up the code, structuring it in a way that hinted at a possible architecture, then hand it off to a “real” developer. It was nice.
@8:50 Juinor developers: "We're going to work with the very latest technologies! We're going to push the envelope! We're going to INNOVATE!" Senior developers: "Praise the Omnissiah!"
Being a senior is about responsibility, and to be an accelerator. I frequently go a week without writing code, but I probably 3x'ed my team's output by helping to find solutions or point out some obscure edge case behavior in the compiler. My best days is when I develop a testing harness, or some abstraction that will guide my colleagues' decisions on how to use messaging, (Azure Service Bus SDK is the best example of an SDK that needs to be wrapped for simplicity if you want any consistency of usage in a complex distributed system)
Being a senior has a lot of gray area. You can have seniors that are actually overpaid jr's, you can have superhero seniors, and you can have anything in between. Where I work, Senior Software Engineer is only one step up from a Jr dev and is below Staff and Senior Staff software engineer. In other words, being a senior is not the end all be all. It's more like step 2 in your career. There are also principal engineers, architects, reliability engineers, etc. all which can feel overwhelmingly distant for any Jr./Sr. dev. Your experience may very based on company.
There are many journeys starting from Junior. This author sounds to me like he still has a lot of journeys to take. Over my career, periodically I look back at myself 2 years ago and laugh. Always be looking to make your life easier.
I'm at the beginning of the video, but I've noticed that the "Senior Developer: 'I don't know what I'm doing'" meme is normally due to companies promoting developers based on time in the job instead of, for lack of a better word, merit. In my own company, our developer levels document says that 3-5 years of experience is one of the criteria for the senior level. It leads to people simply expecting to be promoted after a certain amount of time without focusing on growing as a developer. And while I'm on the subject... I really don't like that a lot of companies also say that a senior developer can implement complex code while entirely leaving out the ability to simplify complex code in the first place. It leads to people developing terrible spaghetti and then getting promoted because of it. It's analogous to how a good professor can communicate complex topics in simple terms. We're not trying to promote the development of JDSL here guys.
To me it seems the article is describing a lead developer. Not necessarily all seniors are leads. And it also seems that ThePrimeagen is not a lead developer in most of his projects. Which could explain his perceived differences. Because yes, a lead developer is mostly doing the anoying stuff (if they don't identify as a software architect 💀). But most seniors are just part of the normal work force who do the same things as everybody else but with a bit more experience. And everybody seems to forget the inbetween: Being a normal developer. Neither junior nor senior (sometimes called professional). They do mostly the same stuff.
Important topic. I'm a 55yr-old junior dev. And I seriously respect senior devs even if they happen to be 25yrs. *It's all about putting our minds to work, irrespective of age. AI is catching up to coding incredibly fast... so we need to work with that or fall behind*
Heck, I just realized (thanks to the author mentioning Linux skill issues) that I had an XY-problem. I was so concerned about how to run `go` with sudo, that I didn't even think to just build it and then run the executable with sudo.
My company came to believe these "falsehoods" and now our product is majority junior devs (5:1 ratio). They can't reliably do anything above the lowest of low-hangers. Basically, we've become an incubator instead of a real team. I spend more time walking them through programming basics like destructuring than I do problem-solving collaboration.
I’m still learning software engineering but that last point was pretty interesting. Picking up skills outside of programming throughout your career is a good idea
As a senior I worked on a research project for 5 years, which end up with a successful launch and a eventual sunsetting to the current state of being an unmaintained open source project that works and many people use anyways. Then now I'm working on a legacy system for 2 years already, which I am the only trusted person to work on it, even if there's less experienced people who even started the project in the company. I did do some new projects but included some modifications to the legacy system as well.
I think, im probably putting in half the time as I was as a Jr. But I came from actuarial, the hours were like 60-78 hours per week on work and study... on the last 2 months leading up to an exam. I think I probably spend 8-12 hours "learning" outside of 40 hours per week. I try to put 2-3 hours into refinement of my process, per week. I also try to study some maths when I'm not sad. Do some low level programming. I've been recently building myself tools to help build intuition for mathematical objects. Idk I think investing ~ 5 hours per week in learning something new, getting better... after 16 weeks, that 5 months is less than ur efficiency gain. And u just keep doing that
The senior meme relates to the new hires that replace the existing wizards who know how the tower was formed and where all the demons/dragons are located.
My biggest frustration with Juniors (not all obviously) is the "I have been a junior for two years now - I should be a senior". It's not a function of time champ.
I legit know a junior eng who just doesn't know what fear of failure is. Meanwhile I'm shaking in my boots scared about getting fired because I always have to ask someone for help, and can rarely tell what the end result of a feature should look like based on the description on the ticket + the "product owner + CTO + senior engineer" guy is really hard to communicate with.
The truth is no one knows what they are doing. In life, in software, etc. When you have to face a challenge you've never seen or don't know where to start, how you respond is what makes you an adult or a "senior" developer. I may not know how to do something, but I am confident that I have the skills and experience to figure it out. Im a senior SE btw
about the endless meetings, I think it's generally less true nowadays. As Michael mentionned, ensuring meetings are useful and protecting the team's time is a priority. However if you end up as a senior dev and turns into a manager (team lead and above)... well it's true there's going to be meetings and it should be your priority to shield your team from them as possible. In my team, we actually added 2 short weekly "team banter" meetings for social purpose because we actually ended up not having enough chances to talk to each other for non-work related stuff. Otherwise beside a weekly sync, most meetings people in my team do are usually directly with other expertise counterparts so they can solve/help or communicate issues. Also with remote meetings, it also get easier for optional people to just carry on working and get poked to join the call if it's relevant for them to intervene. it's so much better than wasting your time being physically present in a long meeting not relevant to you just in case needs someone to answer a very specific tech question (like before the pandemic).
I’d say I’m a senior in terms of full-stack web dev stuff, I’m not senior when it comes to game development or things like kernel development… I’m probably very, very junior in those things. Especially kernel development stuff.
So I managed to go from Junior to "Senior" in 5 years at the company that I work for. My responsibilities? Haven't changed that much. I probably have got a bit more leeway to do stuff the way I want it to be done. However, since my junior times I have been dealing with code reviews, debugging, legacy, greenfield stuff, architecture, you name it. Regarding the meetings - it depends on the project. Some projects that I used to be working on had a lot of meetings, some had just daily standup in the morning. The amount of meetings wasn't impacted on my "seniority".
Seniors should be able to plan out solutions breadth-wise, plan for scale, assume what might happen down the road that will need to be solved, etc. Seniors have to demonstrate that they've been there, that they've gone through the same crap that Juniors and Intermediates have.
Agreed. I hate that take too. As a senior I don't know everything but I know far from nothing. Senior means you know ROUGHLY which direction to go and how to understand feedback to change the direction of code.
0:28: 💭 Misconceptions about senior developers held by junior developers and the reality of climbing the ranks in software development. 3:57: 🧠 Misconceptions about senior developers and the constant learning in the tech industry. 7:37: ⚙️ Challenges of working with legacy systems and new technologies while balancing growth concerns. 11:32: ⏱️ Efficiency in problem-solving: Experienced developers can quickly solve issues by analyzing pictures instead of using automated methods. 15:43: ⏳ Challenges and benefits of meetings and code reviews for senior developers. 19:22: ⚒️ Importance of diversifying skills and staying updated with new technologies as a senior engineer. 23:17: ⚖️ Balancing work and personal life as a senior developer involves juggling various responsibilities and knowing when to say no. 26:48: 💡 Misconceptions about senior developers' roles and responsibilities. 30:50: 💡 Misconceptions about job security for senior developers debunked. Timestamps by Tammy AI
It's gotta be very biased based on where you worked and whether or not you were appropriately awarded for your work. Ever since I was an intern I had job responsibilities matching your average "intermediate" level developer. As a Junior I was pretty much already doing Senior level work, just without the pay. As a mid level, I was operating at "lead" level, being much more of a lead in my department than my actual lead, but again, without the pay or recognition. And I mean that in the broadest sense, anything you can possibly think of that a lead might do, he didn't do any of it, it was all me, as an intermediate. From setting the code standards, to leading the team, to planning and leading product development, to creating most of the things, to bug fixing most of the things. I also made our company's intake assignments, and conducted job interviews for our department. Now I finally made it to senior, but it's just a job title and more pay, nothing more than that. I never had this "dreamy" idea of a senior. When I joined the company as a junior, I was already feeling equally competent to most seniors. Now that I am officially a senior, I just feel like the promotions came awfully late. And still, I am operating as de facto lead, just without the recognition or pay. I will probably leave the company before they finally decide to properly acklowedge how crucial I've been in the past years of the company's operation.
A senior doesn't know everything, but they know how to know anything they need. They also work outside the context of the code, they know to make decisions on what provides best cost-benefit first, "bad" code solutions may be perfect for the needs and capacity of the business
I *feel* like I’m a Jr dev, but everywhere I work I end up being the go-to guy to solve the hardest problems… It’s simultaneously flattering, frustrating, and confusing. I feel like most of being a Sr engineer is just about having the determination to understand how things work rather than being a mere user. When you know how something works under the hood, no problem cannot be overcome. Mazes are much easier to solve when you start from the exit. That and ADHD. You write much better software when your mind instantly branches out to find 538 ways your code could break…
16:00 Most decision makers will understand that having yet another meeting doesn't make sense when you explain how many dollars are wasted during that meeting when people are not doing productive work. (Simply multiply the salary of every meeting attender with the length of the meeting + some extra because attending the meeting will destroy your flow every time.) If the meeting cannot provide at least that much extra value, do not have the meeting at all.
3:20 - I mean, senior devs generally are just winging it. They just wing it faster and skip to asking the juniors what they're stuck on and why they haven't figured it out before diving into their own pool of experience to pull a solution out of their ass. >D 13:10 - So why does every job want someone with 5 years of experience in a framework that hasn't been out for more than 2 years? 16:20 - My favourite meetings are the ones scheduled to take a specific amount of time, because they always end in that timeframe. I appreciate those. We get things done, we have a defined solution by the end (if we're problem solving), everyone leaves enriched. The meetings that the guy's probably referring to are the "don't worry, it's a quick meeting, just going to talk about X" meetings which are never quick and continue until someone pops their head in to ask about the progress on task Y that someone (possibly you) were supposed to be working on instead of doing a meeting. This kind of meeting is subject to the leadership of the company. My last job, there was effectively no leadership, so this kind of meeting happened too often. 19:30 - Oh definitely, that first paragraph is me at every new company within the first month. The difference is junior devs think their way is better, senior devs ask why people are doing it that way before offering their solution. Sometimes things are the way they are for legacy or legal reasons and you just can't change anything. You just have to accept it. And the senior devs will nod and move on while the juniors will plot and scheme and squeeze extra time to work on a proof of concept in lunch breaks to show someone their way is better, ultimately wasting their time. 27:10 - In the jobs I've had, there is a focus on legacy code bases. It's just a thing with many "non-tech centric" businesses. Ironic for a tech focused job. But consider, management's focus is on advertising; they treat the company as a classical ad company rather than a tech company that supports advertising, simply because they understand ads and don't understand computers. You can't work on a replacement platform without having extra manpower. But nobody wants to pay for the extra devs. So you instead get an overworked team making revisions to legacy code to try and add new features. Yes, you are making new features. But you are doing it to old and fragile code that nobody in the "actual decisions department" wants you to replace because "it works, doesn't it?" 28:17 - This has been my experience. Your time shifts from "alright, my boss told me to make a new feature! Time to crack open an editor!" to "my boss told me to implement NFTs because he heard they were the new hot tech, but there's nothing we can use NFTs on in our company and won't listen to me when I tell him it doesn't make sense..." 30:10 - Nope, happens at any scale from 10 people crammed into a 5 person room rented from a communal office space to 500 people between three buildings in an industrial complex. I imagine it happens at megacorps like Google the same way. You're questioning the validity of this article as a senior dev looking back while sitting at honestly a progressive company which seems to have reasonable management. But fresh faced, I can say a lot of this applied to me, and I see it in my more junior peers as well. The expectation that when they get to my position they'll be better off somehow at a company with "business majors" in charge (rather than technologically intelligent people with feasible design ideas). Financially, yes, but as you said, and as this article relates, that can't be further from the truth.
The point of the "I don't know what i'm doing" meme is exactly that neither knows every step of the way even for moderately complicated stuff. The difference is that the junior without help gets stuck on not knowing, and basically "lies down and dies" (figuratively) The senior on one hand has fewer gaps, but is also like "cool, finally something interesting", then goes on to find what they need. When the junior goes to the senior, the senior can a lot of times be like Action: Clicks on link to check the error. (Inner thoughts: "What the hell is this?"). Copies error into google, clicks on first result, reads it in 1-2 minutes and writes the answer in 1-3 sentences to the junior Junior: "This grumpy god knows everything as long as enough coffee is sacrificed at his table, I wanna be like him"
Junior devs doing mundane tasks: `I should be learning rust instead of mantaining this legacy code` Senior devs doing mundane taks: `Yeah baby, changing copy texts at 150usd/hour, give me more of that`
I totally thought my senior devs didn't make as much mistakes as I did, until the new dev lead starting doing code reviews and they got just as many comments as I was (some times more :D)
Junior: fight to make technology do what you want Mid: fight to do technology the best way possible Senior: fight to solve business problems and it just happens that you're using tech to do so
Don't ever think that some suit would ever be able to comprehend how crucial you are to some internal system, or a product, or to the company culture, etc. :D Yes, they would eventually find out after you're gone, but don't think of this as any kind of leverage against out-of-touch people.
15:54 - One thing I hate: “But you’re free, right? It’s just a quick chat.” Sometimes it’s totally legit, especially if it’s ad hoc or whatever, but if it’s totally unrelated to what you’re working on and you’re 95% certain it could be async (email, Slack, etc) and they just don’t want to take the time to write it out, then it’s a bit annoying for sure. The main reason is: Focus. Gotta have that uninterrupted focus time to allow you to mentally ramp up on what you’re working on.
I always tell the juniors at my work (particularly when they have imposter syndrome) that the only difference between juniors and seniors is that seniors have made and learned from more mistakes than them
As someone that’s been in the infosec world for a few decades, you are absolutely going to get hacked at some point in time. One of the goals is to make it take harder to get in to, faster to recover and limiting the blast radius so when it happens the damage is limited.
I think the article was generally good. I don't exactly get the focus on fighting against generalization in articles that prime sometimes read. The thing is that every person is different, and every company is different, so you will have seniors who create new stuff vs seniors who work only on legacy, and always pointing out exceptions and nuances would baloon any article 10x times in size, so you need to decide on either making pararaph on each point about exceptions / how life is more nuanced so you can't make article that will generally cover every possibility. I feel the article is good on generic level, in that it most importantly tries to show that Juniors often have "fantasy" like view of being a Senior, while being a Senior like most things in life, comes with a lot of it's mundane aspects and responsibilites, that aren't always the most exciting, but are still important, that you wouldn't think about when you didn't have experience but only a fantasy / idea of the thing. I also like what Adam Savage from mythbusters mentioned about work which stucked with me, which is that even exceptional and trully exciting stuff you work on, will still require mundane tasks that aren't exciting to do. And it's mentality that i feel can help a lot on any work. And i agree with Prime too, always push for new ideas, and that difference between Senior and Junior is that Junior will only push idea, while Senior will implement demo of that idea.
I don't assume everyone knows more than me but I do assume that good ideas can come from anywhere. Back when I used to assume that people knew more than me it would always cause suffering when that turned out to not be the case.
I would love to say that my experience was kinda unique, i had no senior developer to trust, not once ... . So i had to come up with all solutions by my self, 12 years! And now i'm seeing as an all knowing god!. At least things are working
For people, like the guy in the chat, who are stuck in Windows, do like me at every company, and install MSYS2. I live in there, and mostly in vim in there. I can pull down my dotfiles, and it's almost as good as Linux, except no it isn't, at all, but it's a lot better than nothing.
If no-one hires and employs juniors, no-one will ever get seniors. Companies trying to play the field and not take on the junior burden will eventually Prisoner's Dilemma the industry into a hiring crisis - it already is at the junior level, but this will only naturally progress if it isn't resolved. The solution is for everyone to suck it up and take on their share under the assumption that they'll lose most of their juniors to promotion elsewhere but will be able to poach mid and senior from elsewhere in return. And it can't be an act of charity, because then the only employers propping up the talent pipeline will be the ones most punished on the bottom line and eventually going out of business, it has to be mutual and universal
Everytime he talks about this I always get to the conclusion of "wow, Netflix is a good place to work at", Seniors are juicy to lay off, Juniors not so much why? Because they make more money, companies usually lay people off because of economic issues. This will happen to you if you're a Senior and you're working on a project within the company that happens to not be profitable yet.
Flip did the best jobs with zoom in
3:43 classic flip zoom-in 👌
Perfection 😂
He sold it 😭
I'm shocked by the quality of this zoom. Truly, one of the zooms of all times.
Rivals that one zoom from the movie JAWS!
Days since Flip has rebelled: 0
I thought I was a junior developer until I was told I have the most responsibilities among the developers in our company and is considered one of the top developers. Now I just have impostor syndrome.
As soon as you overcome that feeling and give yourself an appropriate amount of credit, and similarly appropriate amounts of self-critique, poof, you’re a senior.
@@JeremyAndersonBoise I hope I'll get to that point eventually. I think giving myself an appropriate amount of credit is the biggest difficulty. I'm trying at least. It's also a bit of a balancing act, because while I do want to give myself credit, I also don't want to be pretentious.
@@CottidaeSEAHow long have you been programming? What is your timeline?
I hope you don't get paid as a junior then XD
Install arch and turn impostor syndrom into superiority complex (I use arch btw)
I’m a “senior” right now and working on all of the above: debugging and refactoring mundane legacy code, architecting a cutting edge new system, reviewing random code changes from both junior and senior devs…in my experience seniority is just a function of having seen a lot of stuff and how much responsibility/expectation is put on you. It has nothing to do with being proficient in vim, or any other specific technology
its like not having excuses
@@nikolas4786 Don't waste the opportunity to vi all over those juniors though 😂
Ever since I joined my current company as SE3 I’ve always dreamt about Principal SE position because every PSE in our company seemed to be so good and had so many fun things to do. Since few weeks ago, I’m one of them. And you know what? Having a time to sleep felt better lol.
I think being a senior developer is not about already knowing it all. It's more about being able to consider long term side-effects of decisions you make for the project. Sometimes a quick hack is all you need, sometimes a quick hack now would bite your ass in the future and typically it's the senior developer that can tell the difference.
"Endless meetings"
I had a strategy meeting for an upcoming meeting, followed by a client meeting, followed by a review of the previous meeting. We scheduled another meeting in the last meeting so we could more widely discuss the topics. My calendar has an average of 3 hours of meetings a day, and of the people I've talked to, that's actually less meetings than many.
Flip trolling
Flip is evil
He flipped. They got to him
The most important thing about being "senior" is learning what you do know, and more importantly what you DONT know and where to find the answer.
Exactly, the biggest sign that someone is inexperienced is the fact that they are confident about their knowledge in a subject because they dont know how deep is the rabbit hole (this have a name -> "the dunning krueger effect")
Stack Overflow?
@@Carhugar1youtube tutorial
@@Carhugar1most of what I find in SO is terrible quality I wouldnt advice anyone to look there for anything other than perhaps a different way of looking at the problem.
Love how every single time he asks for a zoom in or literally anything to do with editing, Flip Flips the script and is just like "Don't tell me what to do weird Technology Mustached Man-Child." Somehow this is the only UA-cam Channel where there's another character, but he's hidden and we won't see him till Season 2-3. He may even be the real Villain.
villain arc coming soon - Flip
"anxiety is a you choice" - the primeagen, 2024
I’ve been coding for about 35 years (started at age 7, zx spectrum), and I still don’t consider myself a senior. I don’t know if I want to be, it means I have to write proper code, and the only reason I code is because it allows me to be creative, create anything I want. Made quite a bit of money doing it too, but I want it to remain new and exciting, not something where I follow rules and guidelines.
You at least have to understand that several guidelines and rules are really useful
@@JorgetePanete I absolutely do. Especially when working in teams. I’m not questioning the usefulness of guidelines and practices, I’m saying that it’s not something that interests me that much.
I’m at a level where I can build almost anything I would want (obviously I have limitations, and am aware of them), but “seniors” might scoff at how I do some things. And it’s not like performance suffers, I recently made a polygon clipping algorithm that’s 2-10 times faster than clipper2 (depending on certain factors). But it’s built in a way that makes sense to me, but others might find weird.
Not entirely sure what my point is. I guess it’s that you can get far by carving your own path, and that sometimes worrying to much about the proper way to do things could get in the way of actually building something.
@@svenmify FizzBuzz Enterprise edition is a great example of how not to do things and sadly how enterprise code looks like. Testable code is better in a way but it looks so dilluted
Pretty certain most of us aren't really into writing maintainable code, but still do it a lot of the time expect for the times we can't be bothered. And sounds like you can't be bother all the time LOL 🙂
I’ve been programming since I was single-digit-years-old too. It’s always been something I do for fun; I have never been able to get into video games, but I can easily loose 12 hours working on a single hard-to-solve problem.
Too much process definitely kills the cow for me.
I have been able to do program professionally for 24 years using a few tricks:
For a decade I wrote software “unofficially”. I worked in an IT role, but would write tools on the side to help me do my job better. Eventually these tools became vital to the company, so my working on them part time became an accepted but still unofficial part of my role. There were no Jira issues, no extensive meetings, no product managers. I would add features as I found I needed them. Sometimes people would pop by my office, we’d discuss a new feature, if it was something I thought would be useful, I’d add it. The people that used my software love it because it was written by someone that actually did the same job as them, so the workflows made sense.
At my next job, I found a niche working in R&D. I wrote code to prove that something could work; I’d hash out all the implementation details and get it working well enough to test the concept. If it proved to be something the company wanted to pursue, I’d clean up the code, structuring it in a way that hinted at a possible architecture, then hand it off to a “real” developer. It was nice.
@8:50
Juinor developers: "We're going to work with the very latest technologies! We're going to push the envelope! We're going to INNOVATE!"
Senior developers: "Praise the Omnissiah!"
Ave Imperator
Being a senior is about responsibility, and to be an accelerator. I frequently go a week without writing code, but I probably 3x'ed my team's output by helping to find solutions or point out some obscure edge case behavior in the compiler. My best days is when I develop a testing harness, or some abstraction that will guide my colleagues' decisions on how to use messaging, (Azure Service Bus SDK is the best example of an SDK that needs to be wrapped for simplicity if you want any consistency of usage in a complex distributed system)
I recently discovered this channel and absolutely loving it. Being a buddying Techie, learning a lot with these discussions.
"Many junior developers dream of working exclusively with the latest frameworks and tools."
So they finally managed to mix LSD into tap water.
Being a senior has a lot of gray area. You can have seniors that are actually overpaid jr's, you can have superhero seniors, and you can have anything in between. Where I work, Senior Software Engineer is only one step up from a Jr dev and is below Staff and Senior Staff software engineer. In other words, being a senior is not the end all be all. It's more like step 2 in your career. There are also principal engineers, architects, reliability engineers, etc. all which can feel overwhelmingly distant for any Jr./Sr. dev.
Your experience may very based on company.
Ye, my experience with "seniors" is that they're juniors with at least 1 weather app on vercel.
There are many journeys starting from Junior. This author sounds to me like he still has a lot of journeys to take. Over my career, periodically I look back at myself 2 years ago and laugh. Always be looking to make your life easier.
I'm at the beginning of the video, but I've noticed that the "Senior Developer: 'I don't know what I'm doing'" meme is normally due to companies promoting developers based on time in the job instead of, for lack of a better word, merit. In my own company, our developer levels document says that 3-5 years of experience is one of the criteria for the senior level. It leads to people simply expecting to be promoted after a certain amount of time without focusing on growing as a developer.
And while I'm on the subject... I really don't like that a lot of companies also say that a senior developer can implement complex code while entirely leaving out the ability to simplify complex code in the first place. It leads to people developing terrible spaghetti and then getting promoted because of it. It's analogous to how a good professor can communicate complex topics in simple terms. We're not trying to promote the development of JDSL here guys.
Excuse me, Tom is a genius and an Archmage Engineer. You need to learn your place.
Us Midlevels know the magic cloak is senior devs have access to permissions and either hoard them or don’t know how to use them
Have you considered punctuation?
To me it seems the article is describing a lead developer. Not necessarily all seniors are leads. And it also seems that ThePrimeagen is not a lead developer in most of his projects. Which could explain his perceived differences.
Because yes, a lead developer is mostly doing the anoying stuff (if they don't identify as a software architect 💀). But most seniors are just part of the normal work force who do the same things as everybody else but with a bit more experience. And everybody seems to forget the inbetween: Being a normal developer. Neither junior nor senior (sometimes called professional). They do mostly the same stuff.
"Absolutely I do it on purpose, I like highlighting things that way." - Senior criminal
Important topic. I'm a 55yr-old junior dev. And I seriously respect senior devs even if they happen to be 25yrs. *It's all about putting our minds to work, irrespective of age. AI is catching up to coding incredibly fast... so we need to work with that or fall behind*
flip doing flips
Your highlighting is very satisfying. ADHD approved!
Heck, I just realized (thanks to the author mentioning Linux skill issues) that I had an XY-problem. I was so concerned about how to run `go` with sudo, that I didn't even think to just build it and then run the executable with sudo.
That's some wisdom on 21:00. It the hard truth that you can't sell promises or ideas written as a document. Only MVP and real stuff that works.
I watched your be a Sr dev vid, thank you for helping us understand that all these ppl are human like us even if they have a bit more experience.
My company came to believe these "falsehoods" and now our product is majority junior devs (5:1 ratio). They can't reliably do anything above the lowest of low-hangers. Basically, we've become an incubator instead of a real team. I spend more time walking them through programming basics like destructuring than I do problem-solving collaboration.
Flip just looking for the "the name, is the rando-agen" moment, cutting and posting
I’m still learning software engineering but that last point was pretty interesting. Picking up skills outside of programming throughout your career is a good idea
As a senior I worked on a research project for 5 years, which end up with a successful launch and a eventual sunsetting to the current state of being an unmaintained open source project that works and many people use anyways.
Then now I'm working on a legacy system for 2 years already, which I am the only trusted person to work on it, even if there's less experienced people who even started the project in the company. I did do some new projects but included some modifications to the legacy system as well.
This article is voicing all my insecurities as a new senior thats not allowed.
Senior Developer Rizz is indeed real.
I asked my senior dev questions, not because I'm stuck centering a div, but because I want his attentions UwU
Regarding "Seniors being better at junior tasks" -> I think we just know that there is no way around it so we just do the thing.
So, to summarize:
"If you are in charge of security, you're probably getting hacked"
"Don't ever fear failure... I just assume I can always do it"
This sounds like someone just imagined that becoming senior would make you a wizard
Best part about this whole thing is the anguish that the higlightist must have felt during every -1 highlight after bringing it up.
For me, when I run into someone who THINKS they know everything, I seriously doubt them.
I think, im probably putting in half the time as I was as a Jr. But I came from actuarial, the hours were like 60-78 hours per week on work and study... on the last 2 months leading up to an exam.
I think I probably spend 8-12 hours "learning" outside of 40 hours per week. I try to put 2-3 hours into refinement of my process, per week.
I also try to study some maths when I'm not sad. Do some low level programming. I've been recently building myself tools to help build intuition for mathematical objects.
Idk I think investing ~ 5 hours per week in learning something new, getting better... after 16 weeks, that 5 months is less than ur efficiency gain. And u just keep doing that
12:20 Dude on chat was like: I'm gonna use "ageism" to sound smart even tho I have no idea what it means
The senior meme relates to the new hires that replace the existing wizards who know how the tower was formed and where all the demons/dragons are located.
I like highlighting off-screen and working my way back to where I want to be from wherever the UI takes me.
My biggest frustration with Juniors (not all obviously) is the "I have been a junior for two years now - I should be a senior".
It's not a function of time champ.
16:55 knowing when to cut corners because you know in the near future that whole subsystem will be rewritten and/or replaced
I legit know a junior eng who just doesn't know what fear of failure is. Meanwhile I'm shaking in my boots scared about getting fired because I always have to ask someone for help, and can rarely tell what the end result of a feature should look like based on the description on the ticket + the "product owner + CTO + senior engineer" guy is really hard to communicate with.
The truth is no one knows what they are doing. In life, in software, etc. When you have to face a challenge you've never seen or don't know where to start, how you respond is what makes you an adult or a "senior" developer. I may not know how to do something, but I am confident that I have the skills and experience to figure it out. Im a senior SE btw
about the endless meetings, I think it's generally less true nowadays. As Michael mentionned, ensuring meetings are useful and protecting the team's time is a priority. However if you end up as a senior dev and turns into a manager (team lead and above)... well it's true there's going to be meetings and it should be your priority to shield your team from them as possible. In my team, we actually added 2 short weekly "team banter" meetings for social purpose because we actually ended up not having enough chances to talk to each other for non-work related stuff. Otherwise beside a weekly sync, most meetings people in my team do are usually directly with other expertise counterparts so they can solve/help or communicate issues.
Also with remote meetings, it also get easier for optional people to just carry on working and get poked to join the call if it's relevant for them to intervene. it's so much better than wasting your time being physically present in a long meeting not relevant to you just in case needs someone to answer a very specific tech question (like before the pandemic).
I’d say I’m a senior in terms of full-stack web dev stuff, I’m not senior when it comes to game development or things like kernel development… I’m probably very, very junior in those things. Especially kernel development stuff.
Panel 5 of the goose comic is "Breaking news: A commercial passenger plane makes an emergency landing in the Hudson River."
So I managed to go from Junior to "Senior" in 5 years at the company that I work for. My responsibilities? Haven't changed that much. I probably have got a bit more leeway to do stuff the way I want it to be done. However, since my junior times I have been dealing with code reviews, debugging, legacy, greenfield stuff, architecture, you name it. Regarding the meetings - it depends on the project. Some projects that I used to be working on had a lot of meetings, some had just daily standup in the morning. The amount of meetings wasn't impacted on my "seniority".
Seniors should be able to plan out solutions breadth-wise, plan for scale, assume what might happen down the road that will need to be solved, etc.
Seniors have to demonstrate that they've been there, that they've gone through the same crap that Juniors and Intermediates have.
I was a netflix custumer when they send dvds in the mail. It was awsome. I used their free trails. I rented DBGT and Roots and North&South.
Agreed. I hate that take too. As a senior I don't know everything but I know far from nothing. Senior means you know ROUGHLY which direction to go and how to understand feedback to change the direction of code.
0:28: 💭 Misconceptions about senior developers held by junior developers and the reality of climbing the ranks in software development.
3:57: 🧠 Misconceptions about senior developers and the constant learning in the tech industry.
7:37: ⚙️ Challenges of working with legacy systems and new technologies while balancing growth concerns.
11:32: ⏱️ Efficiency in problem-solving: Experienced developers can quickly solve issues by analyzing pictures instead of using automated methods.
15:43: ⏳ Challenges and benefits of meetings and code reviews for senior developers.
19:22: ⚒️ Importance of diversifying skills and staying updated with new technologies as a senior engineer.
23:17: ⚖️ Balancing work and personal life as a senior developer involves juggling various responsibilities and knowing when to say no.
26:48: 💡 Misconceptions about senior developers' roles and responsibilities.
30:50: 💡 Misconceptions about job security for senior developers debunked.
Timestamps by Tammy AI
TL:DW "It doesn't get easier you just get faster." -Lemond
I like it when you "hightlight things in that way".
It's gotta be very biased based on where you worked and whether or not you were appropriately awarded for your work. Ever since I was an intern I had job responsibilities matching your average "intermediate" level developer. As a Junior I was pretty much already doing Senior level work, just without the pay. As a mid level, I was operating at "lead" level, being much more of a lead in my department than my actual lead, but again, without the pay or recognition. And I mean that in the broadest sense, anything you can possibly think of that a lead might do, he didn't do any of it, it was all me, as an intermediate. From setting the code standards, to leading the team, to planning and leading product development, to creating most of the things, to bug fixing most of the things. I also made our company's intake assignments, and conducted job interviews for our department.
Now I finally made it to senior, but it's just a job title and more pay, nothing more than that. I never had this "dreamy" idea of a senior. When I joined the company as a junior, I was already feeling equally competent to most seniors. Now that I am officially a senior, I just feel like the promotions came awfully late. And still, I am operating as de facto lead, just without the recognition or pay. I will probably leave the company before they finally decide to properly acklowedge how crucial I've been in the past years of the company's operation.
When I first watched a couple of your videos I was unsure, but watching more you seem based. Respect.
A senior doesn't know everything, but they know how to know anything they need. They also work outside the context of the code, they know to make decisions on what provides best cost-benefit first, "bad" code solutions may be perfect for the needs and capacity of the business
I love the way you highlight
prime: flip, zoom in!
flip: yeah, right :D
I *feel* like I’m a Jr dev, but everywhere I work I end up being the go-to guy to solve the hardest problems… It’s simultaneously flattering, frustrating, and confusing. I feel like most of being a Sr engineer is just about having the determination to understand how things work rather than being a mere user. When you know how something works under the hood, no problem cannot be overcome. Mazes are much easier to solve when you start from the exit. That and ADHD. You write much better software when your mind instantly branches out to find 538 ways your code could break…
16:00 Most decision makers will understand that having yet another meeting doesn't make sense when you explain how many dollars are wasted during that meeting when people are not doing productive work. (Simply multiply the salary of every meeting attender with the length of the meeting + some extra because attending the meeting will destroy your flow every time.) If the meeting cannot provide at least that much extra value, do not have the meeting at all.
+ double that, because that's not only dead time, it's _lost_ time. Gotta count opportunity cost in there somehow.
3:20 - I mean, senior devs generally are just winging it. They just wing it faster and skip to asking the juniors what they're stuck on and why they haven't figured it out before diving into their own pool of experience to pull a solution out of their ass. >D
13:10 - So why does every job want someone with 5 years of experience in a framework that hasn't been out for more than 2 years?
16:20 - My favourite meetings are the ones scheduled to take a specific amount of time, because they always end in that timeframe. I appreciate those. We get things done, we have a defined solution by the end (if we're problem solving), everyone leaves enriched. The meetings that the guy's probably referring to are the "don't worry, it's a quick meeting, just going to talk about X" meetings which are never quick and continue until someone pops their head in to ask about the progress on task Y that someone (possibly you) were supposed to be working on instead of doing a meeting. This kind of meeting is subject to the leadership of the company. My last job, there was effectively no leadership, so this kind of meeting happened too often.
19:30 - Oh definitely, that first paragraph is me at every new company within the first month. The difference is junior devs think their way is better, senior devs ask why people are doing it that way before offering their solution. Sometimes things are the way they are for legacy or legal reasons and you just can't change anything. You just have to accept it. And the senior devs will nod and move on while the juniors will plot and scheme and squeeze extra time to work on a proof of concept in lunch breaks to show someone their way is better, ultimately wasting their time.
27:10 - In the jobs I've had, there is a focus on legacy code bases. It's just a thing with many "non-tech centric" businesses. Ironic for a tech focused job. But consider, management's focus is on advertising; they treat the company as a classical ad company rather than a tech company that supports advertising, simply because they understand ads and don't understand computers. You can't work on a replacement platform without having extra manpower. But nobody wants to pay for the extra devs. So you instead get an overworked team making revisions to legacy code to try and add new features. Yes, you are making new features. But you are doing it to old and fragile code that nobody in the "actual decisions department" wants you to replace because "it works, doesn't it?"
28:17 - This has been my experience. Your time shifts from "alright, my boss told me to make a new feature! Time to crack open an editor!" to "my boss told me to implement NFTs because he heard they were the new hot tech, but there's nothing we can use NFTs on in our company and won't listen to me when I tell him it doesn't make sense..."
30:10 - Nope, happens at any scale from 10 people crammed into a 5 person room rented from a communal office space to 500 people between three buildings in an industrial complex. I imagine it happens at megacorps like Google the same way.
You're questioning the validity of this article as a senior dev looking back while sitting at honestly a progressive company which seems to have reasonable management. But fresh faced, I can say a lot of this applied to me, and I see it in my more junior peers as well. The expectation that when they get to my position they'll be better off somehow at a company with "business majors" in charge (rather than technologically intelligent people with feasible design ideas). Financially, yes, but as you said, and as this article relates, that can't be further from the truth.
The point of the "I don't know what i'm doing" meme is exactly that neither knows every step of the way even for moderately complicated stuff.
The difference is that the junior without help gets stuck on not knowing, and basically "lies down and dies" (figuratively)
The senior on one hand has fewer gaps, but is also like "cool, finally something interesting", then goes on to find what they need.
When the junior goes to the senior, the senior can a lot of times be like
Action: Clicks on link to check the error. (Inner thoughts: "What the hell is this?"). Copies error into google, clicks on first result, reads it in 1-2 minutes and writes the answer in 1-3 sentences to the junior
Junior: "This grumpy god knows everything as long as enough coffee is sacrificed at his table, I wanna be like him"
Junior devs doing mundane tasks:
`I should be learning rust instead of mantaining this legacy code`
Senior devs doing mundane taks:
`Yeah baby, changing copy texts at 150usd/hour, give me more of that`
I totally thought my senior devs didn't make as much mistakes as I did, until the new dev lead starting doing code reviews and they got just as many comments as I was (some times more :D)
Junior: fight to make technology do what you want
Mid: fight to do technology the best way possible
Senior: fight to solve business problems and it just happens that you're using tech to do so
"...just not nearly as good"
PrimeTime 2024, 6'03"
3:45 I appreciate the Sledgehammer reference
Don't ever think that some suit would ever be able to comprehend how crucial you are to some internal system, or a product, or to the company culture, etc. :D Yes, they would eventually find out after you're gone, but don't think of this as any kind of leverage against out-of-touch people.
15:54 - One thing I hate: “But you’re free, right? It’s just a quick chat.” Sometimes it’s totally legit, especially if it’s ad hoc or whatever, but if it’s totally unrelated to what you’re working on and you’re 95% certain it could be async (email, Slack, etc) and they just don’t want to take the time to write it out, then it’s a bit annoying for sure. The main reason is: Focus. Gotta have that uninterrupted focus time to allow you to mentally ramp up on what you’re working on.
This article seems very "This was my experience, so I'm going to assume it'll be everybody's experience."
I always tell the juniors at my work (particularly when they have imposter syndrome) that the only difference between juniors and seniors is that seniors have made and learned from more mistakes than them
As someone that’s been in the infosec world for a few decades, you are absolutely going to get hacked at some point in time. One of the goals is to make it take harder to get in to, faster to recover and limiting the blast radius so when it happens the damage is limited.
I think the article was generally good. I don't exactly get the focus on fighting against generalization in articles that prime sometimes read. The thing is that every person is different, and every company is different, so you will have seniors who create new stuff vs seniors who work only on legacy, and always pointing out exceptions and nuances would baloon any article 10x times in size, so you need to decide on either making pararaph on each point about exceptions / how life is more nuanced so you can't make article that will generally cover every possibility.
I feel the article is good on generic level, in that it most importantly tries to show that Juniors often have "fantasy" like view of being a Senior, while being a Senior like most things in life, comes with a lot of it's mundane aspects and responsibilites, that aren't always the most exciting, but are still important, that you wouldn't think about when you didn't have experience but only a fantasy / idea of the thing.
I also like what Adam Savage from mythbusters mentioned about work which stucked with me, which is that even exceptional and trully exciting stuff you work on, will still require mundane tasks that aren't exciting to do. And it's mentality that i feel can help a lot on any work. And i agree with Prime too, always push for new ideas, and that difference between Senior and Junior is that Junior will only push idea, while Senior will implement demo of that idea.
I think that this post conflates Senior Engineer and Manager. The two often coincide, but not always.
20:00 Go mentioned 😂😂😂❤
I don't assume everyone knows more than me but I do assume that good ideas can come from anywhere. Back when I used to assume that people knew more than me it would always cause suffering when that turned out to not be the case.
I would love to say that my experience was kinda unique, i had no senior developer to trust, not once ... . So i had to come up with all solutions by my self, 12 years! And now i'm seeing as an all knowing god!. At least things are working
that was great flip.
Felt the seniority heat 😂
Prime is a funny guy, but Flip not zooming in even once ever is the funniest
To become a Sr Dev you must master the phrase, "Good question. I'm not sure. Let me get back to you on that."
Well, looks like I’m already on track to be one lol. That’s what I say by default if someone asks me something insightful that I don’t know
I make a comment for flip to know that him rebelling increases the likelyhood of me interacting with the video.
05:45 easy to do at netflix lol
For people, like the guy in the chat, who are stuck in Windows, do like me at every company, and install MSYS2. I live in there, and mostly in vim in there. I can pull down my dotfiles, and it's almost as good as Linux, except no it isn't, at all, but it's a lot better than nothing.
Spacemacs Master Race reporting in
24:30 now I totally think I wrote this article in sleep... this is a plaque I deal with every day for last year and a half. ours do not care.
Been working as a web developer for 2.5 years. I've got 10 years of experience.
If no-one hires and employs juniors, no-one will ever get seniors. Companies trying to play the field and not take on the junior burden will eventually Prisoner's Dilemma the industry into a hiring crisis - it already is at the junior level, but this will only naturally progress if it isn't resolved. The solution is for everyone to suck it up and take on their share under the assumption that they'll lose most of their juniors to promotion elsewhere but will be able to poach mid and senior from elsewhere in return. And it can't be an act of charity, because then the only employers propping up the talent pipeline will be the ones most punished on the bottom line and eventually going out of business, it has to be mutual and universal
The diference between jr and sr is how much booze you drink to get through the day
that CHATTER pointed out the highlighting thing and now it`s all I see 🙂
lol ive worked on stuff with 8 hour builds 6 minutes sounds like a dream
I am 21 and have, at least, 10 years of experience. I don't know how useful that experience is and I am totally the exception not the rule.
11:05 me checking 1760 boxes, 440 drop downs because the system doesn't have a bulk select option.. 🙂*skip* 🙂
I gave up on memorizing SDK and APIs quickly. I know what I’m trying to do and what I’ll likely need to do it but I don’t bother memorizing specifics.
Everytime he talks about this I always get to the conclusion of "wow, Netflix is a good place to work at", Seniors are juicy to lay off, Juniors not so much why? Because they make more money, companies usually lay people off because of economic issues. This will happen to you if you're a Senior and you're working on a project within the company that happens to not be profitable yet.
Narrator: Flip did in fact not zoom in.