July 2019

344 tweets

My 🔥 take on interrupting developers: As a developer I want to be able to be
interrupted. This is what the agile manifesto rightfully points out: "The most
efficient and effective method of conveying information to and within a
development team is face-to-face conversation." >

Replying to @coderbyheart

It is very likely that I can create more value by answering a coworkers question
than by continuously coding for hours.

If I need uninterrupted work for hours, I have optimized the way I work for
the wrong metrics.

I use TDD and can interrupt my work within seconds. >

Replying to @coderbyheart

This way I can be responsive to external events/ I am often traveling and not
always in full control over my schedule. This habit enables me to be productive
within a few minutes everywhere I find time.

@jeremypulcifer Could be, it's often harder to "save state". I tend to be in a
different room for this (with a big whiteboard), where it's harder to get
interrupted.

Replying to @ralfw

@ralfw So which advice do you give your clients on
how to create a working environment where all contributors can get their work
done without interrupting others?

Replying to @brybryflys

@BryanCJSouza91 @Podio What does what I chose to
publish on my website have to do with that? #whataboutthism

Stay on topic please.

The problem is, as I tried to explain in the article, that Podio shares users
profile information without them consenting to it or explaining it.

Having worked for a while now on documenting software architecture using
https://c4model.com/ with @mirohq I know this work will be outdated quickly,
because it is always a manual process.

I have the feeling there is a marked for automated architecture documentation.
>

Replying to @coderbyheart

Something that lives in your IDE and uses e.g. "markers" that are manually added
to your doc-blocks to mark relations between components and generates diagrams
from that.

The important part is that a developer can evolve this as part of the regular
development process. >

Replying to @MeneDev

@MeneDev @MiroHQ
Interesting point. If the code drives the diagram it can't be used to check for
deviations from the plan. But how will you know what the code does looks like as
a diagram, if the diagram is manually created? That leaves room for translation
errors.

Replying to @MeneDev

@MeneDev @MiroHQ
For me the C4 diagrams serve to visualise facts, not as plans. They help to
understand what code does and how components relate. This helps others who don't
have the entire system in their head to make sense of the codebase. It's
basically a low-res rendering of the entire code.

Replying to @w3ltraumpirat

@w3ltraumpirat That's why I like C4,
because it gives you a "zoomable" view, from space to street level and each
level has distinct information. With @MiroHQ this
works very well even with large diagrams (because if easy pan and zoom) and I
can easy navigate to other levels through links.

Replying to @w3ltraumpirat

@w3ltraumpirat If we agree on the value of
these diagrams, then I see that we can make the maintanace easier by providing
better integration into IDEs and also use richer formats (interactive canvases
over pixels). Which would in turn make them more valuable, because they are up
to date.

Replying to @w3ltraumpirat

@w3ltraumpirat
@MiroHQ Yeah, that experience speaks to the
disconnect between the people who write the code and those who make the
documentation.

It should serve as a tool during development to facilitate understanding and
discover areas for improvement, not as a rigid, crystallized blueprint.

Replying to @jkriggins

@jkriggins There are great speakers on that
event, so I can definitely recommend to attend. I guess that the occasional
"Software craftsman" on the page is a slip, because
@codurance as the main organizer behind it
spent a lot of internal effort to use "software craftspeople" instead.

IMO @zoom_us still offers superior performance for video calls over
browser-based alternatives. So, if you are on a Mac you can (at least for now)
disable that your webcam gets turned on automatically, and if you want to keep
Zoom uninstalled, block the hidden webserver.

My top 3 developer skills:

Googling the Error Message Asking the painful questions Reviewing GitHub PRs on
my mobile phone

Every new project needs a vision,

aaaand a visual!

(I love the process of naming projects: you don't know how it's going to turn
out, but it will stick forever.)
Embedded Photo

Am I the only one who thinks stringified JSON in JSON is gross?

