Hey, what's up?
John Sonmez from simpleprogrammer.com.
I got a question today that—it's more of a rant.
It's not really a question, but you know what?
I'm going to answer it anyway.
I'm going to address it.
This question or this rant says that, "Seniors that are not seniors."
I'll read a couple of excerpts from it, but, essentially, the asker or the ranter goes
on to say, "I've been at a company for a couple years now and I'm only starting to realize
that senior developers seem to only be seniors by the amount of time they have been there.
They always fall back on wanting to do the old (decade old) or custom ways they are used
to doing things when there are much more modern practices."
So he goes on to give some examples of like using dependency injection and then he goes
on to say that—an additional info, more ranting.
He says that, "For me, it goes without saying that to be a senior developer, you should
be participating in personal growth of your development skills.
Otherwise, how do you do mentor your team?"
So he's feeling hamstrung because he's got all these new ideas and he's studying, and
he doesn't necessarily have as much experience as some of the senior developers, but he wants
to do some of the modern practices he talked about, hexagonal architecture, DDD, domain
driven development, all this kind of things.
Here's the thing.
You're going to deal with this in the software development world.
You're going to deal with this in any world, but you're going to have seniority, especially
in larger companies, older companies, where seniority is going to be by experience, by
a number of years being there.
You've probably heard people say that you can be a developer with 10 years experience
or you can be a developer with one year's worth of experience 10 times.
That's very true.
It's going to be true in just about any profession.
I did this video that some people got really upset about where I said that I could basically
learn anything in 3 months.
You can check that out and I talked about how that I could basically get myself to the
skill level of someone that might even have 10 years experience in doing something in
just 3 months' time simple because most people, what they end up doing is they get one year
of experience 10 times.
This is just the default that you're going to have to realize.
You got to, first of all, think in your head that this is just how it's going to be and
expect that.
Now, that doesn't mean that—see, there's something that you should always try to do
which is you should have expectations for you.
You should have your standards to be very high, but your standards and expectations
on other people to be very low because you can't control other people, but you can control
you.
So when you come in to a situation thinking of that, you hold yourself accountable and
to a higher standard.
You as a senior developer or you as a developer, you expect to have personal growth.
You expect to increase your development skills.
You expect to learn the newest and latest technologies and to apply them as you can,
but you don't expect from other people that same level of commitment because it's just
not going to be there and you're going to be disappointed most of the time.
I also did a video that you might find useful.
I can't remember what I called this, but you can check it out here.
It's basically about the dark side of software development.
It's about how—it's always going to be—it's never going to be the environment that you
want it to be.
I'll try to find the video if we can here.
Anyway, here's my advice in this situation.
Like I said, first of all, hold your standards high, like I said already, but, in addition
to that, what you need to do is not come from a place of thinking that you know it all because
there is another side to this coin which is that we have a lot of fads that appear in
the software development industry and sometimes some of the new stuff that you think is the
best stuff, it's not robust.
It hasn't been time tested.
It may fade away and next week there's a new fad.
Even though you're on the cutting edge, that doesn't mean that there's not some wisdom
from some of the developers that have been around a long time.
It also doesn't mean that they're not just lazy and that they are not developing their
skills.
You got to balance that out.
Don't come from the position of thinking that you know it all and that they're just dumb
and you're just smarter and all this.
Instead, come from a more humble position where you're holding yourself to high standards
and you're trying to do the best job that you can and you're applying what you've learned
and what you know and lead by example.
Even developer that are more senior than you do things that are good, don't preach to
them and see how it works.
As you start introducing these things and they're valuable, hopefully people will pay
attention but you can only control what you can control.
Do the best job that you can and you just might have to deal with it.
It's just the environment.
But at the same time also recognize that some of these senior developers that may appear
to be dumb to you, try to get some understanding.
Ask them some questions and say, "Well, why do you do it that way?"
Say, "Well, you know, I heard of this thing.
It's called domain driven development and here's kind of the ideas about it.
What do you think about this?
I know that you've been here for a while and you have a lot more experience than I do,
so I'm curious about this.
What do you think about this concept?"
Now, you're changing the thing around.
Now, you're actually looking to them for advice and now they're more likely to evaluate the
thing that you're showing them.
Whereas, before if you're like, "Oh, you guys are idiots.
I can't believe you don't know this.
Of course—gosh, you guys are frustrating me so much because you should use DDD.
Ugh!"
If you act like that, they're going to be combative and they're going to try and prove—people
are going to put their feet down and they're going to fight you on it.
That's my advice in this situation.
Try to turn around and just realize that you're not going to always be able to control these
environments.
I mean you're just going to have to work in software development environments that are
not going to be ideal, and you're going to deal with these people.
Keep your standards high.
Keep your expectations for other people and your standards that you're going to evaluate
them by low and you won't be disappointed and you'll be doing the best that you can
because that's all that you can ultimately control.
If you like this video, I have a standard for you.
Set a new standard by clicking the Subscribe button and watch my videos everyday.
All right, I'll talk to you next time.
Take care.
Không có nhận xét nào:
Đăng nhận xét