<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Arsen</title>
    <description>The latest articles on DEV Community by Arsen (@aismagulov).</description>
    <link>https://dev.to/aismagulov</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F429552%2F0c44ac2f-cb65-472a-8d0a-3278719da5eb.png</url>
      <title>DEV Community: Arsen</title>
      <link>https://dev.to/aismagulov</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/aismagulov"/>
    <language>en</language>
    <item>
      <title>Range of autonomy practices: Six examples</title>
      <dc:creator>Arsen</dc:creator>
      <pubDate>Tue, 20 Dec 2022 22:10:30 +0000</pubDate>
      <link>https://dev.to/aismagulov/range-of-autonomy-practices-six-examples-5f4k</link>
      <guid>https://dev.to/aismagulov/range-of-autonomy-practices-six-examples-5f4k</guid>
      <description>&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgmjiyylqolhxb97cp2we.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fgmjiyylqolhxb97cp2we.jpg" alt="Image description" width="800" height="189"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Autonomy is one of the core intrinsic motivation factors. When we talk about performance and motivation, the freedom to choose what and how you do is indispensable. &lt;/p&gt;

&lt;p&gt;I used to think about autonomy as "leave product decisions to the Product Owner and technical decisions to developers". But from recent reading I discovered a whole range of autonomy people have in various companies. I ordered the list by the level of trust and transparency between the employees and their leaders. Let's start from the top.&lt;/p&gt;

&lt;h4&gt;
  
  
  1. Microenterprises: Haier
&lt;/h4&gt;

&lt;p&gt;Haier is a Chinese home appliances manufacturer that revolutionized the organizational structure with its RenDanHeYi model. Haier consists of 4000 "microenterprises" - completely independent groups of 10-15 people. Each microenterprise functions as a small company in a network of companies. It can contract with other microenterprises, seeking services and sharing a part of its income. Anyone is free to organize their own microenterprise if they see the need. You can even contract with an external service provider if an internal service is not good enough. There are microenterprises for HR, legal, compliance, and anything else you need to deliver service. &lt;/p&gt;

&lt;p&gt;Haier says that the best employees are those who have the entrepreneurial spirit, and the RenDanHeYi model allows everyone to unleash their inner entrepreneur.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://corporate-rebels.com/tag/haier" rel="noopener noreferrer"&gt;More about Haier by Corporate Rebels&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  2. Teams define their product backlog: Shopify
&lt;/h4&gt;

&lt;p&gt;James Stanier, Director of Engineering at Shopify, wrote a post for LeadDev describing their approach to autonomy. In that case, the product items don't come from executives to the bottom. Instead, engineering teams propose things they want to add to their product. There are processes to align them with the organizational goals, to review by the executives, and to define good metrics. Then, the engineering team is responsible for the delivery and the outcomes.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://leaddev.com/team/encouraging-autonomy-within-engineering-teams" rel="noopener noreferrer"&gt;Encouraging autonomy within engineering teams&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  3. Teams choose items from backlog: LeSS
&lt;/h4&gt;

&lt;p&gt;The LeSS framework suggests a more strict approach. The roadmap and prioritizing are still done by the Product Owner. Then she brings the next upcoming items to the Engineering teams (there can be up to 8 teams per one Product Owner), and the team representatives negotiate who takes what. A team might choose an item because they have the proper expertise, so they'll do it quicker. Or they may want another one because they lack the knowledge and want to learn it better.&lt;/p&gt;

&lt;p&gt;It's a lower level of autonomy, but it still allows the engineers to grow and contribute in the best way. It is important that the engineers decide what is best for them.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.amazon.com/Large-Scale-Scrum-More-Craig-Larman/dp/0321985710" rel="noopener noreferrer"&gt;Large-Scale Scrum: More with LeSS&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  4. Dynamic reteaming: Valve, Pipedrive
&lt;/h4&gt;

&lt;p&gt;Dynamic reteaming is when people can change teams and projects to increase their impact and learnings. &lt;/p&gt;

&lt;p&gt;In my game development past, 10 years ago every other game developer dreamed about working at Valve. I clearly remember that their New Employee Handbook said every office desk had wheels. This is because anyone could change their project at any time. If you are bored with your project and you have found another one - more interesting, more rewarding, and where your skills are needed - you can join it, just roll your desk.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://steamcdn-a.akamaihd.net/apps/valve/Valve_NewEmployeeHandbook.pdf" rel="noopener noreferrer"&gt;Valve: Handbook for new employees&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Another example is Pipedrive and the Launchpad system, as presented in a case study of the unFIX model. All the engineers start in a Launchpad group that deals with maintenance and overall improvements. From there, people can form Mission Teams that leave the Launchpad to deliver certain items. The Mission Team is gathered for the specific needs of the challenge they resolve. After the item is delivered and accepted by the Launchpad, the Mission Team returns.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://unfix.com/blog/pipedrive-unfixed" rel="noopener noreferrer"&gt;The case study presented by Jurgen Appelo&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  5. Individuals work on their ideas: Google
&lt;/h4&gt;

&lt;p&gt;Another famous example of a smaller scale of autonomy is Google and their "20% rule" - 1 day per week each employee can spend on something they see to be valuable for the company. In case of success, these small experiments grew into services like Gmail.&lt;/p&gt;

&lt;p&gt;There are rumors that Google dropped the 20% rule, or at least it is restricted by conditions. Allegedly, nowadays an employee needs her manager's approval, as the 20% on a side project would impact the team's performance.&lt;/p&gt;

&lt;p&gt;Other companies also use different forms of this rule, ranging from 10% to 20%.&lt;/p&gt;

&lt;h4&gt;
  
  
  6. Hackathon
&lt;/h4&gt;

&lt;p&gt;The least risky option is an internal hackathon. 3 days every 4 months would take just 3% of working time, and it still gives people the freedom to experiment, learn, reteam, build horizontal connections, and do something meaningful.&lt;/p&gt;

&lt;h3&gt;
  
  
  Autonomy is a cultural matter
&lt;/h3&gt;

&lt;p&gt;Not every option suits every organization. The autonomy level is strongly tied to the organizational culture - not only values but also practices, processes, and beliefs that support those values. Changing a culture is possible, but it requires both executive support at the top and engaged people managers at the bottom.&lt;/p&gt;

</description>
      <category>watercooler</category>
    </item>
    <item>
      <title>Intrinsic motivation models</title>
      <dc:creator>Arsen</dc:creator>
      <pubDate>Wed, 14 Dec 2022 20:20:41 +0000</pubDate>
      <link>https://dev.to/aismagulov/intrinsic-motivation-1ja8</link>
      <guid>https://dev.to/aismagulov/intrinsic-motivation-1ja8</guid>
      <description>&lt;p&gt;Let's look at modern motivation theories, particularly intrinsic motivation.&lt;/p&gt;

&lt;h2&gt;
  
  
  Extrinsic motivation: reward and punishment
