<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>sebiwi</title><link>https://sebiwi.github.io/tags/architecture/</link><description>Recent content from sebiwi</description><generator>Hugo -- gohugo.io</generator><language>en-us</language><managingEditor>contact.sebiwi@gmail.com (sebiwi)</managingEditor><webMaster>contact.sebiwi@gmail.com (sebiwi)</webMaster><lastBuildDate>Thu, 21 Sep 2017 20:19:02 +0100</lastBuildDate><atom:link href="https://sebiwi.github.io/tags/architecture/index.xml" rel="self" type="application/rss+xml"/><item><title>You are not your code</title><link>https://sebiwi.github.io/comics/you-are-not-your-code/</link><pubDate>Mon, 11 Nov 2019 07:19:02 +0100</pubDate><author>sebiwi</author><guid>https://sebiwi.github.io/comics/you-are-not-your-code/</guid><description>You are not your code. This code looks like it's been written by an imbecil. That remark is about your code, not about you.</description><content:encoded>&lt;img src="https://sebiwi.github.io/images/comics/2019-11-11-you-are-not-your-code.jpg" /&gt;</content:encoded></item><item><title>DST</title><link>https://sebiwi.github.io/comics/dst/</link><pubDate>Mon, 04 Nov 2019 07:19:02 +0100</pubDate><author>sebiwi</author><guid>https://sebiwi.github.io/comics/dst/</guid><description>DST makes my head spin and I often wonder about the reasons we're still using it. It must be hard to tell people that all of their suffering was for nothing.</description><content:encoded>&lt;img src="https://sebiwi.github.io/images/comics/2019-11-04-dst.jpg" /&gt;</content:encoded></item><item><title>ext5</title><link>https://sebiwi.github.io/comics/ext5/</link><pubDate>Mon, 28 Oct 2019 07:19:02 +0100</pubDate><author>sebiwi</author><guid>https://sebiwi.github.io/comics/ext5/</guid><description>ext5 will be directly integrated into systemd.</description><content:encoded>&lt;img src="https://sebiwi.github.io/images/comics/2019-10-28-ext5.jpg" /&gt;</content:encoded></item><item><title>KPI</title><link>https://sebiwi.github.io/comics/kpi/</link><pubDate>Mon, 21 Oct 2019 07:19:02 +0100</pubDate><author>sebiwi</author><guid>https://sebiwi.github.io/comics/kpi/</guid><description>If you want to generate some bugs, always remember to fix your deadline.</description><content:encoded>&lt;img src="https://sebiwi.github.io/images/comics/2019-10-21-kpi.jpg" /&gt;</content:encoded></item><item><title>Libra</title><link>https://sebiwi.github.io/comics/libra/</link><pubDate>Mon, 14 Oct 2019 07:19:02 +0100</pubDate><author>sebiwi</author><guid>https://sebiwi.github.io/comics/libra/</guid><description>If I wanted my financial transaction information to be used for political advertisement, I'd give it to Cambridge Analytica myself.</description><content:encoded>&lt;img src="https://sebiwi.github.io/images/comics/2019-10-14-libra.jpg" /&gt;</content:encoded></item><item><title>The Powershell diaries: part 1</title><link>https://sebiwi.github.io/comics/the-powershell-diaries-part-1/</link><pubDate>Mon, 07 Oct 2019 07:19:02 +0100</pubDate><author>sebiwi</author><guid>https://sebiwi.github.io/comics/the-powershell-diaries-part-1/</guid><description>I spent 15 minutes trying to figure out how to get my Powershell version. Turns out the syntax is harder than quitting vim.</description><content:encoded>&lt;img src="https://sebiwi.github.io/images/comics/2019-10-07-the-powershell-diaries-part-1.jpg" /&gt;</content:encoded></item><item><title>42</title><link>https://sebiwi.github.io/comics/42/</link><pubDate>Mon, 30 Sep 2019 07:19:02 +0100</pubDate><author>sebiwi</author><guid>https://sebiwi.github.io/comics/42/</guid><description>If she'd written the Hitchhiker's guide to the Galaxy, the Answer to the Ultimate Question of Life, the Universe, and Everything would be vim.</description><content:encoded>&lt;img src="https://sebiwi.github.io/images/comics/2019-09-30-42.jpg" /&gt;</content:encoded></item><item><title>Disagreement</title><link>https://sebiwi.github.io/comics/disagreement/</link><pubDate>Mon, 23 Sep 2019 07:19:02 +0100</pubDate><author>sebiwi</author><guid>https://sebiwi.github.io/comics/disagreement/</guid><description>Person 1: Truth comes from disagreement, so may I suggest..? Person 2: No. Person 1: Disagreement should be constructive. Person 2: I disagree.</description><content:encoded>&lt;img src="https://sebiwi.github.io/images/comics/2019-09-23-disagreement.jpg" /&gt;</content:encoded></item><item><title>Technical</title><link>https://sebiwi.github.io/comics/technical/</link><pubDate>Mon, 16 Sep 2019 07:19:02 +0100</pubDate><author>sebiwi</author><guid>https://sebiwi.github.io/comics/technical/</guid><description>Often, people think all of their problems are technical. Most of the time, they're not.</description><content:encoded>&lt;img src="https://sebiwi.github.io/images/comics/2019-09-16-technical.jpg" /&gt;</content:encoded></item><item><title>Planning</title><link>https://sebiwi.github.io/comics/planning/</link><pubDate>Mon, 25 Mar 2019 07:19:02 +0100</pubDate><author>sebiwi</author><guid>https://sebiwi.github.io/comics/planning/</guid><description>I love planning meetings. Specially when we're supposed to plan every single aspect of a product's lifetime for the next 25 years</description><content:encoded>&lt;img src="https://sebiwi.github.io/images/comics/2019-03-25-planning.jpg" /&gt;</content:encoded></item><item><title>Regex</title><link>https://sebiwi.github.io/comics/regex/</link><pubDate>Mon, 18 Mar 2019 07:19:02 +0100</pubDate><author>sebiwi</author><guid>https://sebiwi.github.io/comics/regex/</guid><description>I've heard people trying to evaluate performance by counting lines of code. That's attributing the same value to a variable assignment and a regular expression.</description><content:encoded>&lt;img src="https://sebiwi.github.io/images/comics/2019-03-18-regex.jpg" /&gt;</content:encoded></item><item><title>Datalake</title><link>https://sebiwi.github.io/comics/datalake/</link><pubDate>Mon, 11 Mar 2019 07:19:02 +0100</pubDate><author>sebiwi</author><guid>https://sebiwi.github.io/comics/datalake/</guid><description>Everyone talks about datalakes, no one talks about quality data. So almost every datalake looks like a shitpile.</description><content:encoded>&lt;img src="https://sebiwi.github.io/images/comics/2019-03-11-datalake.jpg" /&gt;</content:encoded></item><item><title>OOM</title><link>https://sebiwi.github.io/comics/oom/</link><pubDate>Mon, 04 Mar 2019 07:19:02 +0100</pubDate><author>sebiwi</author><guid>https://sebiwi.github.io/comics/oom/</guid><description>The OOM killer is supposed to kill processes based on an OOM score. In reality, it just kills the Java application.</description><content:encoded>&lt;img src="https://sebiwi.github.io/images/comics/2019-03-04-OOM.jpg" /&gt;</content:encoded></item><item><title>Agile says</title><link>https://sebiwi.github.io/comics/agile-says/</link><pubDate>Mon, 28 Jan 2019 07:19:02 +0100</pubDate><author>sebiwi</author><guid>https://sebiwi.github.io/comics/agile-says/</guid><description>It's funny to hear people say 'Agile says'. It's like there are rules to follow.</description><content:encoded>&lt;img src="https://sebiwi.github.io/images/comics/2019-01-28-agile-says.jpg" /&gt;</content:encoded></item><item><title>Status feature</title><link>https://sebiwi.github.io/comics/status-feature/</link><pubDate>Mon, 21 Jan 2019 07:19:02 +0100</pubDate><author>sebiwi</author><guid>https://sebiwi.github.io/comics/status-feature/</guid><description>Why did they add the status feature to GitHub? What is this, Facebook?</description><content:encoded>&lt;img src="https://sebiwi.github.io/images/comics/2019-01-21-status-feature.jpg" /&gt;</content:encoded></item><item><title>On Operations, DevOps and soft skills</title><link>https://sebiwi.github.io/blog/on-operations-devops-and-soft-skills/</link><pubDate>Thu, 17 Jan 2019 07:19:02 +0100</pubDate><author>sebiwi</author><guid>https://sebiwi.github.io/blog/on-operations-devops-and-soft-skills/</guid><description>Lessons from being the ops person embedded in a dev team, why DevOps is as much about communication and soft skills as tooling.</description><content:encoded>&lt;h2 id="lets-talk-about-communication-for-a-bit"&gt;Let’s talk about communication for a bit&lt;/h2&gt;
&lt;p&gt;One of the most interesting roles I’ve had to fulfill the last couple of years
has been the “Operations guy working as a part of a Development team”. This is
a fascinating situation to find yourself in. Allow me to elaborate.&lt;/p&gt;
&lt;p&gt;Historically, Operations teams have been isolated from Development teams. &lt;strong&gt;Two
separate organizational entities&lt;/strong&gt;. The reasons for this were manifold:
Operations people were a scarce resource, they needed to accommodate vast
amounts of work for numerous Development teams (server provisioning for team A,
middleware configuration for team B, application deployment for team C), it
made sense for management to group people into teams using their skillset as
sorting criteria&amp;hellip; you name it. In the end, most interactions between
Development teams and Operation teams happened through ticketing systems.&lt;/p&gt;