{ "key1": "{"v1":42,"foo":"bar"}", "key2": "{"v1":42,"foo":"bar"}" }

I am working on an IoT reference design project and we went through the hardware
design this week. I got some of my feedback incorporated. I guess after two
years working @NordicTweets I also became a
hardware designer!

Replying to @c089

@c089
@dan_abramov If a "security" feature lets me
install a backdoor it is broken. The registry should not distribute malicious
code in the first place (and that's what they do, they remove those packages).
The point here is that we can install packages which might have a security
implication. >

Replying to @coderbyheart

@c089
@dan_abramov And the package manager has no
way of telling how the code is actually used.

There I think we can have the developer "mute" specific vulnerabilities, like
you can do for linting.

If you look at the current warnings, a rough separation between dev and non-dev
will reduce noise.

Replying to @coderbyheart

It's great that AWS commoditizes this pattern, I use it a lot but depending on
the source there are slight variations. Having a public standard way to trigger
services will improve reusability and also makes it easier to truly isolate
them.

Replying to @RealIvanSanchez

@RealIvanSanchez I think this is the
point of pointing out crap: making known that there are better alternatives. If
that turns into a conflict, that means that you might need to explain the "why"
better. Sometimes people take a while or need a different medium to understand.

Two great chapter quotes from "dare to lead" by
@BreneBrown. Especially the chapters on values
resonated deeply with me. I wish this book would be read by more leaders who
want to build healthy, innovative organizations and set them up for sustainable
growth.

Hey #jscc19 if you are hesitant to present a session in front of the entire conf
during the marketplace, I am offering to be your session buddy! I can present
the topic for you, or with you. Just reach out!

I did a session at #jscc19 on how to become a better collaborator outside
because we have such fantastic weather.

Here are our findings (and faces):

I started #jscc19 today with an AMA session on #graphql.

You should try it, because it solves so many headaches for you and enables
better separation between clients and backends. Makes it so much less hassle to
providing great, flexible APIs for your clients.
Embedded Photo

My second #jscc19 today session overran a little because I got carried away
talking about building serverless, hexagonal architecturs on AWS. (Sorry
@cowglow for hijacking your room!).

It's hard to put all of that in a concise resource, that's why you need to start
here: >

Big shout out to all the awesome lovely humans and companies who made #jscc19
@JSCraftCamp a wonderful thing!
💯👏🔥💯👏🔥💯👏🔥💯👏🔥 To take part in an event where everyone gives their
best to build a fantastic learning and sharing environment is magical.

Replying to @coderbyheart

"The company asked employees to describe the people they interacted with at
work, and to characterize the nature of those relationships. Who did workers
rely on? Who did they need more access to in order to get their work done? Who
did they find inspiring and energizing?"

Tries Excel online for the first time. Let's rename the spreadsheet.

"You entered a name we can't use. Please try a different name, and avoid
characters like these: ?*/"

#codefreeze in one tweet? Here you go:

Family friendly Vegan Cabins Freeze off your ass with friends Saunas Board Games
Auroras Someone will explain Monads Pan cakes over open fire Someone will
explain Monads, again Reindeer Sledge ride Freeze off your face with more
friends /status/1154522504347693057

So, the transcript feature for YouTube videos is amazing for recorded meetings
about our architecture. So easy to find a certain topic in a longer meeting:
Embedded Photo

#Bunker views of #Trondheim 🇳🇴. Basically all hills around the city were used by
the Germans during WW2 AS defensive posts and many of the concrete structures
are still here.

#AnotherLife is just terrible. Dialogue. Fighting. Lighting. Set design.
Effects. Everything.

Or am I just spoiled by what #TheExpanse did?

Replying to @coderbyheart

@UberGeekGirl
@NativeWired Therefore it's important to not
be easily satisfied with the most obvious answer but be persistent to discover
all relevant information. This persistence takes courage and energy to make it
properly and without hurting people. But this energy invest is worth it.