&lt;/h2&gt;

&lt;p&gt;Motivation systems distinguish extrinsic and intrinsic motivating factors. At the workplace, the most common extrinsic motivators are reward and punishment ("carrots and sticks"). Until recently they were the default approach to people management. As Peter from "Office Space" brilliantly describes it:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Now, if I work my ass off and Initech ships a few extra units, I don't see another dime. So where's the motivation? … And here's another thing, when I make a mistake, I have eight different people coming by to tell me about it. That's my real motivation - is not to be hassled. That and the fear of losing my job, but y'know, Bob, it will only make someone work hard enough not to get fired.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--woqe16_1--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/aw1vcpk0loes5jyvb2o1.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--woqe16_1--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/aw1vcpk0loes5jyvb2o1.gif" alt="A gif from the movie &amp;quot;Office Space&amp;quot; saying &amp;quot;It's a problem of motivation, all right?&amp;quot;" width="400" height="215"&gt;&lt;/a&gt;&lt;br&gt;
&lt;em&gt;Notice how Peter is depicted as motivated only by money or being hassled / fired.&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Intrinsic motivation: RAMP model
&lt;/h2&gt;

&lt;p&gt;But researchers also noticed that people voluntarily partake in activities that don't provide any reward: playing games, solving puzzles, tackling challenges. Something inside us makes us do that - these are the intrinsic motivation factors.&lt;/p&gt;

&lt;p&gt;Two models are mentioned the most frequently (in my social network bubble). The first one is the Theory of Self-Determination (SDT) by Deci and Ryan. It lists three core motivators:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Autonomy&lt;/strong&gt; - the feeling of having choice and control over your actions and decisions.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Relatedness&lt;/strong&gt; - the need to feel connected to others, to belong to a group.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Competence&lt;/strong&gt; - being an expert, being effective at what you do.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Another popular theory is the Drive model by Daniel Pink. Its core components are &lt;strong&gt;Autonomy&lt;/strong&gt; (same as in SDT), &lt;strong&gt;Mastery&lt;/strong&gt; (corresponds to Competence in SDT), and &lt;strong&gt;Purpose&lt;/strong&gt; - knowing why you do what you do.&lt;/p&gt;

&lt;p&gt;Since there is a noticeable overlap, there is a third model created from the previous two called RAMP - an abbreviation for &lt;strong&gt;Relationships&lt;/strong&gt;, &lt;strong&gt;Autonomy&lt;/strong&gt;, &lt;strong&gt;Mastery&lt;/strong&gt;, and &lt;strong&gt;Purpose&lt;/strong&gt;. (If I understand correctly, the model was created by &lt;a href="https://www.makeworkmorehuman.com/"&gt;A Human Workplace&lt;/a&gt;.) For example, mission command approach contains all four RAMP components.&lt;/p&gt;

&lt;h2&gt;
  
  
  Extrinsic motivators suppress the intrinsic ones
&lt;/h2&gt;

&lt;p&gt;In the book "Drive", Daniel Pink describes an experiment where one group of children were promised a reward for drawing pictures, and others just drew because they enjoyed it. After the experiment, the children in the first group showed less interest in drawing later. It turns out an extrinsic motivator can deplete the intrinsic ones.&lt;/p&gt;

&lt;p&gt;In life, once you attempt to motivate with a reward or a threat - there is a spike of motivation that rapidly depletes. To maintain it, you must provide bigger rewards (or increasingly scarier threats). Otherwise, you end up with highly demotivated people.&lt;/p&gt;

&lt;p&gt;Here is &lt;a href="https://www.youtube.com/watch?v=ySLA9utaHPw&amp;amp;t=425s"&gt;a talk by Andrzej Marczewski&lt;/a&gt; from the Gamification Europe conference: the second case he describes is how an extrinsic reward ruined a system with built-in intrinsic motivation. A notable quote:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;What you must not do - and you really must not do - is to offer a reward.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  Using motivation models
&lt;/h2&gt;

&lt;p&gt;One way to apply a motivation model is to define the driving motivating factor for every team member. It sounds a bit troublesome, so I use it as a checklist for detecting gaps:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Do people feel like a team that moves towards a common goal?&lt;/li&gt;
&lt;li&gt;Is the objective clear enough?&lt;/li&gt;
&lt;li&gt;Does everyone have a chance to express their opinion?&lt;/li&gt;
&lt;li&gt;Can people decide how to do their work? Can they choose how to contribute?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;And to summarize with another popular saying that I like:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;You don't need to motivate people — instead, remove what demotivates them.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;(Cover photo - by &lt;a href="https://unsplash.com/@todd_diemer"&gt;Todd Diemer on Unsplash&lt;/a&gt;)&lt;/p&gt;

</description>
      <category>motivation</category>
      <category>intrinsicmotivation</category>
      <category>people</category>
      <category>management</category>
    </item>
    <item>
      <title>Let's talk about feelings</title>
      <dc:creator>Arsen</dc:creator>
      <pubDate>Fri, 09 Dec 2022 21:41:19 +0000</pubDate>
      <link>https://dev.to/aismagulov/lets-talk-about-feelings-369h</link>
      <guid>https://dev.to/aismagulov/lets-talk-about-feelings-369h</guid>
      <description>&lt;p&gt;Did you know that the whole "boys don't cry" / "men don't have feelings" adage is just 200 years old? It appeared only in the early 1800s. For thousands of years before that, things like manly tears were a social norm.&lt;/p&gt;

&lt;p&gt;Let's talk about feelings.&lt;/p&gt;




&lt;p&gt;I often ask about feelings: "How do you feel about this?", "Any feelings to share?", "How does it feel when we do this?" I intentionally use the language of feelings, because this way I can learn more than through thoughts and opinions.&lt;/p&gt;

&lt;p&gt;Our brains do a good job of storing memories but are not so good at retrieving them. Consciousness gives access to recent memories and some bright events from the past. I'm sure you were in a situation when you knew something, but you just couldn't remember it in the moment.&lt;/p&gt;

&lt;p&gt;Emotions come from the whole body of our experience, whether you are asking for it or not. Also, they emerge very quickly, faster than we realize.&lt;/p&gt;

&lt;p&gt;E.g. someone mentions a risky deployment before Christmas vacation - and you immediately feel anxious. You go through a particularly unreadable piece of code - and you can feel almost physical discomfort. You haven't even formulated yet what is wrong, but you can name the feeling.&lt;/p&gt;

&lt;p&gt;It's like a superpower - your brain throws an immediate answer to any question, but the tricky part is deciphering it. If it's anxiety - what makes you anxious? If it's a feeling of satisfaction - what contributes to that?&lt;/p&gt;




&lt;p&gt;Tapping into feelings requires some ground work.&lt;/p&gt;

&lt;p&gt;You need to create an environment where having feelings is safe.&lt;/p&gt;

&lt;p&gt;You need to understand your own emotions and be able to expose them in a safe manner.&lt;/p&gt;

