
The most successful developers share more than they take - DelightOne
https://stackoverflow.blog/2020/05/14/the-most-successful-developers-share-more-than-they-take/?cb=1
======
songzme
I have a hard time sharing. For the past 10 years, I had been working on a
side project to answer this question: can I teach anyone how to become a good
software engineer?

10 years ago, I thought everyone should learn a certain skillset and I blogged
about them actively. Some of the articles made it to HN front page. It made me
feel great.

But every year as I grew as an engineer, my views of what mades a good
engineer changed. I realized that I need to thoroughly test my views first
before sharing publicly. So to test my changing views, I mentor a group of
student learners every day after work and during weekends. I observe their
progress throughout their interview process and then how they perform in the
software engineering world. To this day, I still don't have a concrete answer,
so I haven't blogged since.

It's particularly painful when my ideas are wrong and the students I mentored
turned out to be the kind of engineers I wouldn't want on my team. It's not
their fault and blogging about my failures would single them out and I don't
have the heart to do it.

So over the past 10 years, I eventually stopped shied away from being "Public
by default" until I have experimented enough to be sure.

~~~
jfim
Part of being a more senior engineer is to be able to admit that one was
incorrect, learn a lesson, and move on. It's also a good lesson for more
junior engineers that no one is infallible, and what matters more is how one
reacts to being incorrect.

As for teaching people to become good software engineers, there's a technical
part to it (eg. being able to structure a program, decompose problems into
smaller problems, etc.) but some innate traits (curiosity, perseverance,
humbleness) are also pretty important. I'd argue (without any data!) that the
latter are just as important as the former.

~~~
mattnewton
I think in OP's case they mentioned the nontrivial complication that admitting
they did not teach someone well is admitting publically that some of your
students are bad software engineers, which could affect them. It's not that
they can't admit it to themselves, it's that they want to be tactful in
announcing it from the rooftops.

~~~
ido
I don't know what they taught them, but whom of us wasn't at some point a "bad
software engineer"? That's a pretty normal point on a career path & I'm sure
those with the aptitude of these students learned and improved afterwards.

I teach programming to absolute beginners (freshmen students in an art school
taking intro to programming) & try to not worry too much about "proper
software engineering" \- I intentionally do stuff like copy paste the same
code from one file to another & solve things in a "dumb"/verbose way if it's
simpler conceptually (and thus easier to understand).

My goal is to get them from "afraid of the command line" to "can type some
code into visual studio that can do _something_ when you press run & then be
able to expand on it further". Proper software engineering comes _way_ later &
will be taught by someone else (possibly by the students themselves once they
realize the naive approach I showed them at first got them into a mess when
they tried to develop a bigger program).

------
the_jeremy
When you define "great developer" as "top contributors on StackOverflow" (or
the ones responsible for founding it), of course the overlap will be 100%. I
understand that StackOverflow actively requires people to work on their
platform for no compensation so they want to encourage the idea that
contributing makes you a better developer, but this is even more of a puff
piece than I expected.

~~~
Tehchops
I feel like we read different articles.

They do make mention of being actively engaged on SO, but this didn't at all
read like a marketing piece for getting more SO users.

The key point seemed to be one I've seen echoed repeatedly elsewhere: a lot of
good developers write and share a lot. It doesn't have to be Stack Overflow.

"Good" in this context I take to mean holistically good. Not just good on
purely technical skills, but soft skills(particularly effective
communication), organizationally dynamic, etc...

~~~
MauranKilom
I read the article prior to seeing it shared here. My conclusion was that it's
just sampling bias. Of course you will hear proportionally more of "great"
developers if they share more about themselves. And of course those are the
ones you'll invite to a podcast.

I don't even know what kind of statistical basis they want to put their claims
on. A better title would be "the great developers that you hear from a lot
share a lot".

They make an effort not to promote "share your knowledge on SO" strongly, but
it's one of the two actionable thoughts any developer reading this would have.
"I should write blog posts" or "I should answer questions on SO".

------
hyperpape
Maybe. The example that popped into my head, however, was Fabrice Bellard:
[https://en.wikipedia.org/wiki/Fabrice_Bellard](https://en.wikipedia.org/wiki/Fabrice_Bellard).

To the best of my knowledge, he shares in one way: a dump of his amazing code
appears from time to time.

However, I have never read a comment, tweet, blog post, or mailing list post
by him. They may exist and I have crossed paths with them. Or perhaps he's an
incredibly helpful guy to work with. But that's not the foundation of his
excellence.

~~~
acdha
That's an interesting example: the projects where he's had the greatest impact
(QEMU, ffmpeg) are fairly normal open-source projects, with Fabrice
participating with other people on mailing lists or bug trackers, not to
mention successfully handing maintainership over to a larger community.

~~~
hyperpape
Fair. I don't follow those projects, so I guess I don't see that public
participation.

What I meant is that from the outside, it appears like he's just focused on
the work.

------
webel0
Wondering how much of this is convenience bias? If you want to make a podcast
about great developers you’d probably start with the people you know, which is
going to tend to be people with a substantial public presence.

~~~
tomgp
Yeah some of the best, most creative and insightful developers I know have
virtually no social media presence beyond git hub and a dormant twitter
accounts

------
neonate
Where by "successful" is meant: the ones who get attention. In other words
this is a tautological claim. Everyone else has already pointed this out, but
as a non-self-promoting developer I have to add my bit.

Often the best programmers have zero self-promotion instinct, and this has
nothing to do with not wanting to share. "Share" in this article means
something like "publish", and that's both a different skill and a different
desire.

------
runawaybottle
Our gates are open, and we should adhere to that principle, but similar to
free speech, we should make clear reasonable conduct. In other words, do not
think your sharing is acceptable without some merit.

A good example of this was a recent 15 year old that wrote a blog post about
lessons in being a developer that really should only have been written by
someone with a minimum of five years of professional experience (and I’m being
lenient, probably should be 7-8).

By principle we encourage the open gate, but If the growing trend is you are
fresh out of college or a bootcamp graduate and write up a whole article on
microservices and why or why not a business should use them, then our implicit
guidelines are too ignorable.

The community should want sharing, but with integrity. We don’t want people
sharing because of the concocted identity of a developer who must surely also
write authoritative/instructor blog posts. This should be discouraged
implicitly, and given the climate of lack of integrity based sharing (eg I
worked 5 years, let me show you how to set up a scalable business model), then
we must be more explicit until those behaviors change.

Open gate regardless.

------
wasureru
_One of the questions I always ask successful bloggers is: what motivated you
to start?

The answer is always the same: I did it for myself.

This is an example of survivor bias; those who start a blog with the aim of
attracting a following will lose motivation and grow impatient with the short
term results. Successful bloggers have the personal confidence and passion for
the topic to document and share stuff they think is cool._

I feel like a step is missing here. Is the survivor bias related to a
similarly named logical error
([https://en.m.wikipedia.org/wiki/Survivorship_bias](https://en.m.wikipedia.org/wiki/Survivorship_bias))?
Or is it the “good” kind of bias in the sense that survivors are predisposed
to have certain traits compared to non-survivors?

------
ilaksh
Well again I would like to point out that popularity and merit are not the
same thing. One thing I have found is that because my comments, answers and
open source software has not been popular, I have stopped attempting to share.
However, I know that some of my least popular projects have had the most
merit.

------
k__
Pro tip:

There are more junior than senior devs, there are more beginners than junior
devs.

The more basic the stuff is you share, the more people can do something with
it.

------
seemslegit
SO quality participation is in decline as it transformed itself into yet
another online shredder of good will and "great developers" realize they're
being exploited, cue content like this to try and goad them back.

