"The future of developer experience that you can start using right now: devcontainers"
@avdi gets specific at #QConPlus
@avdi Why are containers better for development than other forms of virtualization?
Because they aren't virtualization.

In the right circumstances, development can proceed at native speeds on ordinary computers.

@avdi #QConPlus
@avdi A devcontainer is like the ramen noodles of onboarding to a project: just add hot water and you're ready to go.

@avdi #QConPlus
A typical onboarding experience: documentation goose-chases. (Read this one, it's hilarious)
A devcontainer is executable documentation for all the installations, libraries, tools, etc etc that are needed for day-to-day development on the project. @avdi #QConPlus
Does your app need a Redis instance, and a particular version of Postgres with extensions installed?
Put them in the devcontainer! @avdi #QConPlus

me: Please don't make me install that on my laptop.
Besides, some other project needs a different version.
@avdi Defeat (the need for) version managers!

"I haven't had to touch a language version manager since I started using devcontainers, and let me tell you, I do not miss it." @avdi #QConPlus
@avdi Coud-based development is a thing now, and it's only going to be more of a thing.

Devcontainers work locally AND in the cloud.
@avdi #QConPlus
@avdi If you want people to contribute to your OSS, give them a devcontainer that runs the tests locally immediately.
@avdi #QConPlus
@avdi DO NOT try to use your deployment container as your devcontainer. They have very different needs!
Deployment container: thin, locked-down.
Devcontainer: full of tools, changes often, ports open.
@avdi #QConPlus
@avdi "There are certain techs that when they get adopted
change the development state-of-the-art.
dvcs
ThenvCI and CD

In five years, we'll laugh about how it was normal to spend days getting our laptop set up before we could make our first commit to a project."
@avdi #QConPlus
@avdi for more, see his course: graceful.dev/devcontainers
(I helped with this one)

• • •

Missing some Tweet in this thread? You can try to force a refresh
 

Keep Current with Jessica Joy Kerr

Jessica Joy Kerr Profile picture

Stay in touch and get notified when new unrolls are available from this author!

Read all threads

This Thread may be Removed Anytime!

PDF

Twitter may remove this content at anytime! Save it as PDF for later use!

Try unrolling a thread yourself!

how to unroll video
  1. Follow @ThreadReaderApp to mention us!

  2. From a Twitter thread mention us with a keyword "unroll"
@threadreaderapp unroll

Practice here first or read more on our help page!

More from @jessitron

9 Nov
What matters in developer experience varies as your business grows. @PhillipaAvery from @netflix #QConPlus Startup, Growth, maturity, and renewal-or-decline pictured a
@PhillipaAvery @netflix In the Startup and Growth phases, it's all about velocity. In Maturity, it gets interesting. We need stability without killing velocity.
@PhillipaAvery @netflix In renewal/decline, parts of the software need stability while other parts need velocity.
(I missed the cool picture, it was pretty great)
Read 7 tweets
9 Nov
Today at #QConPlus , @girba shows graphs that reveal hidden dependencies in code.
Somehow this code reveals its own properties and relationships in custom-made developer experiences
Glamourous toolkit: gtoolkit.com
"empowering developers to create their own tools for every one of their problems" @girba #QConPlus

This is a superpower of developers: we can craft our own work environment.
For example, when viewing build logs: as you find a new problem, add some custom highlighting so that next time it jumps right out at you.
Read 12 tweets
25 Aug
Anyone who says to you “this architecture is universally applicable”
is probably selling something,
and not doing a very good job at selling something.

@tlberglund #DevoxxPL
Don’t use event-driven architecture for a small system or for an exploratory spike.
“learn what you’re trying to do before you elaborate your architecture.”
@tlberglund #DevoxxPL
Databases don’t go away when you’re using events.

If nothing else: when you need lookup by multiple keys, databases are necessary views on the system of record (which is the event log).

@tlberglund #DevoxxPL
Read 7 tweets
19 Jan 20
"Work capacity is not the same as productivity."

@coda lays down the maths on limits of organizational growth and how to overcome them.

codahale.com/work-is-work/
Adding people scales at best linearly upward, at worst geometrically _downward_.

Two things you must constantly seek in order to get more done with more people:
1. "Constant pursuit of force multipliers"

Instead of adding more people to the same task, change the task to be done.
Develop more-complex internal structures, such as tooling teams that facilitate many development teams.
Read 10 tweets
3 Jan 20
“The similarity of team mental models is a good predictor of team performance”

@TeamTopologies
Optimize for the team, and the benefits compound in a positive way.

@TeamTopologies

Optimize for the task and the costs compound until we are all stuck in mud.
See the team as the fundamental unit of delivery.

Build an API surrounding each team [to other teams and the wider organization.]

@TeamTopologies
Read 15 tweets
30 Dec 19
It's a holiday, I get to do what I want, so let's see what else is in the CSS 2.1 Spec!

It's time for backgrounds and fonts...
background-color is a friendly property. Use it even when you also specify the image, in case the image doesn't load/hasn't loaded.
Defaults to 'transparent' so the stuff behind it shows through.

The background fills the margins and the borders. (It shows under dashed borders)
background-image: url("where-is-it.jpg")
makes a picture show.

How big the picture is depends on the intrinsic properties of the image (width, height, ratio). Anybody know how to find out whether an image file has these?
Read 16 tweets

Did Thread Reader help you today?

Support us! We are indie developers!


This site is made by just two indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member ($3/month or $30/year) and get exclusive features!

Become Premium

Too expensive? Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal

Thank you for your support!

Follow Us on Twitter!

:(