DEV Community

Cover image for Team Artisanship: Self-Aware Software Artisan
Mario Novak
Mario Novak

Posted on

Team Artisanship: Self-Aware Software Artisan

Our goal is to ensure individual’s and team’s purpose go hand in hand, reward and punish behavior appropriately, and make your time together the best time of your working life.

Team is about challenging currents of thoughts and feelings inside an individual, to achieve cathartic rejuvenation, while gathering around and bringing a resonant idea to life.


🏆 Your progress 🌏 🏄‍♂️

After you’re done reading: check the ⬇️ bottom of the page — you’ll find next parts of this series that cover diverse set of related topics!

📣 Coming soon!

I’m continually refactoring this series.

Subscribe to receive a single-page Manifesto: Scalable Software Development distilled to the ultimate truths; from the viewpoint of an Software Artisan.


Author’s experience

Data Sculptor, Architect of Systems and Products.

Founded startups in the fields of Education and Sports and led teams of up to ten people.

Worked, as a Systems Architect, Frontend, and Backend Developer, for a product company, a digital agency, and as a remote freelancer.

For more information, check my Personal Website.


🎷 Background song

Team vs. Own project from start to finish: Single mind versus many of them

Alt Text
Source

If you are a single mind working on the code, if you have the strength, will, and determination to pull it off from beginning to the end by yourself, you will have a greater chance to standardize the way of working than you would while managing a team of people.

It is possible to standardize the way of working while working in a team, but it requires more upfront systematization and planning while taking all of the stakeholders into account.

The amount of work that goes into the synchronization of multiple people in the team, in the way they work together, how they write software, goes up by their number and their characters.

A development team is like a national football team, you need a clear vision and strategy for every situation, you need to manage characters, styles, aspirations, defects, and prospects of everyone included.

You have a greater chance to win with 11 people than you would by yourself, but that also means more effort into managing everything.

Working with the team involves knowing: in what way and how much to reward anyone included, on individual and/or group level; how to punish individuals or the whole group for not carrying out what was in the strategy, etc.

It is of the utmost importance to develop a system of working so that all participants know the rules of the game and can accept, reject it or improve it on an individual and/or group level.

It is not as simple as pulling people into your group, growing the company to 100 or 500 people. Sometimes, a team of 11 in a few years, achieves more than those 500 in their lifetime. That’s on what we’re focusing here. (In the previous parts we’ve been focused on a individual.)

Leadership, Hierarchy, setting the differences, and moving forward

Alt Text
Source

In a healthy environment, the ideas need to be examined to determine the most optimal way forward.

Improving lousy ideas, learning from them

The best ideas need to be voiced and the lousy ones need to be determined exactly in which way they are lousy — to learn the lesson for that kind of thinking in those situations, for the future, and to improve them where it is possible, and possibly have those improved ideas take precedence over those better looking at a first glance.

Brewing the ideas, creativity needed for them

Ideas are created and voiced by the individuals. Biological makeup, environmental background (history, experience) of an individual — influence, and carve the ideas being laid out.

As those differences between individuals can vary… to have the most optimal results: it is important to have a mechanism of brewing those ideas and laying them out in a systematic manner.

How long to juggle ideas, when to pick and move forward

As we, as humans, are included in the process of brewing the ideas and wanting to hear the best ones from people included — you can quickly get into a loop of “meetings”, “brewing” that lasts hours, days, weeks, and nothing gets done, as more of the focus is given on spinning the wheels than on really moving forward.

Depending on the project, environment, short term, and long term goals — the system needs to decide upon the best ideas at a point in time that is logical. The main prerequisite is a short and long-term strategy that then guides the decision process in the future. People that are in leadership roles need to take authority, after enough time of brewing and competition between the ideas, and decide upon the best one, set out the strategy for carrying it out, and expect from the team to conform to the decided strategy.

Delegate responsibility incrementally

For any bigger in scope project, constrained in time, intertwined with complexity — it is important to have a system of delegation in place to bring long-term stability to organization.

Balance the responsibility throughout your organization.

Setting the differences

The role of a leader is deciding on the strategy of a team and taking every possible input into account.

When a decision is made, the team needs to carry out the orders.

The leader needs to settle any disagreements in a merciless but righteous manner.


Never underestimate anyone

People are in different spots in their life.

Appreciate each human on the base level and give respect where respect is due.

If you encounter a human that is in a rough spot in her/his life, know that you don’t know what is really happening in them. Even tough the problem seems like an easy one for you, the biological makeup of the individual could process the problem completely different from you, and vice-versa.