&lt;figure&gt;
 












 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 &lt;img src="https://sebiwi.github.io/images/soft-skills/effective-communication_hu_a182460679167c81.webp" srcset="https://sebiwi.github.io/images/soft-skills/effective-communication_hu_5bd9c7b7cbc82a9e.webp 480w, https://sebiwi.github.io/images/soft-skills/effective-communication_hu_417f41701efb82a4.webp 960w, https://sebiwi.github.io/images/soft-skills/effective-communication_hu_a182460679167c81.webp 1440w" sizes="(max-width: 880px) 92vw, 880px" width="1440" height="570" alt="Effective communication" loading="lazy" decoding="async"&gt;


 
 &lt;figcaption&gt;Effective communication&lt;/figcaption&gt;
 
&lt;/figure&gt;

&lt;p&gt;These workflows created and fueled most of the &lt;strong&gt;communication issues&lt;/strong&gt; within
organizations, and by doing so, created &lt;strong&gt;gargantuan bottlenecks&lt;/strong&gt; on the
development/deployment pipelines. Applications and services took months or even
years to ship into production. This, needless to say, was frustrating for
everyone involved in the process. It also had a huge impact on Time to Market.
No one was happy.&lt;/p&gt;
&lt;p&gt;While these situations still occur nowadays, the incorporation of Agile
approaches into Software Development is becoming increasingly common, and its
impact on Operations is clearly visible from an organisational point of view.
It is not rare, for example, to see &lt;strong&gt;Feature Teams within an organization.&lt;/strong&gt;
These are &lt;strong&gt;cross-functional&lt;/strong&gt;, which means that they tend to incorporate many
different profiles into their ranks. From conception, design, and
implementation, up to deployment, product owners and designers will be working
hand in hand with developers. This most likely means that an &lt;strong&gt;OPS will also be a
part of the team.&lt;/strong&gt;&lt;/p&gt;
&lt;h2 id="how-is-that-a-game-changer"&gt;How is that a game changer?&lt;/h2&gt;
&lt;p&gt;When working as an OPS in a Development, Feature or Product team, &lt;strong&gt;most of your
responsibilities will shift&lt;/strong&gt;, whether you realize it or not. It will not be
about taking team X’s artifact and deploying it on servers A, B and C anymore.
It is &lt;strong&gt;your team now&lt;/strong&gt;, and therefore, &lt;strong&gt;your artifact and your servers.&lt;/strong&gt; You will
most likely have to deal with a lot of things you are not used to dealing with.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;This is a good thing. Embrace it.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;It is an opportunity. If you do things right, you will be able to:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Use and apply your knowledge regarding technical architecture and systems. This
may concern not only the application itself, but also every service or platform
involved.&lt;/li&gt;
&lt;li&gt;Facilitate discussions and answer questions regarding your areas of
expertise. Once again, this not only includes the application, but also the
components around it.&lt;/li&gt;
&lt;li&gt;Show people what you do everyday, and how you do it.
What’s the point of your work? Is it actually necessary? Isn’t it something
that needs to be done only at the beginning of an application’s lifetime?&lt;/li&gt;
&lt;li&gt;Improve the team’s dynamics: help them grow, and help them care. Don’t hold
back: from good development practices applied to Operations, to workshops on
existing processes.&lt;/li&gt;
&lt;li&gt;Learn, to a vast extent.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Under this light, the role of an OPS inside a development team is virtually
Tech Leading, focusing on operational aspects. In short, it’s mostly about soft
skills (even though technical skills are still required), about the ability to
express ideas, vulgarize subjects, solve issues, analyze and solve problems,
and share knowledge with your team. That’s a tremendous change. &lt;strong&gt;And the basic
ingredient for all of these is kindness.&lt;/strong&gt;&lt;/p&gt;
&lt;h2 id="on-technical-architecture"&gt;On technical architecture&lt;/h2&gt;
&lt;p&gt;When working on an organizational setup like this, there is a high chance that you
will be the most technical person on the team. When I say technical, I mean
with the biggest background on Linux/Windows systems, middleware, networks and
virtualisation. &lt;strong&gt;If not, that’s great news.&lt;/strong&gt; It means that you will have people
with whom you will be able to discuss all of these subjects. Someone who will
be able to challenge you, or remind you what’s important when you’re having
tunnel vision. In any case, you will most likely have to propose solutions to
many different issues.&lt;/p&gt;
&lt;p&gt;At some point you will have to deploy your application and its dependencies
somewhere. That’s where your knowledge on the subject comes in. Web servers,
application servers, reverse proxies, caching systems, databases, failover,
high availability, disaster recovery&amp;hellip; These are all things you will have to
analyze. Should you use nginx or Apache? PostgreSQL or MySQL? The answer is
always the same: &lt;strong&gt;it all depends on your needs&lt;/strong&gt;. Try to analyze what you need
before proposing a solution. Leverage your experience when doing so.&lt;/p&gt;
&lt;p&gt;Be cautious: &lt;strong&gt;this does not mean that you need to make all of these decisions
all by yourself.&lt;/strong&gt; There are trade-offs for every single choice you will make.
These trade-offs will not only impact the functioning of the application
itself, but also its development. This means that their opinion on the matter
is paramount. Your role is to explain the different options to the people that
are concerned by the choice. Remember, consensus is key. Embrace challenge too.
For good ideas, you need human interaction, healthy conflicts, argument and
debate. When doing so, remember to be kind. Don’t impose your opinions on
everyone else. Be constructive. And this is not specific for this section.
There should be an acronym for this, &lt;strong&gt;RTBK&lt;/strong&gt;. It should be used way more often
than &lt;a href="https://en.wikipedia.org/wiki/RTFM"&gt;RTFM&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;This also applies to Continuous Integration and Continuous Deployment. What is
the simplest workflow in order to take the application’s source code, shape it
into the actual application and make it accessible to users? This has
tremendous value: it will allow you to automate time-consuming, repetitive
tasks, creating a safe automated pipeline, which will in turn allow everyone to
concentrate on delivering value. A piece of advice: start small, and work your
way up to something that suits your needs. “Simple is better” should be your
mantra. Once again, apply the knowledge acquired from previous experiences when
doing so.&lt;/p&gt;


