April 2019

358 tweets

I've received an email today from a know contact, that asked me to download an
attachment. That was not unusual.
Embedded Photo

Replying to @coderbyheart

Now, the contact would not use this language (they are Norwegian) so I double
checked by SMS and they got p0wned by an attacker who took over their email.

Replying to @coderbyheart

CodeDeploy has a cool feature which enables you to release changes to lambdas
with canary releases which get rolled back automatically if a custom definable
error condition happens.

Makes testing i production safe and efficient!
Embedded Photo

Replying to @coderbyheart

They give best practices on configuring AWS ElasticSearch service for
scalability and resilience so you can store all your application logs in ES for
easy querying.

Replying to @coderbyheart

Now he talks about how to decouple APIs from the underlying systems.

This is something where I still see a lot of resistance because many engineers
have limited experience with these designs and are used to interact with 10-20
year old synchronous REST APIs.

Replying to @coderbyheart

The more important and popular a service is in your system is, the more you need
to look I to catching it. Because if the backend for it goes down you don't want
to have your users hitting your failing services over and over.

Replying to @coderbyheart

If you add data to a database that is going to be mutated in the next 20-30
seconds it does NOT belong in a database. Put it in a memcache and persist it
once in a while.

Replying to @coderbyheart

It's important to add a per-transaction ID to your logs at the beginning of a
request which gets reused in logs from underlying services to find logically
related events.

Replying to @jesslynnrose

@jesslynnrose
@MaritvanDijk77 User groups are that for
me. And this is my personal ladder of development, start small and work upwards.
All steps are rewarding but require exponentially more energy, but yield grows
similar. 1 attend 2 connect (personally and digitally) 3 contribute/engage 4
speak 5 organize

@REMA1000 Hei, We found this piece of sharp metal wire in either Tomatoes or
Avocados. We can't tell for sure because we discovered it after preparing the
plate.

❞ I seem to care about each company as if it was my own, so it's kind of time to
have one that is my own.❝

I recently read this in a private exchange and it hits home so fucking hard.

Replying to @domsom

@domsom But, there should be ways to create a
business that does not require a big team, but nevertheless support one or a
small team of engineers, doing mostly engineering work with impact.

As a German it is especially funny to watch @nbcgrimm and see them making up all
those funny German words that do not exist. And then hear them pronounce it.

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.)

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.

Replying to @J7mbo

@J7mbo Absolutely. I want to make the point that we
need to make communications an important part of any developer training. It
should be in onboarding like "this is how we version our software": "this is how
we recognize and handle conflicts".

Replying to @m4nl5r

@m4nl5r Yes, it's like I actually embrace having
new tech problems, because this where I feel safe because I know I am very well
equipped to handle anything that is thrown at me. In the end it's just
computers. And I have exchange on how to be better at computering all the time.

Replying to @benjamin

@benjamin
@datenreisender Great feedback from you
both! It's what I know today and therefore something concrete I could share.

The idea of explaining how I behave is interesting, more hands on. It does feel
very subjective though, and maybe not very well applicable for the listener?

Replying to @datenreisender

@datenreisender Good observation. I hardly
mentioned any collaboration "models". Which would be an important part to flesh
out. I mentioned Holocracy which is about collaboration. I worked some time with
flat/networked organization. matrix organization comes to mind, as well.

Replying to @coderbyheart

@datenreisender However these are more
organizational models. I think we are all ingrained with the "be a good team
player model" which in the end comes down again to good communication? Are
collaboration and communication actually two independent things?

@lampkemeyer Thanks Mola for this feedback,
as developers it's easy to only focus on software and let it speak for us as
developers. I used to think that's how it's supposed to be. But bad
communication makes worse software. I cannot be a good engineer without seeing
that.

Replying to @domsom

@domsom Yes, agreed, if you are ok with
compromises in all/many areas that is true. But I guess you agree that if you
want excellence in all areas this can't be achieved (even in those areas that
FSD claim to cover themselves).

Replying to @domsom

@domsom Yes, and like with software there are
tools, but we need to know about them in order to become good. That would be a
good outcome of the talk, that the audience has then more tools available to
handle communication issues.

Replying to @benjamin