Don’t look at the clothes, watches, title of an individual. Look them into their eyes. There you will find the truth.

While speaking with people, know that everyone is afraid of you exposing their weaknesses, just like you are. The pressure goes up in a social situation — that’s why most people play it safe and try to be a chameleon while hanging out in groups. And the true nature comes up while being one on one.

Never underestimate anyone. No matter how sure you are in reading the other person, there is something deep in every human that can prove you wrong — if it is triggered.

Also, to be noted here — don’t overestimate people — clothes, titles, money — those are all indicators of something. And I will leave it up to you to decide how much it means to you.

So, to bring it home — value others as they should be valued while having basic human respect towards others.

Admitting that you don’t understand

Maybe this is the most important piece of the puzzle. Of telling when you don’t understand something. It allows you to grow, as you now know what needs to be tackled next. Otherwise — by being quiet to others and yourself — you are left in the dark. Acknowledge what you don’t know, firstly to yourself, then to others.

Maybe your family or friends don’t work that way. Or the environment around you. But in order for the professional part of your life, your art, your achievements to matter and spill that to other parts of your life — the crew you are artificially choosing need to be al-pair with this thinking.

The team needs to nurture and value individuals that can say: “I don’t know”. Or “So far, I haven’t figured it out”. Or “We didn’t solve that problem yet, but here is what we do know, maybe that will help you”.

But don’t hide from the problems with: “I don’t know. I’m out!”. Try your best, invest your time and focus on finding the solution.

Allow others to speak, to have the best ideas float to the top, but take dominance when you sense you’re right

Thus, present your truth to others.

And let the pieces fall where they may.

You are not in the team to make each other feel good.

We are not here to make each other feel good. We are here to kick ass, together.

And the feeling will come with time, on an individual and team level.

Don’t be nice. Let the creativity pour out of you. Say what you mean.

But also allow for good ideas to climb the hierarchy. Give a helping hand when it’s needed.

Helping others in your team

Help anyone you can with the transfer of knowledge, give everything you’ve learned to people around you.

Don’t worry, the ones who will value it — would get it anyways, with some time difference.

Help them with a personalized shortcut if you can. They will be there for you down the road. If not, at least you know you’ve helped someone to have a better life. That has more value than getting something touchable back from them on a fake intention.

Individual integrity

If you have any problem — solve it by talking face to face. If you’re right and if it doesn’t work — then escalate, appropriately.

You could degrade someones reputation with a single sentence. Especially if the other person cannot defend himself, or the information you’ve outlined is such that disqualifies the other person from ever playing again.

The same could happen to you. Be mindful and cultivate fair-play.

The one that talks to you about others, behind their back, will tomorrow talk about you — behind your back.

Look at the person as a whole, not from a single burst of positive or negative activity.

Teaching yourself and others

Teachers, like any other endeavor, can have multiple modes of being.

Most of the time, default mode, could be observing and injecting minimum amount needed to move the person where the person is already looking, but doesn’t yet have the courage to take the next step.

Thus, this is primarily, emotional support of trying out what the person already thinkers with intrinsically.

Whether you are teaching your sister, mother, father, friends, colleagues, or yourself — a status needs to be known of what is available and brewing in every person, before advising anything. This allows for accountability of what and why is being done.

Most of the time, the prize needs to be defined, this is mostly an emotional state that the person or the team achieves for a shorter or extended period of time. Honor and heroes' journey, we are mostly striving towards, intersect with these prizes. Thus, motivation needs to be known. And eyes need to be on the prize or on the ball.


Leading by example

A great leader knows how to follow; holds truth and heroes' journey as the ultimate tool of transformation and knows how to motivate his troops to get through the bad times.

The general idea is a all-encompassing pursuit of truth, awareness, and fulfillment on shorter and longer time spans, through a theme of working, depending on the objective.

Alt Text
Source


Find this useful?

👏 Clap so more people see the story.
❤️ Support your friends and colleagues at work — share this essay with them!
🚀 Use it as a, Company or Personal, Manifesto! Fork and Adapt on GitHub!

🏆 Your progress 🌏 🏄‍♂️

  1. Intro

  2. You — A Human Being

  3. Your Health

  4. Question Everything

  5. Deep work

  6. Joining a Software Company

  7. Starting a Software Company

  8. Team Artisanship — ✺ You are here.

  9. Product Artisanship — 👈 Next up!

  10. Code Artisanship

  11. Finishing up


Cover photo source: Remember The Titans

Top comments (0)