&lt;figure&gt;
 












 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 &lt;img src="https://sebiwi.github.io/images/comics/2018-04-09-dear-jenkins_hu_806733c3c63d082e.webp" srcset="https://sebiwi.github.io/images/comics/2018-04-09-dear-jenkins_hu_2068d4103516a6d2.webp 480w, https://sebiwi.github.io/images/comics/2018-04-09-dear-jenkins_hu_806733c3c63d082e.webp 761w" sizes="(max-width: 880px) 92vw, 880px" width="761" height="570" alt="Why do you keep using Jenkins if you hate it?" loading="lazy" decoding="async"&gt;


 
 &lt;figcaption&gt;Improve, based on your experiences&lt;/figcaption&gt;
 
&lt;/figure&gt;

&lt;h2 id="on-facilitating-interactions"&gt;On facilitating interactions&lt;/h2&gt;
&lt;p&gt;More often than not, people on your team will have questions regarding your
field of expertise. Discussions will be held on subjects you know in depth. A
lot of terms will be thrown around: availability, redundancy, stress testing,
building and deployment. Once again, &lt;strong&gt;if they know everything there is to know
about these subjects, that’s a good thing too&lt;/strong&gt;. Either way, you might want to
step in and catalyze the discussion.&lt;/p&gt;


&lt;figure&gt;
 












 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 &lt;img src="https://sebiwi.github.io/images/comics/2018-01-29-communication_hu_135bb762f3aa6f26.webp" srcset="https://sebiwi.github.io/images/comics/2018-01-29-communication_hu_c7741e234da2e51e.webp 480w, https://sebiwi.github.io/images/comics/2018-01-29-communication_hu_65cc922aadbf2a18.webp 960w, https://sebiwi.github.io/images/comics/2018-01-29-communication_hu_135bb762f3aa6f26.webp 1221w" sizes="(max-width: 880px) 92vw, 880px" width="1221" height="449" alt="Individuals and interactions overs processes and tools" loading="lazy" decoding="async"&gt;


 
 &lt;figcaption&gt;Individuals and interactions over processes and tools&lt;/figcaption&gt;
 