&lt;p&gt;You need to show your vulnerability.&lt;/p&gt;

&lt;p&gt;You need to have the emotional intelligence to accept others' feelings.&lt;/p&gt;

&lt;p&gt;The reward is immense. People can be their true selves and get more fulfillment from work. You also build trust and accelerate communication by dropping formalities. You get access to a deeper level of others' expertise.&lt;/p&gt;

&lt;p&gt;There are no useless feelings: fear, uncertainty, anger, annoyance are as crucial as joy, peacefulness, confidence, support. Each emotion is your brain helping you to survive. If you want to get 100% from your team - listen to their feelings.&lt;/p&gt;

</description>
      <category>eq</category>
      <category>management</category>
      <category>psychologicalsafety</category>
    </item>
    <item>
      <title>Values are words, culture is behaviors</title>
      <dc:creator>Arsen</dc:creator>
      <pubDate>Sun, 16 Jan 2022 21:57:33 +0000</pubDate>
      <link>https://dev.to/aismagulov/values-are-words-culture-is-behaviors-4h6k</link>
      <guid>https://dev.to/aismagulov/values-are-words-culture-is-behaviors-4h6k</guid>
      <description>&lt;h3&gt;
  
  
  Values and culture
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Values&lt;/strong&gt; are beliefs, attitudes and opinions that the group members consider essential for their life.&lt;/p&gt;

&lt;p&gt;Values are expressed by words or sentences that you put on a wall or a website. Sometimes values are not reached yet, but they guide the group in its journey. Some examples: passion, trust, respect, kindness, equality, transparency, accountability.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Culture&lt;/strong&gt; comprises behaviors that are expected and considered normal by people within a group. Culture is expressed in the actions you do every day.&lt;/p&gt;

&lt;p&gt;Culture is supposed to be aligned with values, but it might not be there yet. E.g. a company can say that it values equality, but it is far from true when you look closer. It might be that they are still on their journey, or it might be that they actually don’t care.&lt;/p&gt;

&lt;p&gt;If you want your values to matter, you have to put some effort into them.&lt;/p&gt;

&lt;h3&gt;
  
  
  Supporting values
&lt;/h3&gt;

&lt;p&gt;The convenience of using values is that you can express them with a single word or a sentence. They allow you to communicate and align quicker. But without referring to them in everyday life, there is a high chance they are dead weight. You need to establish a culture driven by values to bring them into life.&lt;/p&gt;

&lt;p&gt;There is another side to the compactness - they might be ambiguous. For example, “passion” is often included in the values list, but what does it actually mean? There was a situation when I shared some ideas with an executive, and he yelled at me in response. Then he wrote me a private email: “I’m sorry, I was passionate”. No, such behavior cannot be justified by “passion”. So, be sure to have occasional discussions about values.&lt;/p&gt;

&lt;h3&gt;
  
  
  Establishing a culture
&lt;/h3&gt;

&lt;p&gt;How do you establish a culture around a value - i.e. how do you make a behavioral change in a group? From what I learned, the only instrument is “little nudges”. Like the river gradually shapes its banks, you can apply only three little actions:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;demonstrate the desired behavior yourself;&lt;/li&gt;
&lt;li&gt;encourage others when they show the same behavior;&lt;/li&gt;
&lt;li&gt;disapprove of behaviors that contradict the desirable one.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The first one is easy: if you genuinely believe in the value of the behavior, you are already expressing it every day.&lt;/p&gt;

&lt;p&gt;The second point is a bit harder to do; you need to make an effort here. Software development is still a competitive male-dominated area, and we are not used to encouraging each other. You have to notice small things and let people know that you notice them. Use a small conversation at the coffee machine, drop a message in the chat, have a minute of acknowledgement at the 1:1 or the retrospective meeting.&lt;/p&gt;

&lt;p&gt;The third one is the toughest. It requires a high level of psychological safety for everyone to be comfortable with expressing criticism. It is a bit easier when you have a leading/managing title - you can organize 1:1s to talk to people in private; younger and less experienced team members look up to you. Even then, giving negative feedback can be challenging. The “Radical Candor” book helped me get better at this, but there is still a journey ahead.&lt;/p&gt;

&lt;h3&gt;
  
  
  The challenge of values
&lt;/h3&gt;

&lt;p&gt;The values are not just about aligning. It is acknowledging that we are not perfect, and we want to grow in a specific direction. Life is tough, 50-100-1000 people in a company cannot follow the values impeccably. But you also cannot move towards your values without supporting and challenging each other.&lt;/p&gt;

&lt;p&gt;This post is partially inspired by the &lt;a href="https://www.youtube.com/watch?v=9QMGAtxUlAc"&gt;”Principles of Technology Leadership” talk&lt;/a&gt; by Brian Cantrill. Watch how he goes crazy - it is funny and makes you think.&lt;br&gt;
I can also recommend &lt;a href="https://softskills.audio/2019/07/22/episode-167-foosball-culture-and-giving-feedback-to-geniuses/"&gt;an episode on culture&lt;/a&gt; from my favorite "Soft Skills Engineering" podcast.&lt;br&gt;
Plus this &lt;a href="https://leaddev.com/agile-other-ways-working/designing-cultural-transformations"&gt;"Designing cultural transformations"&lt;/a&gt; talk by Ryn Daniels from a LeadDev event has a great example.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Cover photo by &lt;a href="https://unsplash.com/@trancepole?utm_source=unsplash&amp;amp;utm_medium=referral&amp;amp;utm_content=creditCopyText"&gt;Matthias Schröder&lt;/a&gt; on &lt;a href="https://unsplash.com/s/photos/peacock?utm_source=unsplash&amp;amp;utm_medium=referral&amp;amp;utm_content=creditCopyText"&gt;Unsplash&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

</description>
      <category>culture</category>
      <category>values</category>
      <category>management</category>
      <category>organization</category>
    </item>
    <item>
      <title>Managers, don’t work overtime</title>
      <dc:creator>Arsen</dc:creator>
      <pubDate>Sun, 19 Dec 2021 21:46:07 +0000</pubDate>
      <link>https://dev.to/aismagulov/dont-work-overtime-4ejg</link>
      <guid>https://dev.to/aismagulov/dont-work-overtime-4ejg</guid>
      <description>&lt;p&gt;I already wrote a post on &lt;a href="https://dev.to/aismagulov/dangers-or-working-extra-hours-50m0"&gt;dangers of working overtime&lt;/a&gt;, but this time I'm looking from the manager's perspective. It's a story about overtime, but more generally, I would call it "Don't show behaviour that you disapprove of". &lt;/p&gt;

&lt;h3&gt;
  
  
  Management changes habits
&lt;/h3&gt;

