Difference between Junior and Senior Developers

preview_player
Показать описание
This is the first episode of my late-hour Q&A shows. Post your questions below in the comments section, and if I find them valuable to others, I'll include them in my upcoming shows.

Рекомендации по теме
Комментарии
Автор

Hi Mosh, thanks so much for answering my question. You are the best!

kyleruan
Автор

Its such a blurred line these days. At my last job I was a "Jr" but I sometimes knew more than the Seniors. We had an Architect that had a Masters degree in CS and he was often surprised at my knowledge. I have never stopped learning and because of that my skills haven't gone stale. At my current job they are unique in that our jr/sr levels are determined primarily by "domain knowledge" meaning that most people who start except maybe people in the same industry are considered "JR". They dont care if you are Bill Gates, until you gain the domain knowledge you are somewhat of a Jr. Our platform is extremely complex. We have brought together 8 different websites into one solution so it takes several months to even be useful.

CircuitSavants
Автор

thanks mosh for simplify my journey to be a Senior Developer

abshirahmed
Автор

I've been looking for some clarity around the topic, and I feel my search for the right path to becoming a good developer ended as I know where I need to go now. Thank you Mosh. Excellent content as per the norm with all your other videos and Udemy courses! I wish you well.

omarxs
Автор

Very nice video Mosh!

What we all shouldn't forget is that these titles are just the unspoken guideline companies use to differenciate the skill and payment level of the developer. Since you can instantly hear out that a Senior "must" (at least should..) have more experience and a higher income than a Junior who seems to be inexperienced, but I know some people that are pro's in development, but just bad in social skills like negotiate a better position (Most companies seem like they want to put you into a lower place than you are, but still want you to do the senior work).

We could also use just a simple leveling system. Like I am a level 56 Developer and in theory I should be more experienced (More XP = More Levels) than someone with a level of 12. But since it's even controverse differenciating about if someone is a Junior or Senior, it would be even harder to determine which "level" someone is. I also don't think that too many people wasting time to think about it.

I can recommend "Work Rules!" from Laszlo Bock (formerly the Senior Vice President of People Operations at Google, Inc.) in which he describes that the usual questions at interviews are inefficient since they don't really show how much experience someone has. So he tend to speak more with the developer and asked questions like which problems he had, how did he planned everything, how much time it took, which mistakes he did and what would he do to prevent this mistakes in the future.. just talk and ask questions about his past experience, so you know which routes he took to reach Rome and why he took that way. Since there are no "real" way, but just plenty of "wrong" ways, which you should avoid, you can learn some insights of the developer and understand his thoughts better.

I mean I know someone that is studying and he is pretty good in theory and everything that is boring for the usuall person, but he really loves doing that. While doing some new things and using efficient ways of coding he obviously is lacking behind in experience. While I know someone that has just basic theory knowledge, but is a real god in development. He has very clean, maintainable code which he develop within a few hours and even pimped up at few areas. I myself learning development since over 10 years and had to learn theory like typical design patterns, best practices and other things just by simply try&error and god the errors helped a lot! I did so many mistakes that I have a huge understanding how things work, what you want to prevent, what you can do "more efficient".

It's like life. Past ~25 you think you know much, but still are so green behind the ears and naiv. You making your mistakes, you pay your tribut for the stupid thoughts, but in the end you get more confident and learn what really important is in life. Everyone knows the term "becoming a man", but noone can describe it. It's just that. Experience. Just live and experience every type of BS this world can bring to you, but never give up. You slowly will understand what it takes to become a man/senior.

cagaulu
Автор

Very much agreeing that building an application yourself from scratch and deploying it to cloud yourself to understand the end to end software development is a great excercise to gain more exposure and become a more skill full software developer.

TarunTelang
Автор

This sparked an interesting discussion between the developers in our shop. Thank You!

CryptoJones
Автор

Interesting your list was more tech focused (patterns / tech usage / debugging).  For most of my career it has been far more about understanding the business needs for the product / solution.  Senior Developers are expected to understand the customer, what the end to end scenarios are and how they impact the code.  Senior people are expected to be able to communicate with the stake holders (written and verbal).

Junior developers focus on just writing code that was designed by someone else, they don't think about the big picture.    They don't usually know how to build an end to end system, just parts at a time.

Of course in my world there are no Senior Web Developers (only cowboys who run from framework to framework and don't care about supporting it for 5+ years).  I'm only partly kidding here.

I have to disagree though about maintaining code is nothing to be proud of...  Developers who start with a large working system and have to learn it and move the code forward to handle new scenarios are far more advanced that people who just write small systems for learning.  Real world code is complicated.

Interesting video though.

jasonshortphd
Автор

Mosh, you are such a boss! Thank you.

bae
Автор

Good insight into the differences between junior and senior developers. I enjoyed your definition and the presentation was fun to listen to.

steveshaffar
Автор

fantastic video Mosh! Thanks very much! You are such a great guy to share your knowledge with us! You are amazing!

samfireman
Автор

Thank you very much Mosh !! For the guidance

arunumane
Автор

Hi Mosh! Great video and very insightful. You mentioned the key skills to have as a Senior Full Stack .Net Developer as ASP.NET MVC, WebApi, SQL and strong HTML, CSS and Javascript with at least strong knowledge in one front end framework i.e. Angular or React. What about strong knowledge in WCF and why? Is WebApi the future?

debugger
Автор

Thanks, you change my direction through this video :)

shahzadthathal
Автор

Hi Mosh!really insightful video :) I have subscribed to many of your courses on Udemy! Waiting for your course on MVC!

MrVijayraghavareddy
Автор

the way you are delvering is very very nice

kattasaichand
Автор

but we are expecting developing the real world appliction.plz provide us it's really helpful for all.Thank you

kattasaichand
Автор

A great explanation, Mosh. hope more to come. look forward to your mvc course on udemy

wgsl
Автор

Senior programmer is basically system architect, which should understand from one end to the other end of software development. He should able to design the system and can justify his design (not just random design). He knows what are the tools available fast. He should know/predict the impact when users request for changes, without doing so much research work, since he has done or experience it before.

Junior programmer is just pure coding, and get things done, without thinking of the possible scenarios, risks, etc.

davidvergie
Автор

Good insight. I worked with one developer with 10+ years who write code like junior. At least I saw many "no" things in code. Many tasks doing in a single method so I dont know what is real method name, nested If's etc.

robertanic