&lt;/figure&gt;

&lt;p&gt;Before doing so, &lt;strong&gt;remember to be kind&lt;/strong&gt;. It is a key aspect in human interaction,
and it will encourage participation, collaboration, and innovation.&lt;/p&gt;
&lt;p&gt;First off, explain the meaning of every concept being discussed to everyone. &lt;strong&gt;It
is crucial for every single person on the team to share the same language in
order to have effective interactions&lt;/strong&gt;. When having discussions about the
“bastion”, one person may be talking about the web interface of a Cloud
provider, whereas another one might be talking about a Linux server.&lt;/p&gt;
&lt;p&gt;Be clear with your communication. &lt;strong&gt;More specifically, work on your
vulgarization. I can’t stress this enough&lt;/strong&gt;. The ability to express complex
concepts in a simple fashion is priceless. It’s one of the most valuable skills
you can learn. They don’t necessarily need to know every single detail on the
subject. It is not the same, saying “there was a problem with the application’s
configuration” than “the application crashed because we forgot to set the
heap’s maximum size”. A fundamental part of the vulgarization exercise is to be
capable of discerning the appropriate level of technical depth for each person.&lt;/p&gt;
&lt;p&gt;Sometimes, these discussions will start to consume the time allocated for other
purposes: stand up meetings, retrospectives, backlog grooming or others. While
it’s good to be able to facilitate these discussions, it is also important to
find the right instances to do so. If they do not exist, you can propose new
ones yourself. Or even better, just make yourself available in order to discuss
these subjects. Individuals and interactions over processes and tools.&lt;/p&gt;
&lt;h2 id="on-sharing"&gt;On sharing&lt;/h2&gt;
&lt;p&gt;A large amount of people see Operations as an impenetrable affair. It
is safe to say that it is a hard topic to grasp. This is mainly due to the huge
amount of subjects it covers. Operations entails development, systems
administration, networks and security, just to name a few. &lt;strong&gt;This may sound
intimidating to most newcomers.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Nevertheless, &lt;strong&gt;this does not mean that they are not interested. They are often
just scared of the unknown&lt;/strong&gt;. Once people see that you are approachable, they
will start asking questions. Even if they don’t, you should ask them if there
are things that they want to learn. If things go right, you’ll get the
opportunity to share your knowledge.&lt;/p&gt;
&lt;p&gt;Before even thinking about doing so: &lt;strong&gt;RTBK&lt;/strong&gt;. If you don’t know what this means,
you’re skipping important parts of this article. Don’t. Go back, and take the
time to read them.&lt;/p&gt;
&lt;p&gt;There are two fundamental reasons to share your knowledge. First, &lt;strong&gt;mentoring
people is one of the most interesting and rewarding things you can do.&lt;/strong&gt;
Motivated people have &lt;strong&gt;tremendous potential&lt;/strong&gt;, and if they are willing to learn
and are interested in what you do, &lt;strong&gt;you can catalyze their growth to a great
extent.&lt;/strong&gt; Sometimes it only takes a &lt;strong&gt;little push for someone to discover a great
deal of capabilities.&lt;/strong&gt; You just need to know how to give the right push, in the
right direction.&lt;/p&gt;
&lt;p&gt;Second, it allows you to &lt;strong&gt;spread the knowledge&lt;/strong&gt;. If you’re the only person
working on these subjects, you will most likely become a single point of
failure. If something happens to what you built when you are not available to
fix it, the whole system goes down. It is reasonable to want &lt;strong&gt;to share that
responsibility with someone.&lt;/strong&gt; Do not expect them to become fully autonomous, or
a plug in replacement for you right away, they are already doing something else
as a full-time job. Still, having enough knowledge to be able to debug common
issues is already great.&lt;/p&gt;


