I beleive the statement "going from writing code that works to writing code that team can use" sums it all. Its deep yet subtle. That's my takeaway from this. Thanks for sharing.
philosophy about titles is nice, but on practical side, step 1. - find out what is definition of "senior developer" title in company you work, step 2. - work on skills you lack, step 3. - get that title (and pay raise).
Q: What NUMBER ONE Trait of a Senior Developer ? R: You will never know and you should never know 🤓 "A senior knows that he is very far from mastering everything. A beginner thinks he mastered all."
Senior Developers begin with high-level abstractions, defining system design, interfaces, and major components in the code, before diving into lower-level details and implementations.
That is a nice breakdown James. I believe that experience in any professional environment where problems are solved and objections (Bugs or otherwise) are overcame, will be of great benefit for this position. Ability to clearly communicate with the entire team, regardless of their technical background or lack thereof seems as though it twould be the most crucial part. Thanks for your insight. I appreciate the time taken to produce the content that you provide us all. God bless James. Be well and be safe.
True and i would add a social component to this: Seniors communicate and mentor to Juniors and Mediator Level developers and they need to so this out of their nature. Not everyone has these social capabilities but many still think they are senior.
Thanks for sharing this insight. The ability to break a big problem into it's smaller component parts is something that I think takes time, practice and help from people with experience.
Wow I think that is a great way to see how you can differentiate a Senior dev. It is so helpful to have smaller pieces so you can edit, debug or even explain the code to your team. Great content James, greetings from Costa Rica ✌🏼
I did that kind of organization to a poor team of a certain startup and they instead said I over-engineered stuff, they rebuilt the whole project with all code in one js file, imagine in react even, I don't know whether they can longer maintain their codebase anymore, I no longer work with them!
I agree that code separation is very important, but I'd like to suggest that the most important trait of a senior dev is clear communication. I've worked with many very talented engineers who had no issues with code delegation, but their communication skills were so poor that they were not effective as senior developers.
Definitely agree on the communication. That's why I threw it in with this video. Being able to break things down AND communicate it to the team. Breaking things down doesn't mean they actually do the work. It means they break it down for anyone on the team to take on.
S.O.L.I.D and Clean Code: Clean Architecture: A Craftsman's Guide to Software Structure and Design by Robert C. Martin Clean Code: A Handbook of Agile Software Craftsmanship by Robert C. Martin
This is inspiring! I'm really excited to share a way of structuring nextjs project that I found really practical. Gives you a way to quickly work with the project even when you just started out with it. Also provides great scalability. I'll make a video about it maybe in a week
I totally agree but also to me, a senior developer is someone who gives clear guidelines to the juniours make their tasks so simple and easy to carry out. Not that juniours should do the bare minimum but with clear guidelines, you do something and do it right the first time because you have clear guidelines for your task.
One quote i picked up over my career thus far is: "Any one can write code a computer can read. Good developers can write code that other humans can read"
I think this is one of the many skills that a senior posseses. IMHO this is a main requirement for medior. As a senior I believe you need to be quite sharp at unit testing, code structure, code cleaness and also be concious of best/fastest algorithm solution of a problem. And yes - also soft skills takes a role - as it was mention the senior need to know how to effectively communicate but also needs to know how to correctly assign tasks and objectives in order to get all the results... That is my opinion. (Sorry for broken english, I do not have gramarly on my phone and I am not an english native speaker - best regards from the Czech Republic and thank you for the video)
Excellent video. I like the way the source code is structured and I keep evolving in that direction as well. Right track. Looking at the source code, it looks like it is using ES6 approach for importing modules instead of the require method. I was just listening to a recently updated Node.js class this morning explaining that Node.js does not support ES6 yet. Is this code using some bypass approach or does Node.js now support ES6? When I try it on my system, it won't take it. I saw something about adding "type": "module" to package.json. Is that OK?
I would like to request a video, can you do a MERN stack project, that use design patterns and software principals and ,folder structure, state management, front end and back end folder structure for big enterprise application,(Ex:shopping cart),bcz that may be a staring point for lot of self thought developers/freelancers to enter in to senior level,the main idea is to practical guide to how to move in to pro level,guys i have put my thought in to comment what you guys think,i know it can be vary according to use case but, this may leads to help junior developers lot.God bless James. stay safe
I find this whole question about senior developers vs junior to be kind of odd. I started in a much different industry and to me it's just normal as a senior person regardless of industry. I just truly never understood people being like "how can I be a senior" Guys, it's not a "real" thing. You tend to just learn things, be better at working in the rest of the company to ultimately get things done.
I guess as a Senior you are expected to know a bunch of things, right? I mean imagine a Senior who doesn't know how to set up a Docker container, doesn't konw how to setup a CI/CD Pipeline, or how to use Git or can barely use the unix command line.
But anyone can Google how to setup docker or git. A senior developer understands these technologies and how they could all fit together on a high level.
@@martapfahl940 My apologies. Yes you're right! Developers, both junior, mid, and senior, would learn how to use or setup these technologies. But a senior would see how these would fit (or not fit) into potential architectural solutions. Maybe he's forgotten how to create a new container or the command to delete all images, we all do, but that's what Google and our own documentation is for. I'm our company juniors and mids spend 90% of their time coding whilst seniors spend 40% coding whilst the other 60% is spent in meetings and planning sessions.
references: Clean Architecture: A Craftsman's Guide to Software Structure and Design by Robert C. Martin Clean Code: A Handbook of Agile Software Craftsmanship by Robert C. Martin
The senior dev is one that remains calm and collected while junior devs is running around the office screaming in panic.
This does not even at all only apply to this industry
I beleive the statement "going from writing code that works to writing code that team can use" sums it all. Its deep yet subtle.
That's my takeaway from this.
Thanks for sharing.
philosophy about titles is nice, but on practical side,
step 1. - find out what is definition of "senior developer" title in company you work,
step 2. - work on skills you lack,
step 3. - get that title (and pay raise).
Honest about his/her limitations, approachable, able to mentor and enable the team while being a great communicator.
Thank you for giving this knowledge for free.
Q: What NUMBER ONE Trait of a Senior Developer ?
R: You will never know and you should never know 🤓
"A senior knows that he is very far from mastering everything.
A beginner thinks he mastered all."
It is called Dunning-Kruger effect. 😅
@@hdelavidaum thanks yes is this
Lool
"Experience" 🌹. Its sad, but true ❤️
Nice project structure, seems almost perfect and easy to understand.
Senior Developers begin with high-level abstractions, defining system design, interfaces, and major components in the code, before diving into lower-level details and implementations.
That is a nice breakdown James. I believe that experience in any professional environment where problems are solved and objections (Bugs or otherwise) are overcame, will be of great benefit for this position. Ability to clearly communicate with the entire team, regardless of their technical background or lack thereof seems as though it twould be the most crucial part. Thanks for your insight. I appreciate the time taken to produce the content that you provide us all. God bless James. Be well and be safe.
Yes, twould is spelled as intended lol.
haha I've never used it like that. I'll have to start
True and i would add a social component to this: Seniors communicate and mentor to Juniors and Mediator Level developers and they need to so this out of their nature. Not everyone has these social capabilities but many still think they are senior.
Agreed!
Dear Sir
Currently I am searching for a dev job, and your advice changed my perspective.
Thank you very much
Love the point about being about to break things down into simple parts that everyone can understand. Very helpful ☺️🙏🏽
Thanks for sharing this insight. The ability to break a big problem into it's smaller component parts is something that I think takes time, practice and help from people with experience.
great video james!
I do enjoy your videos. This one made me subscribe. Do you think you can do one on Tech Lead, Principal Developer and Software Architect
Wow I think that is a great way to see how you can differentiate a Senior dev. It is so helpful to have smaller pieces so you can edit, debug or even explain the code to your team.
Great content James, greetings from Costa Rica ✌🏼
Thank you!!!
I did that kind of organization to a poor team of a certain startup and they instead said I over-engineered stuff, they rebuilt the whole project with all code in one js file, imagine in react even, I don't know whether they can longer maintain their codebase anymore, I no longer work with them!
Hi james, mind if you make a video regarding the folder structure that you do with your projects? Thanks.
I agree that code separation is very important, but I'd like to suggest that the most important trait of a senior dev is clear communication. I've worked with many very talented engineers who had no issues with code delegation, but their communication skills were so poor that they were not effective as senior developers.
Definitely agree on the communication. That's why I threw it in with this video. Being able to break things down AND communicate it to the team. Breaking things down doesn't mean they actually do the work. It means they break it down for anyone on the team to take on.
Good thoughts thank you :)
S.O.L.I.D and Clean Code:
Clean Architecture: A Craftsman's Guide to Software Structure and Design by Robert C. Martin
Clean Code: A Handbook of Agile Software Craftsmanship by Robert C. Martin
I think after mid level it becomes less about code and more about multitasking and managing others.
I didn't understand the term it's seem that can use
What is that vsCode extension? the one with big double inverted commas
Hi James, could you make another video of a project refactoring for components and logic. Appreciate it man.
This is inspiring! I'm really excited to share a way of structuring nextjs project that I found really practical. Gives you a way to quickly work with the project even when you just started out with it. Also provides great scalability. I'll make a video about it maybe in a week
Yes. I hope to learn from such project structure. Subscribing to your channel in anticipation
5:22 is that react?
I totally agree but also to me, a senior developer is someone who gives clear guidelines to the juniours make their tasks so simple and easy to carry out. Not that juniours should do the bare minimum but with clear guidelines, you do something and do it right the first time because you have clear guidelines for your task.
i have the same shirt same color
One quote i picked up over my career thus far is: "Any one can write code a computer can read. Good developers can write code that other humans can read"
I think this is one of the many skills that a senior posseses. IMHO this is a main requirement for medior. As a senior I believe you need to be quite sharp at unit testing, code structure, code cleaness and also be concious of best/fastest algorithm solution of a problem. And yes - also soft skills takes a role - as it was mention the senior need to know how to effectively communicate but also needs to know how to correctly assign tasks and objectives in order to get all the results... That is my opinion. (Sorry for broken english, I do not have gramarly on my phone and I am not an english native speaker - best regards from the Czech Republic and thank you for the video)
Thanks for the insights. Ya, I think we are pretty inline here!
Communication.. that’s the hard part, especially when they’re just ideas and/or you don’t grok something >.
Excellent video. I like the way the source code is structured and I keep evolving in that direction as well. Right track. Looking at the source code, it looks like it is using ES6 approach for importing modules instead of the require method. I was just listening to a recently updated Node.js class this morning explaining that Node.js does not support ES6 yet. Is this code using some bypass approach or does Node.js now support ES6? When I try it on my system, it won't take it. I saw something about adding "type": "module" to package.json. Is that OK?
Use Babel in your Node.js project to compile ES6... Or you could simply use Typescript
I would like to request a video, can you do a MERN stack project, that use design patterns and software principals and ,folder structure, state management, front end and back end folder structure for big enterprise application,(Ex:shopping cart),bcz that may be a staring point for lot of self thought developers/freelancers to enter in to senior level,the main idea is to practical guide to how to move in to pro level,guys i have put my thought in to comment what you guys think,i know it can be vary according to use case but, this may leads to help junior developers lot.God bless James. stay safe
Ah another Shades of Purple enjoyer!
I find this whole question about senior developers vs junior to be kind of odd. I started in a much different industry and to me it's just normal as a senior person regardless of industry.
I just truly never understood people being like "how can I be a senior"
Guys, it's not a "real" thing.
You tend to just learn things, be better at working in the rest of the company to ultimately get things done.
Nope I’ve been or trying to be a coder for ten years I still don’t have it
I guess as a Senior you are expected to know a bunch of things, right? I mean imagine a Senior who doesn't know how to set up a Docker container, doesn't konw how to setup a CI/CD Pipeline, or how to use Git or can barely use the unix command line.
But anyone can Google how to setup docker or git. A senior developer understands these technologies and how they could all fit together on a high level.
@@taykoko1 My Apologizes, I naturally presumed that one would learn the higher concepts behind docker once learning how to use it as well.
@@martapfahl940 My apologies. Yes you're right! Developers, both junior, mid, and senior, would learn how to use or setup these technologies. But a senior would see how these would fit (or not fit) into potential architectural solutions. Maybe he's forgotten how to create a new container or the command to delete all images, we all do, but that's what Google and our own documentation is for. I'm our company juniors and mids spend 90% of their time coding whilst seniors spend 40% coding whilst the other 60% is spent in meetings and planning sessions.
@@taykoko1 True!
2:30 what?? Do You have like 10 files to put an IF at the end of the chain?? So focused on "isolated responsibility" that it has houndreds of files!!
S.O.L.I.D and Clean Code.
references:
Clean Architecture: A Craftsman's Guide to Software Structure and Design by Robert C. Martin
Clean Code: A Handbook of Agile Software Craftsmanship by Robert C. Martin
Bro, I think you need some rest. You look tired.