An inspirational story: tenacity
-
I had an experience similar to this back in the 90's. A CS post grad fresh out of the local state U had been hired to create a system to process a large volume of data coming from hundreds of different sources. It wasn't getting anywhere, the developer was deflecting and delaying, and I was brought in to assist and assess. The first thing I noticed is that the app was pretty good ... a bit overthought, arguably with overuse of inheritance perhaps but this guy was a newly-minted dev working on his first real-world project (but at least it was greenfield). The second thing I noticed is that it had not been compiled in at least the past couple of months, which means it hadn't been tested. I compiled it and there were a handful of syntax errors and the like. Cleaned those up, ran some tests, and it was actually working. When I asked the dev why it hadn't been compiled he reacted in horror ... he did not like compiler errors, he said, and he always makes everything perfect before compiling his code. Long story short, they had a working product less than 2 weeks after I came on board. I tried to show the kid how to work in a real-world business environment, how to not let the perfect be the enemy of the good, etc., but he was having none of it. He quit in protest and went back to graduate school at some other university in another state and for all I know, all these years later is still doing perfect ivory tower theoretical work somewhere. I went on to specialize in the industry and have rewritten that system three times for four different companies in the past 25 years. So this kid was probably on the spectrum or suffering from OCD or both, but the reason doesn't matter so much as that he had actually created a credible system that was nearly production ready, but was unable to pull the trigger on it, just like the guy in the OP's story. I think the term of art for this is "approach avoidance". Some people are terrified of actually releasing their work into the big wild messy world. And it's probably more common in our craft than in many others because being compulsive and perfectionist is both an advantage and a disadvantage. It attracts perfectionists to the work but puts them off actually finishing it.
Fantastic post! Really great story! Thanks for sharing.
Bob Grommes wrote:
he reacted in horror ... he did not like compiler errors, he said, and he always makes everything perfect before compiling his code.
!!!! :wtf: :wtf: :wtf: I love the compiler. My system has always been. 1. Change a letter or a variable value 2. build 3. inspect errors 4. back to 1. Build early & build often. I had always felt like a unknowledgable person because I would poke around and build, build build! Then someone created that REPL idea[^] and I was like, "guess I'm a genius cuz I been doing that for years." :laugh:
-
raddevus wrote:
think he'd ever complete it with his skills
Life lesson perhaps? At one point I wrote code that I then could not understand several months later when I needed to maintain it. Hard lesson learned - stop trying to be clever.
-
Thought of this story today... I joined a company as a Dev in 2000. They said the previous dev had left because he was overwhelmed with the C++ code he was writing which used COM to speak to a hardware device. They told me, he left in a hurry and told everyone "do not contact me". I was afraid to look at the code. Digging Into Dev's Code Then I dug in and I discovered the most beautiful code I'd ever seen. It was self-explanatory code & I learned new techniques. It was amazing. I didn't have to do much and I got the code working. 1000 Mile Journey That developer had been on a 1000 mile journey and gave up inches away from success. Still blows my mind. And, even after all these years, I remember that code as some of the best I've ever seen to this day. One of my favorite quotes is
confirmed Louis Pasteur (quote investigator[^])
let me tell you the secret that led me to my goal. My sole strength is in my tenacity.
I hardly know anything but I have the weird ability to try a (technology) thing 1,000 times and not get bored or give up entirely.
-
Thought of this story today... I joined a company as a Dev in 2000. They said the previous dev had left because he was overwhelmed with the C++ code he was writing which used COM to speak to a hardware device. They told me, he left in a hurry and told everyone "do not contact me". I was afraid to look at the code. Digging Into Dev's Code Then I dug in and I discovered the most beautiful code I'd ever seen. It was self-explanatory code & I learned new techniques. It was amazing. I didn't have to do much and I got the code working. 1000 Mile Journey That developer had been on a 1000 mile journey and gave up inches away from success. Still blows my mind. And, even after all these years, I remember that code as some of the best I've ever seen to this day. One of my favorite quotes is
confirmed Louis Pasteur (quote investigator[^])
let me tell you the secret that led me to my goal. My sole strength is in my tenacity.
I hardly know anything but I have the weird ability to try a (technology) thing 1,000 times and not get bored or give up entirely.
-
Thought of this story today... I joined a company as a Dev in 2000. They said the previous dev had left because he was overwhelmed with the C++ code he was writing which used COM to speak to a hardware device. They told me, he left in a hurry and told everyone "do not contact me". I was afraid to look at the code. Digging Into Dev's Code Then I dug in and I discovered the most beautiful code I'd ever seen. It was self-explanatory code & I learned new techniques. It was amazing. I didn't have to do much and I got the code working. 1000 Mile Journey That developer had been on a 1000 mile journey and gave up inches away from success. Still blows my mind. And, even after all these years, I remember that code as some of the best I've ever seen to this day. One of my favorite quotes is
confirmed Louis Pasteur (quote investigator[^])
let me tell you the secret that led me to my goal. My sole strength is in my tenacity.
I hardly know anything but I have the weird ability to try a (technology) thing 1,000 times and not get bored or give up entirely.
-
What surprises me is that someone who can write some of the best code you've ever seen didn't recognize his own ability. Perhaps he's among the apparently not-so-small group that are high performers yet secretly believe that they're actually incompetent and that their world will come crashing down once people realize it.
Robust Services Core | Software Techniques for Lemmings | Articles
The fox knows many things, but the hedgehog knows one big thing.and with just a touch of encouragement..... We (techies pounding code, designing systems, etc) have been programmed to think we cannot ask for help. Decades ago I read a book on software teams and development processes. One of the chapters was titled, "Beware the Dark Office" where you had this one person desperately trying to complete a task. We could do better.
Charlie Gilley “They who can give up essential liberty to obtain a little temporary safety deserve neither liberty nor safety.” BF, 1759 Has never been more appropriate.
-
and with just a touch of encouragement..... We (techies pounding code, designing systems, etc) have been programmed to think we cannot ask for help. Decades ago I read a book on software teams and development processes. One of the chapters was titled, "Beware the Dark Office" where you had this one person desperately trying to complete a task. We could do better.
Charlie Gilley “They who can give up essential liberty to obtain a little temporary safety deserve neither liberty nor safety.” BF, 1759 Has never been more appropriate.
We can't ask for help because, as Brooks pointed out, adding more people to a late software project makes it later. One person desperately trying to complete a task often means the truck number of that group is 1. :-D
Robust Services Core | Software Techniques for Lemmings | Articles
The fox knows many things, but the hedgehog knows one big thing. -
We can't ask for help because, as Brooks pointed out, adding more people to a late software project makes it later. One person desperately trying to complete a task often means the truck number of that group is 1. :-D
Robust Services Core | Software Techniques for Lemmings | Articles
The fox knows many things, but the hedgehog knows one big thing.truth. But there is a difference between asking for help, being encouraged to ask for help, and the PM trying to make a baby in one month :)
Charlie Gilley “They who can give up essential liberty to obtain a little temporary safety deserve neither liberty nor safety.” BF, 1759 Has never been more appropriate.
-
I keep telling my kids that my success is "Not from being the smartest guy at work, but from being too stupid to know when to stop trying."
-
I had an experience similar to this back in the 90's. A CS post grad fresh out of the local state U had been hired to create a system to process a large volume of data coming from hundreds of different sources. It wasn't getting anywhere, the developer was deflecting and delaying, and I was brought in to assist and assess. The first thing I noticed is that the app was pretty good ... a bit overthought, arguably with overuse of inheritance perhaps but this guy was a newly-minted dev working on his first real-world project (but at least it was greenfield). The second thing I noticed is that it had not been compiled in at least the past couple of months, which means it hadn't been tested. I compiled it and there were a handful of syntax errors and the like. Cleaned those up, ran some tests, and it was actually working. When I asked the dev why it hadn't been compiled he reacted in horror ... he did not like compiler errors, he said, and he always makes everything perfect before compiling his code. Long story short, they had a working product less than 2 weeks after I came on board. I tried to show the kid how to work in a real-world business environment, how to not let the perfect be the enemy of the good, etc., but he was having none of it. He quit in protest and went back to graduate school at some other university in another state and for all I know, all these years later is still doing perfect ivory tower theoretical work somewhere. I went on to specialize in the industry and have rewritten that system three times for four different companies in the past 25 years. So this kid was probably on the spectrum or suffering from OCD or both, but the reason doesn't matter so much as that he had actually created a credible system that was nearly production ready, but was unable to pull the trigger on it, just like the guy in the OP's story. I think the term of art for this is "approach avoidance". Some people are terrified of actually releasing their work into the big wild messy world. And it's probably more common in our craft than in many others because being compulsive and perfectionist is both an advantage and a disadvantage. It attracts perfectionists to the work but puts them off actually finishing it.
Bob Grommes wrote:
he did not like compiler errors
Looks like he relied on a built-in compiler in his head. :-)
-
My degree is in filmmaking. I am self taught. The best developer I work with has no IT degree. Two of the best hires I have made over the years had fresh degrees with ink still wet and no experience - and both knock it out of the park every day. I respect the work it takes to earn those degrees, but "getting it done" is all that really matters in the long run.
-
okay, that was funny :doh: ;P
Charlie Gilley “They who can give up essential liberty to obtain a little temporary safety deserve neither liberty nor safety.” BF, 1759 Has never been more appropriate.
-
What surprises me is that someone who can write some of the best code you've ever seen didn't recognize his own ability. Perhaps he's among the apparently not-so-small group that are high performers yet secretly believe that they're actually incompetent and that their world will come crashing down once people realize it.
Robust Services Core | Software Techniques for Lemmings | Articles
The fox knows many things, but the hedgehog knows one big thing.Having imposter syndrome is real possibility, though this would seem to be an extreme case. Maybe they had mental health issues, a nervous breakdown, a family/non-work-related issues of an emergency nature, or a mob hit-man was coming after him. We have no idea what was going on inside his head at the time.
Bond Keep all things as simple as possible, but no simpler. -said someone, somewhere
-
thank you for that fascinating story . would it be possible to elaborate re/ the beautiful code . perhaps a few examples . i am eager to learn . on the occassion of an interview i informed the interviewer i attempt to make my code "pretty" . he almost laughed . perhaps i should have said "beautiful" .
"Pretty" and "beautiful" are ambiguous when talking about code. It could mean that you make the text easy to read (align curly braces, consistent indentation and capitalization, style enforcing, etc.), or it could mean that you remove all code smells, make code easy to maintain, and appropriately comment your code. I require my developers to write pretty code in both senses of the term. It's just easier for everyone else to look at and understand what they did. I highly encourage use of auto-formatters prior to check-in.
Bond Keep all things as simple as possible, but no simpler. -said someone, somewhere
-
"Pretty" and "beautiful" are ambiguous when talking about code. It could mean that you make the text easy to read (align curly braces, consistent indentation and capitalization, style enforcing, etc.), or it could mean that you remove all code smells, make code easy to maintain, and appropriately comment your code. I require my developers to write pretty code in both senses of the term. It's just easier for everyone else to look at and understand what they did. I highly encourage use of auto-formatters prior to check-in.
Bond Keep all things as simple as possible, but no simpler. -said someone, somewhere
my meaning of "pretty" / "beautiful" is hopefully in the highest sense . thus no ambiguity . i attempt to write code which another developer can understand w/ ease . apparently i fail as i am surprised i myself have difficulty understanding my own code after some duration . though on one occasion a job interview i seem to have succeeded as i was informed my solution to the assigned problem was the only one which required no assistance for the interviewer's programming assistant to understand . i was not offered the job .
-
my meaning of "pretty" / "beautiful" is hopefully in the highest sense . thus no ambiguity . i attempt to write code which another developer can understand w/ ease . apparently i fail as i am surprised i myself have difficulty understanding my own code after some duration . though on one occasion a job interview i seem to have succeeded as i was informed my solution to the assigned problem was the only one which required no assistance for the interviewer's programming assistant to understand . i was not offered the job .
Sounds like they already had someone in mind and were just required to do interviews to prove no favoritism. Unless there were red flags during the process, I would have hired you in a heartbeat if you were the only one to do that.
Bond Keep all things as simple as possible, but no simpler. -said someone, somewhere