&lt;figure&gt;
 












 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 &lt;img src="https://sebiwi.github.io/images/soft-skills/fullstack-devops-engineer_hu_d9b37f71dce5aaf8.webp" srcset="https://sebiwi.github.io/images/soft-skills/fullstack-devops-engineer_hu_b52410d2be8bd3eb.webp 480w, https://sebiwi.github.io/images/soft-skills/fullstack-devops-engineer_hu_e5fa7165791625bc.webp 960w, https://sebiwi.github.io/images/soft-skills/fullstack-devops-engineer_hu_d9b37f71dce5aaf8.webp 1098w" sizes="(max-width: 880px) 92vw, 880px" width="1098" height="738" alt="Fullstack DevOps engineer" loading="lazy" decoding="async"&gt;


 
 &lt;figcaption&gt;Fullstack DevOps engineer&lt;/figcaption&gt;
 
&lt;/figure&gt;

&lt;p&gt;The most efficient form of knowledge sharing is pair programming. It is
fundamental that everything that is going on is completely understood. You
can’t expect people to pick up Infrastructure as Code without having any
knowledge on Linux systems, for example. This is not necessarily an issue, as
you can teach them as you go. Make sure they understand what’s going on, and do
it often. Ask them to reformulate what you just said: drawing things works
great for this purpose.&lt;/p&gt;
&lt;p&gt;This is probably going to be a good exercise for you as well. Explaining a
concept to someone forces you to structure it differently in your head, and it
will allow you to know if you fully understand it too. If you do not, you can
look up the answer together. This is not a problem. More on this in the next
section.&lt;/p&gt;
&lt;p&gt;Later on, you can give them tasks you would normally work on by yourself. When
doing this, the most important part is to be able to select the right amount of
work, with the right complexity. It must be challenging enough for them to feel
excited, and not hard enough to make them frustrated. Aim for balance.&lt;/p&gt;
&lt;p&gt;You can also use other formats in order to teach large groups of people at the
same time. Mob programming works great too, or code katas, if you have
interesting subjects you can share. &lt;a href="https://github.com/sebiwi/terraform-wrapper"&gt;You can teach them how to code their own
wrappers using Test-Driven Development&lt;/a&gt;, how to &lt;a href="https://sebiwi.github.io/blog/the-wizard-1/"&gt;test their infrastructure code&lt;/a&gt;,
or how to &lt;a href="https://sebiwi.github.io/blog/ara/"&gt;leverage monitoring or reporting tools in order to understand what’s
going on within your system&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id="on-improving"&gt;On improving&lt;/h2&gt;
&lt;p&gt;Last but not least, you should contribute to the continuous improvement of the
team. When doing so, &lt;strong&gt;remember to be kind&lt;/strong&gt;. Make sure everyone on the team knows
how important this is. It is a must-have quality when trying to improve as a
whole, when proposing enhancements and giving feedback. Change your
formulations, switch from “you made a mistake” to “we made a mistake”, it will
help you stay away from finger pointing. &lt;strong&gt;Responsibilities should be collective.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;It’s hard to be specific on this topic, since areas of improvement will vary
from team to team. I’ll give it a try though.&lt;/p&gt;
&lt;p&gt;At first, most people will refer to you as the DevOps of the team. Explain them
that &lt;strong&gt;DevOps is not a role, but a culture of collaboration and communication&lt;/strong&gt;. It
should be a goal you should all aim for.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Fail&lt;/strong&gt;, and fail fast, too. Champion innovation, testing new ideas, validating
them, and cope with the fact that sometimes they don’t work. It’s a good thing,
as long as you know when to seek an alternative, and you get to learn
something.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Work on quality&lt;/strong&gt;. Start doing code reviews, for example, if you are not doing
them already, and include infrastructure code as well. They are most important
when trying to see what people are doing, to correct or improve certain
practices, and to share the code. Have them read your code too. At first they
will be scared, and they will tell you that they don’t want to because they
won’t have any remarks or contributions. This is not true. They will read it,
and understand how it works. If they don’t, they can come over and ask for
clarifications. No single points of failure.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Measure everything&lt;/strong&gt;. Preach the importance of monitoring and observability. Let
them know how to work on code instrumentation for it to be easily observable.
Show them the benefits of having structured, clear logs, and being able to
query the platform to have immediate answers on what is going on, at any time.
They’ll be onboard as soon as you show them the advantages.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Lead by example.&lt;/strong&gt; Motivate them, code with them, show them that you can do the
same things you do in standard development when you’re doing Operations. Show
them Clean Code, Test-Driven Development and refactoring, applied to
infrastructure code.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Learn from errors and mistakes.&lt;/strong&gt; If you have a production incident, analyze the
root cause so that you can learn from it, and prevent it in the future. Asking
yourself five times why something happened is a great way of finding root
causes. You will often see that what you thought was a technical issue actually
has an organizational or design root cause.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Say “I don’t know”, when you don’t know.&lt;/strong&gt; You are not meant to know everything.
Not knowing is not an issue. It is impossible to know everything. It is a good
thing to say it. Be honest. People will trust you more, and start doing it
themselves too.&lt;/p&gt;