&lt;p&gt;One of my strongest opinions is that no one should work more than your contract specifies. The reasons behind it are:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;working overtime is not heroic; it's a management failure;&lt;/li&gt;
&lt;li&gt;the person who works overtime pays for it with their mental health;&lt;/li&gt;
&lt;li&gt;unpaid overtime breaks the contract between the employee and the company, then breaking the contract breaks the trust. If that paragraph can be violated, what else can the employee or the company violate? What is such a contract worth?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;When I was an individual contributor, I would never open my mailbox or chat after working hours. But as a manager, I never have enough time to do everything I planned (at least, to my quality standards). Also, I feel responsible both for the project and for my team. Suddenly, I found myself checking my mailbox in the evening or on a day off. And one day, I felt tempted to answer a question in the chat because I knew the answer, which would help the team. But I had to stop myself.&lt;/p&gt;

&lt;p&gt;Okay, maybe, it is acceptable to check your emails - if it helps you cope with the anxiety. But you certainly cannot let your team know that you do it. When you are a manager, people pay more attention to what you do. Your actions have more weight. If your teammates notice that you work on your day off, they might think this is expected from everyone. But when you do that - you normalize such behaviour, you add it to the work culture.&lt;/p&gt;

&lt;p&gt;Sometimes you feel down, you are out of time, and it seems like an extra couple of hours of work can fix everything. It makes you feel good about yourself - selfless, dedicated, sacrificing your free time for the greater good. But no one benefits from it in the end; actually, both you and the company lose in the long term. (Unless you are a co-founder and a stakeholder and receive 30% of the company's income.) And when you are a manager, your team joins the group of losers. So - don't work overtime.&lt;/p&gt;

&lt;h3&gt;
  
  
  Matters of culture
&lt;/h3&gt;

&lt;p&gt;It is a part of the manager's responsibility to form the work culture in the team. The same applies to questionable humour, gossiping, talking behind someone's back, handling critical situations, asking for help and giving feedback. Everything you do might be an example to someone else. Do you apologize when you lose your temper? If nine people interrupted you asking for help, how do you answer to the tenth person? When someone makes a discriminating joke, how do you react?&lt;/p&gt;

&lt;p&gt;Photo by &lt;a href="https://unsplash.com/@hassanein?utm_source=unsplash&amp;amp;utm_medium=referral&amp;amp;utm_content=creditCopyText"&gt;Abdelrahman Hassanein&lt;/a&gt; on &lt;a href="https://unsplash.com/s/photos/bird-sleeping?utm_source=unsplash&amp;amp;utm_medium=referral&amp;amp;utm_content=creditCopyText"&gt;Unsplash&lt;/a&gt;&lt;/p&gt;

</description>
      <category>management</category>
      <category>leadership</category>
      <category>culture</category>
      <category>overtime</category>
    </item>
    <item>
      <title>How to turn a 10x developer into a 1x developer and vice versa</title>
      <dc:creator>Arsen</dc:creator>
      <pubDate>Wed, 24 Nov 2021 14:04:37 +0000</pubDate>
      <link>https://dev.to/aismagulov/how-to-turn-a-10x-developer-into-a-1x-developer-and-vice-versa-1m65</link>
      <guid>https://dev.to/aismagulov/how-to-turn-a-10x-developer-into-a-1x-developer-and-vice-versa-1m65</guid>
      <description>&lt;p&gt;&lt;em&gt;A lukewarm take on the topic of 10x developers, based on real-life events.&lt;/em&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  How to turn a 10x developer into a 1x developer
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;hire the most talented developer you can find;&lt;/li&gt;
&lt;li&gt;put the developer on a project where multiple teams share the code base;&lt;/li&gt;
&lt;li&gt;the team has to have a product owner, a business analyst, and not less than two project managers, all of them can make product decisions;&lt;/li&gt;
&lt;li&gt;final product decisions are actually made by an executive who is accessible once a week for 30 minutes;&lt;/li&gt;
&lt;li&gt;but the same executive can also come by at 7 p.m. and scratch everything that was done during the day;&lt;/li&gt;
&lt;li&gt;the code reviews are mandatory, no pair programming allowed;&lt;/li&gt;
&lt;li&gt;there should be no limit on how long a code review can wait and how many iterations it can take;&lt;/li&gt;
&lt;li&gt;the testing environment should be unstable and inconsistent;&lt;/li&gt;
&lt;li&gt;let anyone ask them questions at any time because the 10x developer knows a lot, and sharing knowledge is essential.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  How to turn a 1x developer into a 10x developer:
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;take any senior developer in your team;&lt;/li&gt;
&lt;li&gt;separate them from the rest of the team, put them on a mini-team with 2-3 other people;&lt;/li&gt;
&lt;li&gt;let them focus on a single well-scoped project for days/weeks;&lt;/li&gt;
&lt;li&gt;the mini-team members should have all the skills to move forward without being blocked;&lt;/li&gt;
&lt;li&gt;one person should make all the product decisions, and that person is available at any time;&lt;/li&gt;
&lt;li&gt;track progress and update priorities weekly;&lt;/li&gt;
&lt;li&gt;let them work on a separate branch - no code reviews, no merges, no conflicts;&lt;/li&gt;
&lt;li&gt;take them off all the "obligatory" meetings, let them organize their own processes;&lt;/li&gt;
&lt;li&gt;other team members are not allowed to bother them with questions/discussions.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  On a slightly serious note
&lt;/h3&gt;

&lt;p&gt;The most time-consuming factor is communication - how fast and how efficiently we can convey decisions. Naturally, by increasing speed, we lose quality and vice versa. Maintaining this dynamic balance is what makes it a tough but exciting job. Sometimes you might prefer &lt;a href="https://dev.to/aismagulov/why-we-work-in-teams-4g5i"&gt;a steady team&lt;/a&gt; over a high-speed 10x developer.&lt;/p&gt;

&lt;p&gt;There are some questions to help with choosing though. How long do you plan to maintain this product? Eventually, people leave - what happens if they leave? What is at stake - the existence of your company? The well-being of your family? Your career? Your yearly bonus?&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Photo by &lt;a href="https://unsplash.com/@zmachacek?utm_source=unsplash&amp;amp;utm_medium=referral&amp;amp;utm_content=creditCopyText"&gt;Zdeněk Macháček&lt;/a&gt; on &lt;a href="https://unsplash.com/@aismagulov/likes?utm_source=unsplash&amp;amp;utm_medium=referral&amp;amp;utm_content=creditCopyText"&gt;Unsplash&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

</description>
      <category>10xdeveloper</category>
      <category>productivity</category>
      <category>teamwork</category>
      <category>processes</category>
    </item>
    <item>
      <title>Traits of a Senior Software Engineer</title>
      <dc:creator>Arsen</dc:creator>
      <pubDate>Sun, 08 Aug 2021 21:41:01 +0000</pubDate>
      <link>https://dev.to/aismagulov/traits-of-a-senior-software-engineer-3gbn</link>
      <guid>https://dev.to/aismagulov/traits-of-a-senior-software-engineer-3gbn</guid>
      <description>&lt;p&gt;For a long time, I wanted to compile my list of qualities of a senior developer. How do you become one? What do people expect from a senior developer? This post is my first attempt.&lt;/p&gt;

&lt;p&gt;There are many angles to approach the topic. Here are some of the sources I found interesting:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;John Allspaw's &lt;a href="https://www.kitchensoap.com/2012/10/25/on-being-a-senior-engineer/"&gt;On being a senior engineer&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Camille Fournier's &lt;a href="https://dresscode.renttherunway.com/blog/ladder"&gt;Career ladder of RentTheRunway&lt;/a&gt; and &lt;a href="https://skamille.medium.com/an-incomplete-list-of-skills-senior-engineers-need-beyond-coding-8ed4a521b29f"&gt;An incomplete list of skills senior engineers need, beyond coding&lt;/a&gt;.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://softskills.audio/"&gt;Soft Skills Engineering Podcast&lt;/a&gt;, where a listener once asked, "Can I call myself a senior developer after X months in the industry?", and the host answered: "I'm afraid, you didn't make enough mistakes yet".&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;A recent &lt;a href="https://twitter.com/the2pizza/status/1412734211904114690"&gt;Twitter thread&lt;/a&gt; (in Russian), where the author says that to him seniority is not about hard skills (languages, frameworks, technical stacks), but more about professionalism, responsibility, decision-making, and ability to solve business problems.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;In this post, I'm writing down my answer. I wish I wrote it a couple of years ago to compare how my views have changed. I'm sure I will give a different answer in a couple of years. Here I just list the points, and I plan to elaborate on some of them later.&lt;/p&gt;

&lt;p&gt;Important Senior developer traits (2021):&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Hunting for business knowledge - actively search how the product works, how users interact with it, why it works as it does;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Being able to discuss without raising the voice;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Express opinions and support them with arguments;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Gut feeling - listening to your intuition;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Remember stuff - writing down, documenting, keeping lists of things, organizing information inputs and outputs;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Knowing the processes of working with people in Software Development;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Knowing the next step and the one after that;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Pushing a task till the end or passing it to another person;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Changing processes when needed (supported with an opinion and arguments);&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Looking at things from the team point of view;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Seeing people as collaborators and contributors (or at least parts of a solution), not obstacles;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Solving the unsolvable problems;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Experience in putting out fires;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Experience in breaking things (build, CD, production).&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Cover image by &lt;a href="https://unsplash.com/@valeria_cerbu?utm_source=unsplash&amp;amp;utm_medium=referral&amp;amp;utm_content=creditCopyText"&gt;Valeria Cerbu&lt;/a&gt; on &lt;a href="https://unsplash.com/s/photos/goose-duckling?utm_source=unsplash&amp;amp;utm_medium=referral&amp;amp;utm_content=creditCopyText"&gt;Unsplash&lt;/a&gt;&lt;/p&gt;

</description>
      <category>seniority</category>
      <category>career</category>
    </item>
    <item>
      <title>Dangers of working extra hours</title>
      <dc:creator>Arsen</dc:creator>
      <pubDate>Sat, 10 Jul 2021 22:49:01 +0000</pubDate>
      <link>https://dev.to/aismagulov/dangers-or-working-extra-hours-50m0</link>
      <guid>https://dev.to/aismagulov/dangers-or-working-extra-hours-50m0</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;Disclaimer: It is not your fault if you are in a situation where you have to work uncompensated extra hours. Sometimes it is hard to find a job; changes can be scary, so you stick to whatever you have at the moment. However, it is also not normal, and in most countries, it is a violation of labour laws. Please don't put up with it; there are better places to work.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;It used to be common for an employer to convince employees that working uncompensated extra hours is good - that it makes you "a part of the family", it shows your loyalty. Sometimes your next promotion depends on how many extra hours you worked. Luckily, this abusive practice is becoming a thing of the past. So I'm going to talk about situations when developers choose to work extra hours.&lt;/p&gt;

&lt;p&gt;It is especially in the COVID era that many people felt like they don't work enough, so they started spending 9-10 hours working from home. I made an effort to limit my workday to 8 hours, and from time to time, I remind my colleagues and friends to do so.&lt;/p&gt;

&lt;h3&gt;
  
  
  A tired brain can't evaluate how tired it is
&lt;/h3&gt;

&lt;p&gt;The tricky part is that we have to use the brain to estimate how tired our brain is. A tired brain tends to make lousy conclusions. The same happens when evaluating how drunk or how underslept we are. Only by using external markers (counting glasses of beer, hours of sleep, or hours of work) can we gain a somewhat reliable understanding of our mental state. Even if you feel like you are as efficient as in the morning, your brain might be just lying to you.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;We have an 8-hours workday only because &lt;a href="http://www.todayifoundout.com/index.php/2011/05/why-a-typical-work-day-is-eight-hours-long/"&gt;in 19th-century striking workers negotiated to reduce it from 10 hours&lt;/a&gt;. I assume the work at that time was very different from what we do today. Are the same standards applicable to modern intellectual jobs?&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;The most important result of a developer's work is not the code but all the decisions you make while writing that code. Making decisions requires willpower which depletes during the day. The more tired you are, the more you are inclined to cheat, take shortcuts, avoid difficult conversations. In software development, that doesn't lead to good things.&lt;br&gt;
(A great book on willpower is &lt;a href="https://www.penguinrandomhouse.com/books/307869/the-willpower-instinct-by-kelly-mcgonigal/"&gt;"The Willpower Instinct" by Kelly McGonigal"&lt;/a&gt;)&lt;/p&gt;

&lt;h3&gt;
  
  
  Working extra hours is an alarming sign
&lt;/h3&gt;

&lt;p&gt;If one of your team members consistently works more than 8 hours, it's a sign that something goes wrong.&lt;br&gt;
The most probable reason is a project being delayed. The developer sees that a delay is inevitable and tries to make an extra effort. It could be because she feels personally responsible. It also could be that she tries to protect herself from being blamed when the delay becomes obvious.&lt;/p&gt;

&lt;p&gt;It is great if you can catch this early, because:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;First, now you know that the project is getting delayed, and you have time to reconsider the plans. &lt;/li&gt;
&lt;li&gt;Second, it is a great chance to show the developer that you care about her mental health and psychological safety. It is more important to have consistent productivity every day than try to burn yourself fast. Overworking does lead to burnout, especially when you realize that your two extra hours per day can't "save" the project. &lt;/li&gt;
&lt;li&gt;Finally, it is a chance to explain that changing plans is usual in software development. Either you have 1) a fixed project scope and a flexible deadline or 2) a flexible scope and a fixed deadline. Both fixed scope and a fixed deadline is unrealistic. (This is borrowed from &lt;a href="https://basecamp.com/shapeup/1.2-chapter-03#fixed-time-variable-scope"&gt;"Shape Up" by Ryan Singer&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;In summary, nobody benefits from one developer working uncompensated extra hours. The quality and speed go down, the developer suffers mentally, they will need time to recover later, and their sacrifice is essentially for nothing.&lt;/p&gt;

&lt;h3&gt;
  
  
  A particular case of newcomers/junior developers
&lt;/h3&gt;

&lt;p&gt;Some developers think that newcomers/junior developers should invest extra time in learning the new codebase. Others say: "I wouldn't encourage it, but I would do it myself". In my opinion, it depends on factors like the person's ambitions and the complexity/importance of their work. The more important the work, the more I insist on a maximum of 8 hours per day. However, in the first 3-6 months, people usually have relatively safe tasks. If it is just reading and learning, I will only remind them that they don't have to work more than 8 hours.&lt;/p&gt;

&lt;p&gt;Photo by &lt;a href="https://unsplash.com/@bthjnr?utm_source=unsplash&amp;amp;utm_medium=referral&amp;amp;utm_content=creditCopyText"&gt;Beth Jnr&lt;/a&gt; on &lt;a href="https://unsplash.com/s/photos/late?utm_source=unsplash&amp;amp;utm_medium=referral&amp;amp;utm_content=creditCopyText"&gt;Unsplash&lt;/a&gt;&lt;/p&gt;

</description>
      <category>mentalhealth</category>
      <category>overwork</category>
      <category>management</category>
      <category>productivity</category>
    </item>
    <item>
      <title>Learning as a senior developer</title>
      <dc:creator>Arsen</dc:creator>
      <pubDate>Fri, 09 Jul 2021 21:33:42 +0000</pubDate>
      <link>https://dev.to/aismagulov/learning-as-a-senior-developer-30k9</link>
      <guid>https://dev.to/aismagulov/learning-as-a-senior-developer-30k9</guid>
      <description>&lt;p&gt;"Things I already know eventually bore me, and things I don't know stress me out. It feels like the line between the two gets thinner with each year." &lt;a href="https://twitter.com/dan_abramov/status/1205975645618130944"&gt;Dan Abramov&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Learning is stressful
&lt;/h3&gt;

&lt;p&gt;Everyone keeps saying that you should learn a new programming language every year. &lt;/p&gt;

&lt;p&gt;But how exactly do you learn a language? When can you say that you have learned a language? I remember that when I learned my first languages, I was excited about everything. Usually, I just practiced the syntax, the keywords, the OOP features. And it would make me happy about myself.&lt;/p&gt;

&lt;p&gt;Years later, I know that besides syntax, keywords, operators, and OOP / FP features, "knowing a language" includes:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;1-2 popular frameworks and libraries;&lt;/li&gt;
&lt;li&gt;package managers;&lt;/li&gt;
&lt;li&gt;adjacent technologies and tools;&lt;/li&gt;
&lt;li&gt;building and deploying what you have written;&lt;/li&gt;
&lt;li&gt;writing tests and knowing test frameworks.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Learning a new language is more frustrating when you already have programming experience. You realize just how much you don't know yet. In your primary language, you are fluent and quick, you are so used to comfy old shoes. With the new language, every other line of code requires searching or reading documentation. It is just the sheer amount of things to learn that is overwhelming. Every gained piece of information seems like a grain of sand in the desert of knowledge.&lt;/p&gt;

&lt;h3&gt;
  
  
  Mixing in some familiar things
&lt;/h3&gt;

&lt;p&gt;How to make the learning process less stressful for a tired senior developer? The idea is to use current skills as much as possible. That way, I can intake the new knowledge in small portions while still getting some noticeable progress.&lt;/p&gt;

&lt;p&gt;I want to learn Go, so I reuse:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Deploying with a &lt;a href="https://hub.docker.com/_/golang"&gt;docker container&lt;/a&gt;;&lt;/li&gt;
&lt;li&gt;Designing a REST API in &lt;a href="https://swagger.io/specification/"&gt;OpenAPI format&lt;/a&gt;. Firstly, it is nice to have a layer of abstraction between the frontend and the backend code. Secondly, the &lt;a href="https://echo.labstack.com/"&gt;echo&lt;/a&gt; framework has a code generator &lt;a href="https://github.com/deepmap/oapi-codegen"&gt;oapi-codegen&lt;/a&gt; - I can read the generated code and learn from it. &lt;/li&gt;
&lt;li&gt;Using &lt;a href="https://hub.docker.com/_/postgres"&gt;PostgreSQL&lt;/a&gt; as the database - I am familiar SQL databases, PostgreSQL is a popular choice, and there is a also popular ORM library &lt;a href="https://gorm.io/"&gt;gorm&lt;/a&gt;;&lt;/li&gt;
&lt;li&gt;Using something familiar for the frontend, like Vue.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Where I started
&lt;/h3&gt;

&lt;p&gt;These decisions already simplified my life - I don't need to choose frameworks, I know that I'll use echo and gorm.&lt;/p&gt;

&lt;p&gt;Instead of reading golang documentation, I started with echo's "Hello world" deployed in a docker container. It immediately gave me the feeling of something real that I do.&lt;/p&gt;

&lt;p&gt;The next step was designing a simple REST API in the OpenAPI editor, with just one type of resource and basic CRUD operations. First, I generated and ran the classic PetStore example from OpenAPI and then replaced it with my own.&lt;/p&gt;

&lt;p&gt;Finally, after making it work, I added the basic code for PostgreSQL connection with &lt;code&gt;gorm&lt;/code&gt; and tried writing and reading from the database.&lt;/p&gt;

&lt;p&gt;I wrote very little code yet, I even didn't write any loops or switches. I have a very vague understanding of Go so far. But I have a server with an API that can write and read the DB. I can also deploy it in the docker container. How much of the language did I learn? How well do I know the language now?&lt;/p&gt;

&lt;p&gt;Photo by &lt;a href="https://unsplash.com/@tmdpw?utm_source=unsplash&amp;amp;utm_medium=referral&amp;amp;utm_content=creditCopyText"&gt;Tim De Pauw&lt;/a&gt; on &lt;a href="https://unsplash.com/s/photos/tired?utm_source=unsplash&amp;amp;utm_medium=referral&amp;amp;utm_content=creditCopyText"&gt;Unsplash&lt;/a&gt;&lt;/p&gt;

</description>
      <category>learning</category>
      <category>go</category>
      <category>psychology</category>
    </item>
    <item>
      <title>Team's external factors</title>
      <dc:creator>Arsen</dc:creator>
      <pubDate>Sun, 25 Apr 2021 12:14:42 +0000</pubDate>
      <link>https://dev.to/aismagulov/team-s-external-factors-4a26</link>
      <guid>https://dev.to/aismagulov/team-s-external-factors-4a26</guid>
      <description>&lt;p&gt;I looked into my working experience in different teams, and I compared how I feel about them. I didn't have any criteria in mind, but in the end, I got a list of factors that we couldn't affect as a team. Therefore, I'm talking about the team's external factors.&lt;/p&gt;

&lt;p&gt;In my career, I've been in six different teams. I ranged how satisfied I was with the work and what were the reasons. It all came down to three items:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;how many projects a team handled;&lt;/li&gt;
&lt;li&gt;how many teams worked on the same codebase;&lt;/li&gt;
&lt;li&gt;how good the manager was.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;(By manager I mean the person directly above the team - an engineering manager or a CTO.)&lt;/p&gt;

&lt;p&gt;Here is my rating, from the best team to the worst:&lt;br&gt;
#1 - one team working on one project, good management; &lt;br&gt;
#2 - two teams working on one project, good management; &lt;br&gt;
#3 - many teams working on many projects, good management; &lt;br&gt;
#4 - one team working on many projects, okay management; &lt;br&gt;
#5 - one sort-of-a-team* working on one project, okay management; &lt;br&gt;
#6 - many teams working on one project, bad management. &lt;br&gt;
*I was the only constant team member, while other developers occasionally joined me to help.&lt;/p&gt;

&lt;h3&gt;
  
  
  Observations
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Software management framework didn't matter at all. We followed Scrum more or less closely in teams #2 and #6, a home-brewed process in team #3, and we didn't have any specific organizational process in teams #1, #4 and #5. There is no correlation between how we organized our work and the position in the rating.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Working on many projects was a bit inconvenient. You have to focus on many things simultaneously, and it creates an additional cognitive load. It also comes with more frequent switching of the context, leading to a loss in velocity or quality. Also, it is harder to maintain the focus on what is important for each of the projects.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Many teams working on one project was a more serious issue. Not only it affects the quality, but it also decreases motivation. &lt;br&gt;
If you can't claim ownership of a part of the code, it is hard to feel fully responsible for it. Then it becomes harder to dedicate yourself to quality. What is the point of making a good design, refactoring the code, covering it with tests if at any moment "an outsider" can come and break everything? You thought everything was fine, but in the meantime, somebody hacked a global object in the middle of your code and marked all the failing tests as ignored because fixing them was too complicated. It's like tending to a garden where anyone can make a barbecue on top of the flowers.&lt;br&gt;
This is when people start asking themselves - is there any point in doing the job well? In the worst situation, I saw a developer said: "I don't even care about the final product anymore, I'm just a cog in the wheel, I do as I'm told".&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;To my own surprise, the most important factor seems to be the management. It is hard to describe the management quality in a couple of sentences, but I'll try my best:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Good managers were capable of listening, were open to dialog, gave autonomy to the team. They were interested in everyone's success, and they helped everyone to grow.&lt;/li&gt;
&lt;li&gt;Okay managers were not too helpful, but they trusted us and didn't stand in our way. It was more of old-school carrot-and-stick management: "Do the job, and I won't get mad at you, and there might be a bonus".&lt;/li&gt;
&lt;li&gt;Bad managers were interested in their personal success more than ours or the company's success. Sometimes they obstructed our work - probably because they were afraid to be undermined. There was no trust, and typically there were many lies, empty promises and political intrigues. Even if you manage to learn something under such management, you grow at a much slower pace than you could have.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  What to do
&lt;/h3&gt;

&lt;p&gt;In my opinion, there is a perfect setup of one team per one project, and it is achievable. If you put enough effort, bring enough facts and arguments, and repeat them enough times to the right people - it might take months, but the company's processes can change.&lt;br&gt;
Having an okay or a bad manager is harder to handle. There is always a passive approach - to ignore, work fair and honestly, become emotionally insensitive, and hope your manager will leave the company or get promoted. From a lousy manager you can learn how not to be one - that's something, I guess. And you can always try to become a good manager yourself!&lt;/p&gt;

&lt;p&gt;Cover photo by &lt;a href="https://unsplash.com/@alwig64?utm_source=unsplash&amp;amp;utm_medium=referral&amp;amp;utm_content=creditCopyText"&gt;Alex Wigan&lt;/a&gt; on &lt;a href="https://unsplash.com/s/photos/ibis?utm_source=unsplash&amp;amp;utm_medium=referral&amp;amp;utm_content=creditCopyText"&gt;Unsplash&lt;/a&gt;&lt;/p&gt;

</description>
      <category>team</category>
      <category>organization</category>
      <category>management</category>
    </item>
    <item>
      <title>Optimize for decision making</title>
      <dc:creator>Arsen</dc:creator>
      <pubDate>Fri, 09 Apr 2021 19:46:35 +0000</pubDate>
      <link>https://dev.to/aismagulov/optimize-for-decision-making-36kn</link>
      <guid>https://dev.to/aismagulov/optimize-for-decision-making-36kn</guid>
      <description>&lt;p&gt;When working in a team, my first concern is access to knowledge. Access to knowledge is necessary to make good and fast decisions, and decisions are the main output of a developer's work.&lt;/p&gt;

&lt;h3&gt;
  
  
  Software development is making decisions
&lt;/h3&gt;

&lt;p&gt;The developer's job is not just writing code; it's making decisions. Sometimes it is writing code, but it might also be:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;deleting code;&lt;/li&gt;
&lt;li&gt;reading code to answer a question about some behavior;&lt;/li&gt;
&lt;li&gt;reading logs to restore the sequence of events;&lt;/li&gt;
&lt;li&gt;reading through code and tickets to find how a specific decision was made;&lt;/li&gt;
&lt;li&gt;organizing and moderating meetings;&lt;/li&gt;
&lt;li&gt;writing documentation or meeting notes;&lt;/li&gt;
&lt;li&gt;explaining code and business logic to newcomers.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Broadly speaking, the essence of knowledge work is using knowledge sources to produce and multiply new knowledge bits. I call the process "making decisions". In software development, the newly created knowledge is manifested in code, documents, or sometimes just conversations and ideas in people's heads.&lt;/p&gt;

&lt;p&gt;If it were only about writing code, the developer's job would have been a lot easier (and somewhat boring). Imagine that all the decisions are made by someone else, and you are just writing down what that person tells you. At this point, they could have written the code themselves. From junior to senior, every developer has to make hundreds of decisions - from naming a variable to balancing code quality and project delivery. The more experience and trust you gain, the more impactful decisions you make.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;As my colleague phrased it: "Pushing the keys on the keyboard is not the tough part - you also must know in what order to push them". &lt;/p&gt;
&lt;/blockquote&gt;

&lt;h3&gt;
  
  
  Enable every team member to make decisions
&lt;/h3&gt;

&lt;p&gt;The faster and the better decisions a developer makes, the more value she delivers. If you are responsible for a team and the team's performance, enable everyone to make decisions.&lt;/p&gt;

&lt;p&gt;We can make only a certain amount of decisions per day. There is a limited mental resource to a person's ability to make decisions. If you are trusted to lead a team and want the team to be more performant, you have to distribute the decision-making. If you take most of the decisions on your own, you limit the whole team to your level. Instead, invest time into helping everyone on the team to make decisions.&lt;/p&gt;

&lt;p&gt;The two factors for a decision are gathering the input information and making conclusions. Making conclusions is a skill to learn, and it's a career-long journey. But providing the input information is something you can improve faster.&lt;/p&gt;

&lt;h3&gt;
  
  
  Input information is the raw material of decisions
&lt;/h3&gt;

&lt;p&gt;They say that developers spend only 10% of their time writing code and 90% reading code. Some of the biggest time-sinks are:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;finding out if some behavior is a bug or a feature;&lt;/li&gt;
&lt;li&gt;finding out how a new feature is supposed to work;&lt;/li&gt;
&lt;li&gt;implementing something in one way, without knowing that the specification was changed;&lt;/li&gt;
&lt;li&gt;implementing a feature that was already dropped;&lt;/li&gt;
&lt;li&gt;understanding how the code abstractions interact with each other;&lt;/li&gt;
&lt;li&gt;understanding when the code abstraction is broken;&lt;/li&gt;
&lt;li&gt;re-implementing something because of not knowing the design conventions;&lt;/li&gt;
&lt;li&gt;not knowing the internal tools that could have sped up the work.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;A lot of this time/effort waste is caused by communication gaps - between team members and between departments. We usually detect communication gaps with reflection, 1-to-1 meetings and team retrospectives.&lt;/p&gt;

&lt;p&gt;Some rules of thumb:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Provide the necessary information in time. &lt;br&gt;
Toyota used the Kanban system to deliver supplies for manufacturing cars. We manufacture decisions, and our supplies are information.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Write down the answers to repetitive questions or show other people how to answer them. Multiplying knowledge in the team speeds up the work tremendously.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;To eliminate waste of efforts, schedule regular meetings with customers or stakeholders. This way, you won't implement features that are not needed. Also, you can inform on time if you are behind schedule, so no one gets unpleasantly surprised later.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Encourage asking questions and be ready to answer them. A direct question gets a faster and more precise answer. On the other hand, it might be interrupting and more time-consuming. Keep your cool and find a proper balance. In general, team members communicate closely, and sometimes the communication might take the form of pair programming or mob programming.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>team</category>
      <category>teamwork</category>
      <category>knowledgework</category>
    </item>
    <item>
      <title>Why we work in teams</title>
      <dc:creator>Arsen</dc:creator>
      <pubDate>Sun, 28 Mar 2021 16:20:38 +0000</pubDate>
      <link>https://dev.to/aismagulov/why-we-work-in-teams-4g5i</link>
      <guid>https://dev.to/aismagulov/why-we-work-in-teams-4g5i</guid>
      <description>&lt;p&gt;Throughout my career, I worked in different team and environments; some were better; others were worse. Some teams were supportive, collaborating and productive; others felt alienated, too competitive and too slow at the same time.&lt;/p&gt;

&lt;p&gt;In the last few years, I got interested in the topic of teamwork and collaboration. What makes the team a good team? How can we affect it? Every team and every person are individual, but are there founding principles of effective collaboration? These are questions I am researching.&lt;/p&gt;

&lt;p&gt;But first, why do we even work in teams? Everyone is so used to work in teams that it feels like something by default. But to optimize, we need to formulate first why working in teams is preferable. Here are my observations:&lt;/p&gt;

&lt;h4&gt;
  
  
  Parallelization
&lt;/h4&gt;

&lt;p&gt;A group of developers delivers a task faster than a single developer. Of course, there are many "ifs", there are limits to the size of the group, but there is a truth to it in general. There is a certain gain with growing the number of people - not linear, but at least logarithmic.&lt;/p&gt;

&lt;h4&gt;
  
  
  Cross-functionality
&lt;/h4&gt;

&lt;p&gt;A group of people with varied skills can deliver a more complex product. There is a lot to know in software development, and it is impossible to know everything. So we choose specializations - servers, clients, databases, machine learning. Four people with deep knowledge in different areas can do more than one person who knows a little bit of everything.&lt;/p&gt;

&lt;h4&gt;
  
  
  Two heads are better than one
&lt;/h4&gt;

&lt;p&gt;We all have our career paths; we go through unique experiences that make us better developers over time. We learn practices and techniques from colleagues and books, and then we meet in one team. The team's combined experience is more extensive than each personal view. Discussing the ideas, approaches, and practices allows us to choose the best way for a particular case.&lt;/p&gt;

&lt;h4&gt;
  
  
  Bus factor, sharing tacit knowledge
&lt;/h4&gt;

&lt;p&gt;Developers come and go. Every developer who is leaving a company takes away her share of knowledge. There is a lot of tacit knowledge in software development - tricks, hacks, weird use cases, that appear here and there in the codebase. Tacit knowledge is something you forgot that you know. It is hard to share such things when you work alone. But when you work together every day, there is a much larger chance that tacit knowledge gets distributed. A team forms a shared "knowledge cloud" that exists in everyone's head. When one person leaves, the knowledge is mainly preserved.&lt;/p&gt;

&lt;h4&gt;
  
  
  "Management"
&lt;/h4&gt;

&lt;p&gt;Ten to fifteen years ago, companies were obsessed with "individual performance", "lazy employees", "motivation", carrots and sticks. Since one person cannot hand out carrots and sticks to fifty people, five managers would be in charge of ten people each. These groups would be called "teams". Luckily, these times are going away. Nowadays, management work is shifting towards personal development and goal-setting.&lt;/p&gt;

&lt;p&gt;So, these are the reasons that I keep in mind when thinking of team efficiency. We have a good team if we:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;have the necessary knowledge and skills;&lt;/li&gt;
&lt;li&gt;deliver what we are tasked to do;&lt;/li&gt;
&lt;li&gt;do it in the best possible way.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;But how to make it a great team? I will keep writing about my discoveries, but I invite you to share your thoughts.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--_B6i9CvR--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/8nj604jc3wavnhjka2kp.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--_B6i9CvR--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/8nj604jc3wavnhjka2kp.jpg" alt="Alt Text"&gt;&lt;/a&gt;&lt;em&gt;&lt;center&gt;"Bodie, Doyle, Tiger, the Jewelry Man!" (from "IT Crowd" TV show)&lt;/center&gt;&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Cover photo by &lt;a href="https://unsplash.com/@brock222?utm_source=unsplash&amp;amp;utm_medium=referral&amp;amp;utm_content=creditCopyText"&gt;Richard Lee&lt;/a&gt; on &lt;a href="https://unsplash.com/s/photos/birds-migration?utm_source=unsplash&amp;amp;utm_medium=referral&amp;amp;utm_content=creditCopyText"&gt;Unsplash&lt;/a&gt;&lt;/p&gt;

</description>
      <category>team</category>
      <category>teamwork</category>
      <category>people</category>
    </item>
  </channel>
</rss>
