February 2019

252 tweets

I reworked my talks page: https://coderbyheart.com/talks/

I hope that this information is now better available for those of you interested
in what I am passionate about.

If you have feedback on that page in particular (or also in general on my
homepage), I'm all ears!

Replying to @coderbyheart

I mean overall this is a good improvement, since build time can easily be
tackled with computation power, while the reduced time needed to understand the
code is worth much more.

Replying to @Niklas_L

@Niklas_L It's released all together, but using
multiple artifacts (it's a serverless AWS lambda solution with ~50 lambas).

For reducing build time I make a checksum of all dependencies of an artifact and
only rebuild if these change.

Replying to @coderbyheart

@Niklas_L Artifacts are cached so that other
developers don't need to rebuild the same artifact.

The next optimization would be to allow development builds being done remotely
so that you can parallelize it (we have a cloud that can do this).

If you want to learn how the US is fucking up a very fine democracy and
pathetically disguises it as acting out of democratic reasons while accepting
that hundreds of thousands of Venezuelans will die in the course, listen to the
latest episode of the @intercepted podcast.

Replying to @coderbyheart

"Key flags that a project is not really agile:

  • Nobody on the software development team is talking with and observing the
    users of the software in action; we mean the actual users of the actual code.
    (The [Product Owner] does not count as an actual user."
Replying to @coderbyheart

"- Continuous feedback from users to the development team (bug reports, users
assessments) is not available. Talking once at the beginning of a program to
verify requirements doesn’t count!"

Replying to @coderbyheart

"- DevSecOps culture is lacking if manual processes are tolerated when such
processes can and should be automated (e.g. automated testing, continuous
integration, continuous delivery)."

Replying to @coderbyheart

It also provides a set of questions to ask development teams and management: "-
Who are your users and how are you interacting with them?

  • What is your (current and future) cycle time for releases to your users?"
Replying to @coderbyheart

"- What are your management metrics for development and operations; how are they
used to inform priorities, detect problems; how often are they accessed and used
by leadership?

  • Who are the users that you deliver value to each sprint cycle? Can we talk to
    them?"

Is it only me or has the majority of shared content on tech Twitter become more
and more around frontend techniques?

I barely see anyone talking/blogging about #backend stuff in my timeline.

Which accounts do you recommend to follow?

What I love about the second season of The Punisher is that his action is turned
into background noise through the strong and complex female characters. Really
cool!
Embedded Photo

Haven't finished it completely yet, but OMFG the greatest thing there is that it
shows concrete, measurable goalpoasts OF TECHNICAL NATURE which lead to better,
happier, healthier teams.

We are TECHIES, WE CAN UNDERSTAND AND DO THIS! NO EXCUSE.
/status/1095632275105026048

Replying to @coderbyheart

Because, what if testing in production means serving an Ad to the wrong target
audience (the adserver is the unit under test)? This will be an expensive
mistake.

So ... limit blast radius by serving only to certain accounts!

Just a friendly reminder for tomorrow's #EuroTestConf workshop attendees:
download and install the required software / source code and dependencies in
advance. The bandwidth is rather limited.

Replying to @coderbyheart

Approval testing forces you to look at the entire output of your system under
test, where with unit tests you are actively choosing what to look for-which
means you can miss errors or unwanted changes. #EuroTestConf

Replying to @coderbyheart

In order to teach others the way we work, observing your own actions and
behaviour is key. If you identify a pattern, document it and keep exercising it
in a structured way to get comfortable that you framed it right. #EuroTestConf
Embedded Photo

Replying to @coderbyheart

Tech does not have a specific culture, it has the culture of the people that
make up the community. If we want to understand cultural effects and problems,
we need to look at who the people in tech are. #EuroTestConf
Embedded Photo

Leaving #Valencia 🇪🇸 and now at the airport. I took this day to explore the city
a little bit, and here are some pictures! It's was a beautiful warm and sunny
day. Thank you @EuroTestingConf for
bringing me here! 😘

If there is one takeaway from #EuroTestConf it is #o11y - and not only because
@a_bangser is super great in explaining why it
matters. I will definitely investigate best practices and how to make the
software I create better observable! (Is that how to say it?) >

Replying to @coderbyheart

Also this error message is confusing. It kinda tells me that

  1. I have not provided a phone number
  2. the phone number is too long
  3. No hint where to actually provide one

I got a goosebump #ETCmoment when
@JokinAspiazu introduced his team and you
could tell that he put so much passion into growing a culture that focuses on
building strong and long-lasting relationships. This is what matters in our job
more than everything else.

Watching @alex_schl talk on heuristics and how
to turn hunches into something teachable reinforced my impression that we as an
industry suck at teaching but there is no easy solution - and I should spend
more time on this topic. #ETCmoment

On my way back to Norway 🇳🇴! I am so privileged that I can travel around #Europe
and I have awesome friends to meet everywhere ...
Embedded Photo

Here is a thing I just realized: #conflicts within teams are inevitable and I
should be paying much more attention to them then I did in the past, where I
mostly tried a lot to avoid them or quickly resolve them because I thought they
were not constructive. I am so wrong. >

Replying to @coderbyheart

Here is a typical cause for a conflict:

  1. I am experienced, so I want my team members to follow my lead.
  2. They should however question my decisions, because I could hold an outdated
    view. There is no way that a collaboration can work without a conflict, it's
    built in.
Replying to @coderbyheart

A system like a business who wants to continuosly improve will always have this
conflict: working based on past experiences is efficient, going a different
route costs more energy but can lead to innovation. Now I know that conflicts
are inevitable and a useful process.

Replying to @coderbyheart

The issue I see with my past handling of conflict was that I saw them as an
avoidable exception and they needed to be resolved as quickly as possible.
Instead I think I should spend much more time on using conflicts to advance the
"state of knowledge" within a project.

Replying to @coderbyheart

I never reseatched a lot about that aspect of my work and how to make conflict
resolution a learning experience. I know of teams that have written down
conflict resolution workflows, which is something that I imagine to be very
helpful, because it increases everyone's awareness.

Replying to @coderbyheart

It would be super interesting to know of you have this at your workplace and if
your receive regular training on conflict.

Is conflict institutionalised or ignored at your workplace?

What do you think about this topic?

Replying to @gazebo_c

@gazebo_c I now understand that this is not easy
for me because I have a reservation against conflicts which stem from the way I
grew up. I have the very negative experience that conflicts were always
destructive and violent. I try to prevent myself and others from experiencing
this again.

Replying to @coderbyheart

@gazebo_c I have the feeling that most have this
bias against conflict and never learned (and I mean actually receive formal
training in school, and during higher education) on how to turn this into
something useful.

Replying to @coderbyheart

@gazebo_c Nobody wants people screaming at each
other at work (I have had this in teams) that's why we have so many "leave your
emotions at home" workplace. To protect us. But this only happens because the
screamers have no other way of dealing with conflict.

Replying to @jayallanjethwa

@jayallanjethwa Yes, for detecting
misunderstandings I use principles from non-violent communication and 4 sides
model: first introspect to see if I am getting triggered and my feelings
overshadow actual meaning, and always double check for assumptions. Helps me a
lot to not let things boil.

Replying to @J7mbo

@J7mbo Yes, that's why it's not helpful if only
some individuals in a team are trained / aware of techniques. I think this
should be trained as part of onboarding new team members and constantly
revisited (like we do today with all technical processes anyway).

Replying to @J7mbo

@J7mbo Dealing with irrational conflicts is easy
for me, because I can identify them easily (lack of logical reasoning, use of
power language). Then I use learnings from Non Violent Communication Rosenberg
to figure out what the underlying needs are.

Replying to @coderbyheart

@J7mbo In my experience a conflict like this can be
defused by focusing the discussion on what I need and how the other people can
help me. I turn their position from an opponent into a mentor / teacher /
provider. This changes their perspective and helps to move the discussion.

Writing end-to-end tests is like tucking your code into a snuggly blanket and
whispering: "Everything will be fine!".