When I was 19 (at which age I obviously knew everything about everything), I always looked down at the "senior" guys, they looked outdated, conservative, full of useless knowledge on things such as Cobol, or C. I eventually got to make friends with several of the "dinosaurs", and got shocked to discover that I was paid more than they were.
Fast forward 15 years, I'm now full of experiences. I deployed apps with billions of transactions per day, led teams big and small, learned that there's more than one side to everything and that "The True Solution" is nothing but lack of experience in disguise. Most importantly, I discovered I don't know anything.
I'm still shocked, sometimes, when I see arrogant 19-year-olds bending reality to convince people they're right - and getting paid more than us, dinosaurs... :)
I don't think so... He was initially shocked that he, as the '19 year old', was paid more than the 'dinosaurs' and later states that the '19 year olds' are still paid more than the 'dinosaurs.'
no, I actually mean I was overpaid (or the dinosaurs were overpaid - I'm not sure) - and so are a lot of 19-year-olds I keep working on from time to time...
"Too technical to manage" would depend on the skillset of the engineer. If they're one-dimensional in passion or ability (code is ALL!) then I'd say that's true, but it's no less true for a guy with 5 years in chair.
"Too senior to be managed" has at least as much to do with the insecurities of the manager than it does the engineer. If you need to be the smartest guy in the room, then you'll surround yourself with lesser talent. If you understand your role of manager is to remove obstacles for those who do their specific roles then you'll be more likely to search out experienced people that GSD.
Yawn. Let's ask God the most important thing about being a good engineer!
God says...
hewers of wood and drawers of water unto all the congregation; as the
princes had promised them.
9:22 And Joshua called for them, and he spake unto them, saying,
Wherefore have ye beguiled us, saying, We are very far from you; when
ye dwell among us? 9:23 Now therefore ye are cursed, and there shall
none of you be freed from being bondmen, and hewers of wood and
drawers of water for the house of my God.
9:24 And they answered Joshua, and said, Because it was certainly told
thy servants, how that the LORD thy God commanded his servant Moses to
give you all the land, and to destroy all the inhabitants of the land
from before you, therefore we were sore afraid of our lives because of
you, and have done this thing.
9:25 And now, behold, we are in thine hand: as it seemeth good and
right unto thee to do unto us, do.
----
God says...
Dispenser sorry unrulily struggling tremble thriven nursery
measuring bulk worthy enchantment questionings charmed
searched Tanzania regeneration eminence planets apostles
models majesty live get same openly uttered acuteness
stiffneckedness Botswana frown soon praises Louisiana
all-sufficient rising prison assign conceit white tosses
hundred unstayed permission willest nobility Dispenser
cause disputes pauses troublesome dedicated oh_oh everlasting
indebted faults hanging garner Theft peculiar principally
expects swallowed possessor examples hoping wrong PURPOSE
right-doing hurting secretly suspect very drinking attractiveness
Since kick_back fruitlessly difficulties how_about preference
gall embracement belonging assembly ensuing boiled grandchildren
circuits prolix eunuchs lustful overflow bowels firmly
you'll_see Would swoon allaying sleeping harmonious satiety
mazes Bouverie There greatest manifoldness helpful Treasury
indigested diversely debtors subjoinedst Tajikistan purposes
Justina nourishment over_the_top schedule scantling infancy's
Blessedness hey_thats_right Sacraments snares combine
title vestige recall birdlime top physic tends rudely
sixth celebration
----
God says...
4:2 And immediately I was in the spirit: and, behold, a throne was set
in heaven, and one sat on the throne.
4:3 And he that sat was to look upon like a jasper and a sardine
stone: and there was a rainbow round about the throne, in sight like
unto an emerald.
4:4 And round about the throne were four and twenty seats: and upon
the seats I saw four and twenty elders sitting, clothed in white
raiment; and they had on their heads crowns of gold.
4:5 And out of the throne proceeded lightnings and thunderings and
voices: and there were seven lamps of fire burning before the throne,
which are the seven Spirits of God.
4:6 And before the throne there was a sea of glass like unto crystal:
and in the midst of the throne, and round about the throne, were four
beasts full of eyes before and behind.
----
That's about Github. 24/7
God says...
church pitied ANYTHING functions contrition strengtheneth
Whosoever hungering concluded flower characters maimed
finest waters attracts Eating Fish true free-will means
Master peace-makers purposing behind world's Medea vehement
towards gushed joking aught dew nilled fellow-sinners
NO Guide
----
God doesn't want to say favorite city. Let's do country shit-list.
"It’s a junior engineer mistake to toss insults about a piece of complex technology in 140 characters."
Does everyone agree with that? I have seen many senior engineers, specially in open source world, who aren't afraid to use the 'F word' publicly to insult a technology, or even an organisation (Linus vs. Nvidia?).
Does an engineer really have to be super formal in how he talks online? Isn't it fun to be a bit more open at times than what 'maturity' requires?
Linus is a special case. When your work powers most of the computers out there, I guess you can say fuck all you want. Plus its not like he goes around saying fuck to everybody. Its to the people that piss him off. He is a target for assholes because insecure little bitches will always try and prove him wrong. Its part of the culture around computers. But hey, if it wasnt for him I would be using Windows. So fuck anyone who doesnt like the way Linus talks.
"A new idea comes suddenly and in a rather intuitive way, but intuition is nothing but the outcome of earlier intellectual experience." - Albert Einstein
I've always thought that "earlier intellectual experience" was a necessary but not sufficient condition to extraordinary work. Each of us gets there in our own time frame.
" Mature engineers know that no matter how complete, elegant, or superior their designs are, it won’t matter if no one wants to work alongside them because they are assholes. "
I've worked with some assholes that could easily be referred to as mature engineers. Being assholes or not wanting to work alongside them didn't really detract all that much as they could get the job done and there was a lot to learn from them. I'm not sure the author is correct about personality being a part of a senior engineer - or a senior executive - as far too many of those seem to be assholes by definition!
Agreed. Few people here or elsewhere discuss the role of so-called "politics" in the workplace. You may be referring to those who resort to more than their engineering skills to get ahead, sometimes ruthlessly.
maybe in the next generation of engineering we'll stop trying to classify our engineering abilities and focus on the building of things in front of us. We'll accept that it doesn't matter how long we've been doing something (because we've all not been doing this very long) and we'll realize that even someone who just started at the "keys" has something for us to learn... (warm and fuzzy)... at the end of the day we have a shared goal "get it done"(ahmen)
> No one should be allowed to avoid the issue by the old formula, “I can’t give a promise because it depends upon so many uncertain factors.”
STRONGLY disagree.
I've worked on projects where:
- Getting a stable build might take four hours (minimum) to several weeks (depending on churn);
- Processes for adding components were undocumented magic, and very nearly undebuggable;
- Components might take days or weeks to propagate, once you were finally able to make changes to them.
Debugging is a similar story. Some bugs are nasty, horrible, complex things that take a lot of time. I've seen showstopper-class kernel level bugs take months to find. The nature of interactions at the hardware / software interface is unbelievably complicated.
So what does a "senior" engineer do?
- Communicate the nature of the problems in a non-whiny way.
- Give responsible estimates. "Three days or a month" is honest, if you say why.
- DON'T promise results that you can't actually deliver.
- Be prepared to have features cut, and to have conversations about things that you consider less than optimal ("sucky") for the customer.
Naturally, your senior engineer is also trying to improve the sucky situation the whole team finds itself in (with better tools, build processes, whatever), but some situations are intractable.
I do see this a lot in less experienced engineers. "I can't tell you when X will be done." On the other side, I see people promise stuff they can't possibly deliver (due to pressure from management, or simple optimism, or plain cluelessness about the difficulty of a problem).
So part of a senior engineer's job is to notice when someone is making bad estimates and correcting the issue. This can range from simple conversation with the engineer, to diving in and helping out, to getting someone transferred or terminated for unfixable cluelessness.
Some good tools:
- Socratic method. "What don't you know? Can you figure it out?" Repeat. Also, deep examination of base assumptions ("Are you /sure/ you know XXX? Let's dig into that for a bit.")
- Crap shield. "Look, leave Figby alone for a few days until he works this out. It'll give him confidence and make him a better engineer."
- Crap generator (use this sparingly). "What that guy is doing just isn't very hard, and he's not doing a good job. Have one of ours do it instead, and have your guy do something else." Bring ironclad evidence to the table on this one, because this conversation usually precipitates a firing.
The old saw of "Good. Fast. Cheap. Pick two." is so over-used, but it is /so/ damned true.
We've been engineering bridges for thousands of years, and we have a pretty good handle on what makes a good bridge. In software, I've come to think of the engineers /as/ the bridges, and we can't engineer a better engineer yet.
The difference the article is talking about is a junior engineer saying "I don't know and I don't know how to know, so I'm not going to answer your question" and the senior engineer giving estimates just like the ones you gave: "a build is at least four hours, but if I'm churning it can take several weeks".
Junior engineers don't know that an estimate like that is possible to give and provides value. They're often brow-beaten by lots of project managers who don't get the value of an estimate like that, who'll just press you for a single number that you'll commit to, the closer to the low end the better. But actual business managers can hear that estimate and make a business decision:
a) I need the build in 15 minutes for a demo... sounds like that's not possible, so skip it.
b) I going to need the build to be stable in two months. You'd better get started now, and I should be ok.
c) Hmm... I need it next week. Seems we have a business risk here. How can we mitigate that?
Part of a senior engineer's value is being able to see the business need to address business risks that are inherent in the question "How long will this task take", and to respond accordingly. The article touches on this too, where it discusses holistic contextual awareness.
28 comments
[ 3.7 ms ] story [ 74.3 ms ] threadFast forward 15 years, I'm now full of experiences. I deployed apps with billions of transactions per day, led teams big and small, learned that there's more than one side to everything and that "The True Solution" is nothing but lack of experience in disguise. Most importantly, I discovered I don't know anything.
I'm still shocked, sometimes, when I see arrogant 19-year-olds bending reality to convince people they're right - and getting paid more than us, dinosaurs... :)
Freudian slip? I think you mean the opposite going by the rest of your story. ;)
I have a feeling such a candidate would be deemed "too technical to manage, too senior to be managed".
"Too senior to be managed" has at least as much to do with the insecurities of the manager than it does the engineer. If you need to be the smartest guy in the room, then you'll surround yourself with lesser talent. If you understand your role of manager is to remove obstacles for those who do their specific roles then you'll be more likely to search out experienced people that GSD.
Is there a bookmarklet that will get rid of Quora's annoying "you must login with FB or Twitter" page blocker?
God says... hewers of wood and drawers of water unto all the congregation; as the princes had promised them.
9:22 And Joshua called for them, and he spake unto them, saying, Wherefore have ye beguiled us, saying, We are very far from you; when ye dwell among us? 9:23 Now therefore ye are cursed, and there shall none of you be freed from being bondmen, and hewers of wood and drawers of water for the house of my God.
9:24 And they answered Joshua, and said, Because it was certainly told thy servants, how that the LORD thy God commanded his servant Moses to give you all the land, and to destroy all the inhabitants of the land from before you, therefore we were sore afraid of our lives because of you, and have done this thing.
9:25 And now, behold, we are in thine hand: as it seemeth good and right unto thee to do unto us, do.
----
God says... Dispenser sorry unrulily struggling tremble thriven nursery measuring bulk worthy enchantment questionings charmed searched Tanzania regeneration eminence planets apostles models majesty live get same openly uttered acuteness stiffneckedness Botswana frown soon praises Louisiana all-sufficient rising prison assign conceit white tosses hundred unstayed permission willest nobility Dispenser cause disputes pauses troublesome dedicated oh_oh everlasting indebted faults hanging garner Theft peculiar principally expects swallowed possessor examples hoping wrong PURPOSE right-doing hurting secretly suspect very drinking attractiveness Since kick_back fruitlessly difficulties how_about preference gall embracement belonging assembly ensuing boiled grandchildren circuits prolix eunuchs lustful overflow bowels firmly you'll_see Would swoon allaying sleeping harmonious satiety mazes Bouverie There greatest manifoldness helpful Treasury indigested diversely debtors subjoinedst Tajikistan purposes Justina nourishment over_the_top schedule scantling infancy's Blessedness hey_thats_right Sacraments snares combine title vestige recall birdlime top physic tends rudely sixth celebration
----
God says...
4:2 And immediately I was in the spirit: and, behold, a throne was set in heaven, and one sat on the throne.
4:3 And he that sat was to look upon like a jasper and a sardine stone: and there was a rainbow round about the throne, in sight like unto an emerald.
4:4 And round about the throne were four and twenty seats: and upon the seats I saw four and twenty elders sitting, clothed in white raiment; and they had on their heads crowns of gold.
4:5 And out of the throne proceeded lightnings and thunderings and voices: and there were seven lamps of fire burning before the throne, which are the seven Spirits of God.
4:6 And before the throne there was a sea of glass like unto crystal: and in the midst of the throne, and round about the throne, were four beasts full of eyes before and behind.
----
That's about Github. 24/7
God says... church pitied ANYTHING functions contrition strengtheneth Whosoever hungering concluded flower characters maimed finest waters attracts Eating Fish true free-will means Master peace-makers purposing behind world's Medea vehement towards gushed joking aught dew nilled fellow-sinners NO Guide
----
God doesn't want to say favorite city. Let's do country shit-list.
God says...
abnormal because_I_said_so Enough do_you_know_what_time_it_is bastard hurts_my_head
----
Pizza kinda strange.
God says...
Rwanda that's_no_fun thats_laughable oh_come_on Germany Uzbekistan how_come HolySpirit radio delightful repeat_after_me if_and_only_if how_goes_it Obama foul how's_the_weather Hicc_up yuck wastoid Pakistan hotel Cote_d_Ivoire it_was_nothing do_you_know_what_time_it_is yada_yada_yada smack_some_sense_into_you Wales umm_the_other_answer why_didn'_you_tell_me where's_the_love Terry France now_you_tell_me thank_you_very_much Lithuania BRB Yawn it's_hopeless
----
Any engineers in the Bible? Do You love engineers, God?
God says...
"It’s a junior engineer mistake to toss insults about a piece of complex technology in 140 characters."
Does everyone agree with that? I have seen many senior engineers, specially in open source world, who aren't afraid to use the 'F word' publicly to insult a technology, or even an organisation (Linus vs. Nvidia?).
Does an engineer really have to be super formal in how he talks online? Isn't it fun to be a bit more open at times than what 'maturity' requires?
That said, I'm just as terrible as the next guy.
I've always thought that "earlier intellectual experience" was a necessary but not sufficient condition to extraordinary work. Each of us gets there in our own time frame.
I've worked with some assholes that could easily be referred to as mature engineers. Being assholes or not wanting to work alongside them didn't really detract all that much as they could get the job done and there was a lot to learn from them. I'm not sure the author is correct about personality being a part of a senior engineer - or a senior executive - as far too many of those seem to be assholes by definition!
- mature engineeer :P
STRONGLY disagree.
I've worked on projects where:
- Getting a stable build might take four hours (minimum) to several weeks (depending on churn);
- Processes for adding components were undocumented magic, and very nearly undebuggable;
- Components might take days or weeks to propagate, once you were finally able to make changes to them.
Debugging is a similar story. Some bugs are nasty, horrible, complex things that take a lot of time. I've seen showstopper-class kernel level bugs take months to find. The nature of interactions at the hardware / software interface is unbelievably complicated.
So what does a "senior" engineer do?
- Communicate the nature of the problems in a non-whiny way.
- Give responsible estimates. "Three days or a month" is honest, if you say why.
- DON'T promise results that you can't actually deliver.
- Be prepared to have features cut, and to have conversations about things that you consider less than optimal ("sucky") for the customer.
Naturally, your senior engineer is also trying to improve the sucky situation the whole team finds itself in (with better tools, build processes, whatever), but some situations are intractable.
I do see this a lot in less experienced engineers. "I can't tell you when X will be done." On the other side, I see people promise stuff they can't possibly deliver (due to pressure from management, or simple optimism, or plain cluelessness about the difficulty of a problem).
So part of a senior engineer's job is to notice when someone is making bad estimates and correcting the issue. This can range from simple conversation with the engineer, to diving in and helping out, to getting someone transferred or terminated for unfixable cluelessness.
Some good tools:
- Socratic method. "What don't you know? Can you figure it out?" Repeat. Also, deep examination of base assumptions ("Are you /sure/ you know XXX? Let's dig into that for a bit.")
- Crap shield. "Look, leave Figby alone for a few days until he works this out. It'll give him confidence and make him a better engineer."
- Crap generator (use this sparingly). "What that guy is doing just isn't very hard, and he's not doing a good job. Have one of ours do it instead, and have your guy do something else." Bring ironclad evidence to the table on this one, because this conversation usually precipitates a firing.
The old saw of "Good. Fast. Cheap. Pick two." is so over-used, but it is /so/ damned true.
We've been engineering bridges for thousands of years, and we have a pretty good handle on what makes a good bridge. In software, I've come to think of the engineers /as/ the bridges, and we can't engineer a better engineer yet.
Junior engineers don't know that an estimate like that is possible to give and provides value. They're often brow-beaten by lots of project managers who don't get the value of an estimate like that, who'll just press you for a single number that you'll commit to, the closer to the low end the better. But actual business managers can hear that estimate and make a business decision:
Part of a senior engineer's value is being able to see the business need to address business risks that are inherent in the question "How long will this task take", and to respond accordingly. The article touches on this too, where it discusses holistic contextual awareness.