Welcome to the InfoQ Software Architects’ Newsletter! Each month, we bring you essential news and experience from industry peers on emerging patterns and technologies.
This month, we focus on the topic of "Developer Experience and Tooling". The core topics of developer experience (DevEx) currently span across the entire "diffusion of innovation" graph in this year's Architecture and Design InfoQ Trends Report. We see DevEx and the creation and use of tooling as vital for supporting a range of activities for both architects and developers, from "designing for portability/security/resilience", etc., to the use of workflow and decision automation platforms, and to correctly understanding and operating microservices.
Key challenges remain in this space, including being conscious about curating an effective developer experience, the build vs. buy decision with tooling, and how industry standards can influence your day-to-day code, ship, and run workflows.
Moldable Development: How Custom Tools Make Systems Explainable
Developers spend more than half their time reading code in order to understand what a given system does, but this activity is rarely discussed and thus hasn’t been optimized.
Moldable Development is a way of programming through which we construct custom tools for every software development problem, including understanding systems. Glamorous Toolkit is a moldable development environment that can be used to mold custom tools.
A related podcast, "Tudor Gîrba on How Moldable Development Offers a Novel Way to Reason about Systems", and a QCon Plus presentation recording, "Moldable Development by Example", are available on InfoQ.
Software Architecture and Design InfoQ Trends Report—April 2022
Each year, InfoQ editors discuss what they’ve been observing across the entire software development landscape, and create several trends reports, each with its own graph of the adoption curve. In the 2022 Architecture and Design InfoQ Trend Report, a number of interesting takeaways related to developer experience emerged:
- Software architects are adapting their feedback loops, which can be challenging when dealing with colleagues across many time zones or other remote work constraints. Good architects are learning from distributed working how to design better-distributed systems.
- One positive benefit of the pandemic and the shift to remote and hybrid work is increased asynchronous communication, which can manifest as Architecture Decision Records (ADRs).
- "Data plus architecture" is the idea that, more frequently, software architecture is adapting to consider data. This holistically includes data quality, data pipelines, and traceability to understand how data influenced decisions and AI models.
A podcast containing highlights of related discussions can be found on InfoQ and your favorite podcasting platform: "InfoQ Software Architecture & Design Trends 2022".
Making On-Call Less Painful for Developers by Using High-Quality Alerts
On-call is an increasing reality for developers. Improving alerts to reduce noise, automation, and removing warnings can help to make on-call work more humanely. Mario Fernández, staff engineer at Wayfair, shared his experiences from being on-call as a developer at OOP 2022.
Recruitment, Retention, Finding the Right Job, Onboarding People in a Remote Environment
In this InfoQ Culture and Method podcast Shane Hastie, Lead Editor for Culture & Methods, first spoke to Chase Kocher of aim4hire about improving the recruitment process, finding the right people, and finding the right job as a candidate.
He then sat down with Kate Wardin, Engineering Manager for Developer Productivity at Netflix, and discussed the challenges and opportunities when onboarding someone new in a remote environment and building a developer experience that creates joy.
Scaling and Automating Microservice Testing at Lyft
Lyft used cloud-based isolated environments for several purposes, including end-to-end testing. As the number of microservices increased, tests using these environments became harder to scale and lost value. Recent articles describe how Lyft shifted to testing using request isolation in a shared staging environment and used acceptance tests to gate production deployments.
Lyft built a Docker-based container orchestration environment that engineers could use for testing. It consisted of some tooling managing a local virtual machine and its configuration, including database seeding, package and image download, and installation. Initially meant for local use, this environment moved to the cloud and was called Onebox.
Engineers could use Onebox to run the service they wanted to test together with its dependencies and related data stores. A miniature version of the Lyft systems, in a nutshell. Onebox eventually reached a point where it could not scale anymore.
Lyft also has a shared staging environment, which is production-like in terms of (simulated) traffic and service levels. Because of its characteristics, teams were already deploying service feature branches there to get feedback based on realistic data. It was a good candidate for replacing Onebox in testing new features, but there was no service isolation: an unstable new feature could cause problems for the entire staging environment.
The solution was to implement "staging overrides" in the staging environment, which "fundamentally shifted [Lyft's] approach for the isolation model: instead of providing fully isolated environments, [they] isolated requests within a shared environment".
Instead of isolating entire services, the new approach isolates requests.
Using this technique, engineers can deploy and start service instances that do not participate in Lyft's service mesh and therefore do not interrupt regular traffic. They are called "offloaded deployments". When engineers wish to test the new feature, they add specific headers to the request that cause it to be routed through the new instance.
This content is an excerpt from a recent InfoQ article written by Vasco Veloso "Scaling and Automating Microservice Testing at Lyft".
To get notifications when InfoQ publishes content on these topics, follow "developer experience", "tools", and "automation" on InfoQ.
Missed a newsletter? You can find all of the previous issues on InfoQ.
JDConf is a free, virtual,
Java focused conference where developers will come together to share interesting topics and
stay engaged. Some of this year's sessions will cover Cloud Native Java, JVM Configuration,
GraalVM, Spring Boot, and Java Performance in Kubernetes. No registration required: Save the Date.
For practitioners by practitioners
QCon Plus Software Development Conference: Last chance to save your spot and learn from practitioners driving innovation & change.
QCon Plus opens online in less than two weeks (May 10th) and this is the last chance for you to register and experience over 60+ technical talks with Q&As from leading early adopter companies, actionable insights from world-class speakers to help you adopt the right technologies & practice, and on-demand access to all sessions for 3 months so you can fit around your schedule. Register Now!
QCon San Francisco (Oct 24-28): Real-world advice you can implement! Register now with Early Bird prices!
QCon will be back in San Francisco this October 24-28. Don’t miss the chance to learn from software leaders at early adopter companies. Save valuable time without wasting resources. Get the assurance you are adopting the right technologies and skills. Register before May 2 to save $900 from the full-price tickets (that's almost a 40% saving).
InfoQ Live June 21st: How do traditional approaches scale in the Cloud? What do modern solutions look like both for platforms and infrastructure?
We've brought together world-class Cloud professionals to provide technical guidance and help you prepare for the Cloud, especially in Serverless architectures. Learn how cloud architectures help organizations achieve cost savings, improve reliability, and deliver value to customers quicker. Join us on Tuesday, June 21st 2022 (Tickets only $19.95)
Senior software developers rely on the InfoQ community to keep ahead of the adoption curve. One of the main reasons software architects and engineers tell us they keep coming back to InfoQ is because they trust the information provided and selected by their peers.
We’ve been helping software development teams adopt new technologies and practices for over 15 years through InfoQ articles, news items, podcasts, tech talks, trends reports, and QCon software development conferences.
We hope you find this newsletter useful. If not, you can unsubscribe using the link below.
Forwarded email? Subscribe and get your own copy.