Stop becoming a full stack developer - your efforts are futile.

(Follow me now for the prototype of a talk I am working on. I would really love
to hear your thoughts and especially your input on the point I am making. But
for now: let's start with an observation.)

Sun, 21 Apr 2019 14:27:09 UTC5321

46 replies

Replying to @coderbyheart

The skill level is rated from Junior to Principal, you start as a Junior and
work towards being a senior. After that (some make Senior in three years) it
gets a little fuzzy what happens. But generally you reach a level where you have
more responsibilities and teach others.

Replying to @coderbyheart

This is of course a very simplified view, since being a FSD means you need to be
proficient in a multitude of areas. Your skill is not a single value but differs
across these professions. However they all are required to call yourself a FSD.
Embedded Photo

Replying to @coderbyheart

Ask yourself this: what is your overall level? Your highest skill (I observe
that many call themselves FSD if they can tell what the abbreviation MEAN stack
means), your lowest skill (you could never be truly a FSD), or an average?

Replying to @coderbyheart

I guess you see that the label "full stack developer" is problematic already.
Because if we look more deeply what is needed to develop applications we also
need to take into account the various requirements of different sectors. Here
the requirements will be vastly different.
Embedded Photo

Replying to @coderbyheart

Your skill is always relative to the sector you are working in. If you mostly
work on eCommerce you will have deep knowledge in performance, payment systems,
user journeys. If you work on internal banking systems your fields of expertise
will have an entirely different focus.

Replying to @coderbyheart

All of the above also needs to be viewed through an important 4th dimension:
time!

Your skill is a function of the time you spend improving it, and since you
cannot simultaneously improve all skills at the same time, your total FSD skill
will fluctuate over the years.
Embedded Photo

Replying to @coderbyheart

Software is an incredibly fast changing field and especially the skills many
associated with a FSD have a half-life of a few years. A fraction of your total
working life!

Replying to @coderbyheart

Now the problem we as a profession have is that we do not teach this! There are
tons of tutorials, courses, lectures in universities on the technical part of
our work. People will happily attend conferences on framework X, database Y.
Meetups exist for every language.

Replying to @coderbyheart

But we do not educate ourselves in collaboration. But collaboration is the only
way we can make up for our own limitations.

Collaboration between humans however comes with a cost, communication is messy,
cultures are different.

Replying to @coderbyheart

I always say that I'd love to have more software problems, because they are easy
to fix. But people problems is what I have to deal with.

And in the past I invested very few time in educating myself on collaboration
and communication. I want us to change this.

Replying to @coderbyheart

Here are some techniques and frameworks (yeah, don't we love us some nice
frameworks) I hope we can look into and adopt them, or even extend on them like
we do for developing software.

Replying to @coderbyheart

Because as with software frameworks, communication frameworks should prevent us
from doing the same mistakes over and over again and have best practices at hand
which will let us achieve our goals faster.

Replying to @coderbyheart

The premise of this talk is to give the listener then an overview over these
frameworks, and this is where I now need your input. Does this resonate with
you? Would you be interested in hearing this talk?

Replying to @coderbyheart

It works very well for me in that it gives me a process to dissect communication
and try to find the true message, which might be wrapped in emotions and hard to
get initially.

Replying to @coderbyheart

But this is (at least how I practice it) a passive method, where I do the
analysis and do not go in an exchange with the other person about the way they
communicate. Maybe a little subtle when I mirror their request back to create a
better shared understanding.

Replying to @coderbyheart

Typically here, I did not have a formal training in it but discovered it on my
own a few years ago. So it would be interesting to learn if there are developers
out there hat received training, and how that went for them.

Replying to @coderbyheart

Since most people work for some kind of affirmation 5LL gives a good model about
the different ways humans are receptive for gratification and it is important as
a collaborator to understand what drives them and how I can give them the
feeling that I value their work.

Replying to @coderbyheart

The four-ears-model is a valuable complement to the earlier mentioned
Non-violent communication, since it also models a message as a composite of
various aspects, and it helps to identify and separates the different aspects
the were amalgamated by the sender of a message.

Replying to @coderbyheart

In my experience as an organizational coach these systems do not work well with
heterogeneous teams where you gradually change something, it's hard to explain
to an "outsider" why this makes sense and it can actually feel inhuman.

Replying to @coderbyheart

I guess the second part needs more GIFs. Nevertheless, I think it could be a
valuable contribution to a conference to look into more of these ideas about
collaboration and communication and make them available in a collection.

What do you think?

Replying to @coderbyheart

One point I want to stress on the talk is this:

We developers happily pay (money, time) for getting up to speed on tech topics.

We don't do this for communicatio/collaboration skills.