&lt;figure&gt;
 












 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 &lt;img src="https://sebiwi.github.io/images/comics/2018-12-03-experience_hu_a54d13dc62cda518.webp" srcset="https://sebiwi.github.io/images/comics/2018-12-03-experience_hu_a44d028e156cece0.webp 480w, https://sebiwi.github.io/images/comics/2018-12-03-experience_hu_9ca93ddc917c89c8.webp 960w, https://sebiwi.github.io/images/comics/2018-12-03-experience_hu_a54d13dc62cda518.webp 1440w" sizes="(max-width: 880px) 92vw, 880px" width="1440" height="671" alt="I don&amp;#39;t know. Say it." loading="lazy" decoding="async"&gt;


 
 &lt;figcaption&gt;“I don&amp;rsquo;t know”. Say it.&lt;/figcaption&gt;
 
&lt;/figure&gt;

&lt;h2 id="theres-no-way-im-remembering-all-those-things"&gt;There’s no way I’m remembering all those things&lt;/h2&gt;
&lt;p&gt;You don’t have to. It all comes down to six basic principles:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Remember to be kind.&lt;/li&gt;
&lt;li&gt;Use your power for the greater good.&lt;/li&gt;
&lt;li&gt;Help people, explain things to them, resolve issues.&lt;/li&gt;
&lt;li&gt;Share what you know.&lt;/li&gt;
&lt;li&gt;Improve the team itself.&lt;/li&gt;
&lt;li&gt;Remember to be kind.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;And most importantly, have fun. If it’s not fun, it’s probably not worth it.&lt;/p&gt;</content:encoded></item><item><title>ESx</title><link>https://sebiwi.github.io/comics/esx/</link><pubDate>Mon, 14 Jan 2019 07:19:02 +0100</pubDate><author>sebiwi</author><guid>https://sebiwi.github.io/comics/esx/</guid><description>You can get a neat mathematical formula to calculate the real name of an ECMAScript. I double dare you to try to get the same thing with Windows.</description><content:encoded>&lt;img src="https://sebiwi.github.io/images/comics/2019-01-14-ESx.jpg" /&gt;</content:encoded></item><item><title>Reality</title><link>https://sebiwi.github.io/comics/reality/</link><pubDate>Mon, 07 Jan 2019 07:19:02 +0100</pubDate><author>sebiwi</author><guid>https://sebiwi.github.io/comics/reality/</guid><description>There's a difference between the planning and our current progress. There must be an issue with reality. Certainly.</description><content:encoded>&lt;img src="https://sebiwi.github.io/images/comics/2019-01-07-reality.jpg" /&gt;</content:encoded></item><item><title>Retrospective</title><link>https://sebiwi.github.io/comics/retrospective/</link><pubDate>Mon, 31 Dec 2018 07:19:02 +0100</pubDate><author>sebiwi</author><guid>https://sebiwi.github.io/comics/retrospective/</guid><description>It's been a while since I started posting drawings in here. It's been fun. Maybe it's time for a little retrospective</description><content:encoded>&lt;img src="https://sebiwi.github.io/images/comics/2018-12-31-retrospective.jpg" /&gt;</content:encoded></item><item><title>You had me at EHLO</title><link>https://sebiwi.github.io/comics/you-had-me-at-ehlo/</link><pubDate>Mon, 24 Dec 2018 07:19:02 +0100</pubDate><author>sebiwi</author><guid>https://sebiwi.github.io/comics/you-had-me-at-ehlo/</guid><description>Christmas is about giving. Does giving 'a hard time' count? I'm thinkin about a nice Reply Allpocalypse, for instance.</description><content:encoded>&lt;img src="https://sebiwi.github.io/images/comics/2018-12-24-you-had-me-at-ehlo.jpg" /&gt;</content:encoded></item></channel></rss>