@benjamin
@datenreisender On further thought: is it
still valuable coming from me? In basically all of the challenges I had in the
past I was in a superior position (usually an authority [either by rank and/or
merit], no economic dependency [I can always walk away because I am financially
independent]).

Replying to @domsom

@domsom So you would focus on pointing out that
developers need to work on their communication skills. End of story? If I don't
give them at least a pointer in that direction, I would feel that the talk dose
not provide enough value.

Replying to @mistymadonna

@mistymadonna
@sippndipp I'm all for learning as much as
possible about different technologies, languages, even professions, this will
make you a well rounded and very valuable developer. My point is, FSD is so
vastly complex aiming to master it all is a futile attempt.

Replying to @ipreuss

@ipreuss Yes! I honestly can't tell the last time
I went to a conference talk about collaboration. Do you know conferences that
focus on that? Confs like Augenhöhe / @xcamp come
to mind, but they focus more on organizations instead of individual skills.

Replying to @M1ke

@M1ke @J7mbo Yes,
thanks for sharing this! I guess we lack the skills and therefore the actual
words to describe what we experienced. We don't have models / systems at hand we
consciously apply. Communication / Conflict resolution happens more or less by
accident and is not easy to reproduce.

Replying to @coderbyheart

There is the way of the "Principal Developer" who is concerned with advancing
technical aspects. At some point they have become the go-to person for certain
technical topics and since no one in their organization has more experience,
they will eventually invent new standards.

Replying to @coderbyheart

And in this "deep tech" work, having too many collaboration can be harmful.
Teams that are trying to source input from everyone will eventually be paralyzed
and settle for solutions which represent the least common denominator.

Replying to @coderbyheart

Since execution is also about efficiency (which you should not care too much
about in innovation) they will benefit from hierarchies, processes and quick
decision making. People with a lot of relevant experience are great in
evaluating all options and making those decisions.

The worst part of living in Norway 🇳🇴 is going to Supermarkets in other
countries. Especially in southern Europe.
Embedded Photo

I will never not ask for a conference to cover my travel expenses, even though I
could pay myself and my employer would cover as welll.

It puts me in an unfair advantage over all those folks that cannot afford to pay
for their speaking opportunities.

Slides from the #graphql session: #socracan

Funny story, the hotel has a nice touchscreen monitor / smart board but it's not
connected to the internet so I had to screenshot the screen like a Neanderthal.

I did a spontaneous session on public speaking and got a full room! I hope I did
inspire more people to share what they are passionate about.

I'm happy to help you with anything related to public speaking, connect you to
conferences, review your abstracts etc. PN me! #socracan

Replying to @coderbyheart

Feedback is rare, if your are at a conference please take time and thank the
speaker an point out what you liked most. Ask if they have time to hear more
feedback, if you have.

Great discussion around testing in production and #nostaging.

Are you creating the most value, if you do not test in your production system?

#socracan
Embedded Photo

Closing the space. At the beach! 🏖️ #socracan was a great conference experience
and it was lovely to get the opportunity to provide so much input while
receiving inspiring ideas and hearing details on experiences. All in all a true
member of the SoCraTes conference family!
Embedded Photo

Replying to @coderbyheart

I wonder however if the next registry™️ should be offered as a centralised
service at all. What if we'd encourage users to run their own instances by
default. Built resilience in from the beginning. Use dat protocol to share
dependencies between developers.

We did a 16km hike on the northern tip of #grancanaria and we had an amazing
experience in this volcanic area. Fantastic views and beautiful small flowers.

Replying to @EmmaBostian

@EmmaWedekind I have this rule for speaking:
25% don't care what I say 25% already know it 25% will be offended 25% will
learn something new

I care about the last 25% and try to make it really count for them, all else are
already lost causes and everything I do for them is a waste of time.

We went to @PoemaDelMar today and had a
fantastic time. This aquarium might not have a huge number of exhibits, but it
is exceptionally well designed and creates an amazing feeling of flow when
walking through it.

Replying to @coderbyheart

What stands out are the two huge fish tanks with the larges glass windows I have
ever seen. I don't know which one is better, the seamless cylinder or the huge
curved one?!

It's mesmerising to just sit in front of them on nice cushions and relax.