Diverse workplaces, in my observation, also tend to be more inclusive and equitable; nicer places to work at, of which you can be proud and where you feel a strong sense of belonging, whatever your background.
So how do you hire more diverse teams? In this issue, I hand it over to managers in tech who have done this successfully, to hear it straight from them.
This is a list of recurring anti-patterns that I see when I help folks with their container build pipelines, and suggestions to avoid them or refactor them into something better.
Many of them are harmless when used separately. But when combined, they can easily compromise your productivity and waste time and resources, as we will see.
It is well known that the productivity of a team does not scale linearly with team size. Going from a team of 5 to a team of 10 does not double the output, despite doubling of the team size. The goal of this post is to answer why that is, using math.
In this issue we cover:
- Common incident handling practices across the industry. What are the trends on how tech companies approach incidents today?
- Incident review best practices. What are processes, tools and approaches that we can point to as sensible practices?
- Incident review practices of tomorrow. A few teams and companies have moved beyond what we’d call the best practices of today. What is their approach and how is it working?
- What tech can learn from incident handling in other industries. Incidents are not unique to tech; fields like healthcare, the military and many others have a long history of efficiently dealing with incidents. What can we learn from them?
- Incident review/postmortem examples and templates.
I've had the opportunity lately to speak to a lot of DevOps engineers at startups around Europe. Some come from a more traditional infrastructure background, beginning their careers in network administration or system administration. Most are coming from either frontend or backend teams, choosing to focus more on the infrastructure work (which hey, that's great, different perspectives are always appreciated).
However, a pretty alarming trend has emerged through these conversations. They seem to start with the existing sys admin or devops person leaving and suddenly they are dropped into the role with almost no experience or training. Left to their own devices with root access to the AWS account, they often have no idea what to even start. Learning on the job is one thing, but being responsible for the critical functioning of an entire companies infrastructure with no time to ramp up is crazy and frankly terrifying.
Andrew Clay Shafer walks through the progression of ‘Infrastructure as Code' in theory and practice, some problems these developments solved and also some problems they revealed.
Writing ability might be a baseline requirement for many software development jobs, but it’s not a skill that developers typically think about improving for their careers. While it’s tempting to invest all your spare time learning new frameworks and languages, improving your writing might actually be a better way to advance your career and stand out in tech.
For this piece, I spoke to eight software developers to learn more about how writing has helped them advance their careers. I then distilled their stories into five specific benefits that writing has given them throughout their careers and added a bit of my own experience as well.
SQLAlchemy is confusing. There’s a lot of “magic” that happens under the hood. There’s a spider web system of sessions, connections, engines, and models. Should I autocommit? What’s the difference between flushing and committing? How do I create the database in the first place?
A few days ago, I bit the bullet and sledged through the SQLAlchemy docs. I ran some experiments and did a lot of googling, and finally wrapped my head around SQLAlchemy (I think). In this article, I document my understanding of SQLAlchemy; mostly for my future self when I inevitably forget how it works.
When we originally started this journey our primary goal was to provide a good experience for users who wanted to use type checking tools with urllib3. We weren’t expecting to find and fix many defects.
After all, urllib3 has over 1800 test cases, 100% test line coverage, and is likely some of the most pervasive third-party Python code in the solar system.
Despite all of the above, the inclusion of type checking to our CI has yielded many improvements to our code that likely wouldn't have been discovered otherwise. For this reason we recommend projects evaluate adding type hints and strict type checking to their development workflow instead of relying on testing alone.
Ship/Show/Ask is a branching strategy that combines the features of Pull Requests with the ability to keep shipping changes. Changes are categorized as either Ship (merge into mainline without review), Show (open a pull request for review, but merge into mainline immediately), or Ask (open a pull request for discussion before merging).
I will present you in this article mostly my journey on the server side from PHP to Node.js, and won’t talk about Webpack, React and other JS frontend technologies.
Create flexible REST endpoints and controllers from Sequelize models in your Express or Restify app.
Node.js ecosystem is one of the fastest growing and it is now possible to interact with the Elasticsearch API using a Node.js client.