Software Developer – Starter Kit

Jumping from a controlled environment of education to an open world industry with lots of choices and paths is not natural nor easy. The education system is half preparing us for real-life problems and use cases, and most of the “solving algorithms” being thought have an ideal context for simplicity reasons.

I found myself that among entry-level developers and people looking for a career shift, there is a need for a roadmap: something that will guide them towards a successful professional developer career in an efficient way – nobody wants to waste his time.

I learned some lessons that I would have liked to know when I took this path by trial and error. Here is my Software Developer Starter Kit that I carried in my backpack while traveling this road.

1. Find yourself a mentor or somebody to admire

Either if it’s a senior colleague or a software developer you follow on Twitter or YouTube, you need the vision, steadiness, and creativity of somebody better than you. You need to learn how to focus and how not to get lost in details. You need to learn how to learn.

Imitate, Assimilate, Innovate.Pragmatic Thinking & Learning, Andy Hunt

It’s not a secret: every job has to be learned, tested, and improved, and the best thing to do this is to watch a master doing it. Usually, you will find this person without too much effort. He’s the guy that everybody respects in your company because he proved himself by delivering high standards results. Watch him work, watch his behavior, watch his attitude in different situations, ask him what he does to improve his work and what you can do to improve yours.

If you’re not in the luck of having such a person in your company, look for a source of inspiration online. There are lots of guys out there that share tutorials, courses, and projects. These people know what they are doing – they are professionals. Watch them. Learn from them.

2. Read a lot

I remember I was not much of a reader myself because of the imposed literature in school. I was in the industry for some time when I met my mentor. Guess what his first advice was?

There’s no shortcut to learning a craft; you just have to put the years in.Kylie Minogue

Well, reading is a kind of shortcut to learning the craft of software. Take it this way – a guy with some years of experience decided to gather all the information on a specific subject and put it in a 300 pages book. He distilled the information, reviewed it, improved it, made a couple of drafts, and then showed it to some other professionals that gave their opinion. Then he published it to the world. It would definitely take more time for you to look and understand that volume of information by just practicing and searching matching subjects on StackOverflow.

I believe that starting a journey with a book provides you with the necessary resources to succeed. It’s like a map of where you are and where you can go.

3. Code code code

A mentor and a book provide can provide wisdom, but that alone is not enough to be a professional. You need to practice.

Everything is practice.

With some background knowledge of the domain you’re diving into and some inspiration from your mentor, you are good to go. There are lots of projects you can start with. There are even websites full of ideas that you can pick from. Don’t make it too complicated – use the main idea and start from there. The rest will follow and remember: you’re learning, not starting a business(not yet, at least).

A simple but efficient method that I found interesting is learning by finding differences between languages, frameworks, and libraries. After I finished a project, I started again in a different language or using another approach. Try writing something in Java and then in C# or Python. If you wrote a front-end application in Angular, try to build it using React or Vue.JS. If you used a synchronous approach to a problem, try asynchronous.

4. Keep going

It’s fair to say that it’s not easy and there is a lot of information. In the beginning, many things won’t make sense, and you will easily get lost and discouraged, but don’t worry – it’s normal. You will get tired, feel overwhelmed, and definitely spend hours figuring things out, but it is well worth it.

Quality is never an accident. It is always the result of intelligent effort.John Ruskin

After some time, you will start to recognize patterns and feel like you’re familiar with a subject, giving you confidence. That confidence will power your curiosity. On the other hand, you will lose that confidence often when misjudging a situation or misusing information. The lesson you must learn is that with enough time, everything can be familiar.

I met some younger developers that were chasing money before they got to know the project, the domain they were working in, or the technology they were using. I’m not saying to spend your entire life at one job practice Javascript until the end of it(if there’s any), but before making such decisions focus on your personal improvement. The money will come and go, but the knowledge will stay. And you can produce money anywhere with that knowledge.

5. Make connections, not friends

We spend approximately one-third of our lives working. Our industry indeed offers the opportunity to work from home much easier than others, but be true to yourself: it’s still work. We spend an essential part of our entire life next to some people that we call “colleagues” and sometimes know so little. But we cannot help it. We are social beings, and we like to communicate and be part of a community.

One hand will not wash the other for nothing.

Usually, there are birthdays, weekend parties, team buildings, and some other events that bring people together in a company. These events create bonds between employees and help unify the team, but these bonds are dangerous. I’ve seen people that took decisions about their career based on the relationships at work.

I believe it’s good to have some relationship with your colleagues, one that will provide you with information and connections but if it comes to choose between a better job and an unknown social environment and the current job and a comfortable social environment, always go for the first one. You never know that the current situation will last forever or that the other environment will not be more comfortable. And either way, if you really have friends, you can see them outside of work.

This is my starter kit and I wish I knew these things 5 years ago.

How to start a movement to change your company’s culture

Intro

If you’ve worked for a few years, you’ve probably had the back luck of running into an organization with a toxic culture. Or maybe the culture was not toxic, but it wasn’t great either – it kept going on a steady course, and nothing extraordinary made it rise above mediocrity.

These situations often trigger a sense of expectation from the organization’s leadership team. We naturally feel that if they lead the company, they are also responsible for our well-being. While this is true, most leaders wouldn’t even know there is a problem, and some wouldn’t even care – after all, things have worked like this so far. So why should they bother now?

This situation raises anger in most employees, especially the dedicated and talented ones. The best advice would be to run off and find a company with a culture that suits your values. Or, if you’re on cruise control, just ignore everything and go with the flow.

However, if you decide to stay and do something about it, here are some steps on how you could start changing the culture:

1. Understand the current culture

If you’ve made it so far, you probably feel part of a not-so-great culture. Before taking action, you need to become an impartial observer. Emotions can be very deceiving and, when not identified and appropriately treated, may lead to wrong perceptions and bad decisions. 

Once you become a “legitimate” observer, it is time to analyze the current state of your culture.

Find what’s missing

Start with what you think is missing and determine the source of the events in retrospect. 

  • Is it a recurring situation? 
  • Does it happen to anyone else? 
  • Did you hear anyone else complaining about these things? 

These questions could be helpful remove subjectiveness from your analysis. In some companies, people might be afraid to speak up, so you might as well just ask them.

Test the mission, vision, and values

Not having any is a big red flag.

  • Are they connecting to what’s happening? 
  • Is the decision-making process based on this system? 
  • Do people enforce the culture through artifacts, stories, or behaviors?
  • Is anything missing or, worse, contradicting the culture?

Analyze behaviors

Watch the interactions and behaviors of the people. Interactions and behaviors seem like an open book as you walk “through” your culture. Scanning and analyzing how people behave can reveal a great deal of information.

  • Do they follow a particular pattern when it comes to decision-making?
  • Are they communicating effectively?
  • Are feedback and knowledge sharing part of the culture?
  • How are they dealing with the crisis?
  • Are people more self-oriented or team-oriented?
  • What’s the level of politics or gossip?

Map processes

Map processes and practices for a better understanding. This refers to both documented and undocumented patterns people follow in dealing with situations.

  • How strict are the processes?
  • What’s the level of freedom in decision-making?
  • Is it a flat structure or a hierarchic structure?
  • Is there an onboarding process?
  • How does the reward and recognition system work?
  • How is the performance evaluated?

Research history

Look into the company history and its stakeholders. Try to find out where the company comes from, who’s leading it, and why they would choose to have a culture like that. There could be many hidden reasons behind it that may not be obvious at first glance.

  • Are the leaders intentionally choosing and fostering this culture?
  • How risky is it to start acting differently?

This is essential to clarify before proceeding, as your actions may lead to your firing.

2. Define your movement

Once you’ve identified how things are and how people behave, it is time to define what you would do differently, why, and how these changes will help people in the future. Remember that movements are not about yourself but the people joining the movement.

Branch out

Do not drift from the vision and mission. While values might change to adopt a more effective way to operate, the mission and vision are the reason the company exists. While there is a temptation to come up with a better mission and vision, keep in mind that this is not your organization, and you are only doing this to improve the company.

Think critically

Be frank about how changes will fit the current context. While researching what you can do to improve the company culture, you’ll end up reading a lot of exciting ideas. Over the last years, the information on company culture just exploded, and there aren’t good or wrong decisions you can make – just decisions that are a good fit for the given context. For example, promoting an unlimited-vacation-days policy is ineffective in companies where people have low intrinsic motivation for their work or don’t believe in the company’s mission.

Tell a story

There’s no movement without a great story. To sell your ideas, you need an inspiring story about how things will be in the future and what great life everyone will have if you succeed. This is your advertising, and the culture is your product. Reaching prospective “clients” and turning them into members of your tribe is your number one priority.

Be heretic

Be a bold leader. People do not join the movement for you; they do it for themselves. To become an inspiring leader and make people believe in the movement’s mission, you need to get 110% passionate about your goal and 120% devoted to your success. You need to assess that failure is not an option, and you will do whatever it takes to get there.

3. Create a clique

Beginnings are the most challenging part of any project and can become a demotivating factor. Challenging the status quo is not easy; change will always be interpreted as a “bad” thing because it threatens stability, and you’ll definitely meet with resistance.

Core-team

First, find a few people to sell your story. These people might be the co-workers you spend time with or your teammates. You don’t need to convince everyone, and you surely won’t. So the first step is to test your hypothesis and see how many people are willing to contribute. The second step is to reach a 15-17% adoption rate of the total number of the team, department, or company employees, depending on your scenario. 

Caveat: if you plan to change the company’s culture, it is better to start converting your team, then other groups, and then the whole department before going global.

Keep repeating

Set the story on repeat. The story of your movement should be played every day, with every occasion. Keep reminding people why they’re doing this, why it matters what they do and what the end will be like. Faith is a critical factor, especially in long-term endeavors. Changing the culture is not a few-days task. It will take time, and people need to be reminded why they do what they do to stay motivated.

Foster the network

Convince others to convince others. Once you have a small, stable clique, you can expand and start talking to other people from other teams or departments. Listen to their problems and emphasize by telling them you had the same issues and solved them with the new culture and how you’re doing things differently in your team. The advice you offer, hopefully, will start expanding around the organization.

Find an enemy

In some cases, a villain can help strengthen the need for change. Unfortunately, scapegoating is embedded in our nature. People love finding reasons or excuses for their current situation instead of doing something about it. The enemy could be the current culture or some individuals who are not compliant with how things should be. Creating a tunnel for negative energy toward a villain can instill a sense of battle and a desire to win. But be careful – this road can also lead to undesired results if not handled well.

4. Build artifacts

Brand your movement

Now that you have a mission and a crew, it’s time to brand your image into something tangible. You should give your unit a name and maybe create a logo. T-shirts, mugs, bookmarks, backpacks, office toys – everything you can think of should be transformed into an artifact of the new culture. A rewarding system might boost the group’s energy, such as giving prizes to people who recruit other people or who achieve essential milestones in your strategy.

Make it personal

Artifacts are powerful and create a sense of belonging and cohesion inside the group. But making some of them personal has even a bigger impact. For example, you could collect funny statements from your peers that you can print on bookmarks. You could also create artifacts relative to specific individuals’ unique skills. For example, you could create a brooch with an “ambassador” icon for someone good at influencing others into joining the movement.

Mark important moments

Celebrating wins attracts the desired behavior in your movement. Therefore, you should not miss any opportunity to recognize and reward such moments with unique artifacts such as medals, trophies, or nameplates. These items are best offered in a ceremony. Watch out for competition at this step, as others may start to feel they’ve been mistreated. Try to be clear about what an important moment is and what it takes to get there.

5. Make it visible

Show off

Now that you have the whole arsenal, it’s time to show it to the world. Wear your artifacts proudly and be sure others notice your culture. You should let the new culture express itself as much as possible. You’ll probably meet with criticism and negativity but don’t worry. This is just a sign that you’re on a good path. People do that when they feel threatened or scared.

Promote

You should make the most of any chance you get and talk about how you’re doing things now, how impressive your processes are since you’ve joined this movement and how good you think the future will be if everyone does what you do. This is when recruiting is at its full potential, and it’s practically self-sustaining.

Close the circle

It is good to make public the great parts of the new culture and let others know and use them. However, there should also be some “members-only” activities. This makes members feel rewarded and appreciated while instilling in others the desire to have that experience. These activities might include personal development workshops, work-related workshops, outside-the-office activities such as parties or team buildings, and so forth.

Conclusion

Changing the culture is possible even when you’re not in charge or in a top-level position. Leadership is built on influence, not authority. As long as you believe in your mission and foster a community of belonging, you have all the chances to succeed. 

Change is about innovation. Take the lead and provoke the status quo.

Five Enemies of Leadership

Most leaders are able to lead people to a certain extent, but only the best leaders are able to inspire and motivate their teammates to push beyond boundaries. This is because the best leaders have learned how to overcome or eliminate anything that may hinder them from being effective leaders. When left unchecked, leadership enemies can sabotage your success and may even lead to your downfall.

Do you know your enemies? Here are the five leadership enemies you must be aware of.

1. Ego

Ego is one of the worst enemies of a leader and yet one of the most silent. It can do more damage to a leader and his team than any other enemy because it goes right to the core of who we are as human beings. An overinflated ego can cause a leader to make decisions that are not in the best interest of their team or company, simply because they feel that they are above reproach.

One of the most common effects of ego is focusing more on oneself than the team. This can show up in many different ways, from taking too much credit for a team’s success to not giving enough credit to others to feeling threatened when someone else gets attention. When leaders are focused on themselves instead of the team, you have a recipe for disaster—people begin to feel like their work isn’t valued or appreciated, they don’t trust you or each other, and they may even start to see you as manipulating them.

Another symptom of ego is having a hard time admitting when you’re wrong. It’s a common human flaw, of course, but it’s especially dangerous for leaders. When you can’t accept that you made a mistake, it means you’re not learning from your mistakes and thus you’ll keep making them over and over again. If you’re too busy trying to prove that you were right, then you’re not actually doing the work of fixing things—you’re just trying to come out on top.

2. Compromising on Values

Leadership is about standing for something in particular and being the kind of person others respect, trust, and follow willingly. If leaders compromise their values and beliefs, they destroy their own integrity – the engine for authority and power; once it’s gone, a leader can’t do much more than bark orders at subordinates or threaten them with repercussions if they don’t comply.

The workplace is full of compromises and difficult decisions. That’s just part of the job. It’s rare that a leader can achieve everything they want without making some concessions along the way. But there is a line between a compromise and a capitulation, between tough choices and selling out. The challenge for leaders is knowing where that line is and not crossing it.

We can’t always control the situations we’re in, but we can always control how we react. When you’re put against the wall, you must remember that your integrity is inseparable from your character. A leader who compromises his core values for the sake of a position or money will ultimately lose both because he has no backbone and thus no leadership skills—and people will sense this immediately.

3. Complacency

Complacency is defined as contentment with how things are and satisfaction with your current situation. A complacent person is one who is already satisfied and will not push themselves to reach new heights and will not make others reach new heights either. They become content and stagnant in their progression forward in their mission.

Sometimes leaders choose to focus solely on their purpose, ignoring the completely quality of their work. While this gives the highest value in the short term, it becomes a disease in the long term. When the quality of work lowers, the Broken Window effect starts to appear, and leaders can become complacent with the current situation.

The enemy of innovation is success.

When you fall into a comfortable routine, it can be challenging to stay motivated, especially when it comes to personal growth. Complacency can lead to an attitude of, “If it ain’t broke, don’t fix it,” which is the worst thing for any leader. While your routine may have gotten you where you are today, that doesn’t mean it’s enough to keep your moving forward. If you’re not growing and learning new things, then you’re falling behind.

4. Lack of Empathy

Empathy is the ability to put yourself in someone else’s shoes. It’s an awareness of both what people say and how they say it and how your words and actions will impact them. When leaders lack empathy, they can’t form strong relationships with the people who rely on them. In addition, they might be unaware of or unconcerned about their shortcomings as leaders, which can be caused by arrogance or simply ignorance of what makes a great leader.

One very real result of this kind of leadership is that these leaders tend to lose the respect of their staff members. They might be seen as uncaring, selfish, or harsh as they cannot change the lens through which they view the world. This behavior leads to complicated situations where the leader blames the employees for poor performance, cannot see past mistakes, and lacks the trust needed to form healthy relationships.

When a leader demonstrates empathy, employees are more likely to feel comfortable approaching her with concerns or questions. An empathetic leader will also be better able to communicate effectively with his team members because he’ll be able to adjust his tone and choice of words according to how he thinks the other person will respond best. This can increase morale by making everyone feel that they’re being treated fairly, making them more likely to be dedicated and committed to their work.

5. Not Challenging the Status Quo

Challenging the status quo is a tough job. It’s not easy to stand out and lead your team to success when everyone else seems happy with the way things are going. In fact, challenging the status quo can be downright dangerous. That’s because any time you challenge something, there’s a chance that you’ll fail. And that means that you might lose everything you’ve worked so hard to achieve.

But if you don’t take risks, your team won’t grow, learn, or evolve. It’s worth the risk, and I dare to say it’s your responsibility as a leader. You must push boundaries and be innovative and disruptive to achieve the best results for your company, team, and customers. You owe that to whoever believed in you to take the lead and you owe that to your team.

Challenging the status quo means:

  • doing things differently than how they have always been done before.
  • doing what you feel is right despite what everyone else says or thinks about it.
  • saying no when everyone else says yes.
  • thinking outside of the box instead of staying inside of it.
  • making mistakes that no one else makes because most people are too afraid to do anything different.

The Bottom Line

Now, take a deep breath, and see if you can recognize any of these enemies in yourself. Then, prepare for tomorrow wisely, and fight them so that you can hopefully lead the team to success.

How To Build And Maintain A High-Performance Team

As a leader, one of the greatest challenges you will probably ever face is building and maintaining a high-performance team that stays motivated and inspired to accomplish more every day. In a previous article, I broke down the concept of “high-performance teams” and what draws them apart from their less efficient counterparts. Therefore, it’s about time to go deeper into the topic and establish some actionable steps to create such a team within your organization:

Hire for attitude and train for skill

This sounds like conventional HR speech, but it’s true – the wrong attitude can sink even the most talented employee, while a team with diverse skill sets often outperforms one full of “rock star” employees who think they know everything. Second, make sure that everyone on your team understands how they fit in with the company as a whole and that they feel like they have an essential role to play in that big picture.

When it comes to building a high-performance team, personal compatibility matters more than skills and know-how. A CIPD survey found that 44% of workplace conflict comes from personality and working style differences.

Provide small and quantifiable challenges often

The feeling of succeeding provides momentum for people to work hard and motivates them to achieve more as individuals and as a group. Moreover, challenges determine people to rely on each other and collaborate to tackle them. Plus, if your team proves the ability to accomplish small challenges easily, chances are they’ll be able to handle more significant responsibilities down the road.

Protect the team from interruptions

To do its best work, a team needs to have uninterrupted time to get into the groove of working together – a process often hindered by bureaucratic barriers. Leaders should strive to remove obstacles and bureaucratic barriers that prevent team members from staying focused on their tasks. They should have a system in place to ensure that the team can communicate with each other and with the leader if they need something.

As a manager, you could eliminate unnecessary bureaucracy by reducing the organizational structure hierarchy wherever possible, decreasing the number of hands an issue must pass through before coming to a solution. Especially if the organization is small, a flat structure may work best to cut down on the number of layers between management and front-line employees. An inspiring example is Haier, a Chinese appliance maker who implemented an almost zero-bureaucracy model.

Provide strategic direction and purpose

It’s tempting to define success in terms of numbers, but what ultimately drives good performance is the passion for a common cause. If you want people to rally behind a goal, it has to resonate with them — and that means taking into account what matters most to them personally. Then make the vision one they can own by engaging them in its creation. A “top down” strategy will fall flat if people feel disconnected from it or don’t see how their personal goals align with your company’s larger purpose.

What’s more, without an inspiring vision leading the way, you’ll find it much harder to build a high-performance team. As Edie Goldberg, author of The Inside Gig: How Sharing Untapped Talent Across Boundaries Unleashes Organizational Capacity  mentioned, teams that perform at the highest level need “well-defined vision/purpose, and specific, measurable goals, as well as an agreed-upon approach for problem-solving and decision-making.” Clarity, structure, direction, and purpose are vital ingredients.

Provide chances for physical interaction and outside of work activities

A difference between a good, high-performing team and a bad team is if there is any connection between the team members outside their shared tasks. Not necessarily friendship, but at least a nodding acquaintance or the ability to talk about something other than work (and enjoy the conversation).

Research shows that high-performing team members build friendships and are more likely to view their teammates as kind and trusting. Moreover, members of high-performing teams typically receive twice as much appreciation from their mates and managers compared to other teams. At the same time, they are 66% more likely to support a colleague experiencing a health issue.

In conclusion, even if we are past branding workplaces as a family, as it’s proven that such claims lead to negative outcomes rather than positive ones, you can still nurture healthy relationships between the team members more subtly. You can see your team as a sports team and focus on building empathy and a sense of belonging while defining a performance-driven culture that stays to the transactional nature of each professional relationship.

Trust your team

Trust is the foundation of every healthy relationship, regardless of context. If you don’t trust your team, you will fall into the trap of fear-based management, where you micromanage and control instead of leading, motivating, and inspiring. Fear-based management may get the job done in the short term but kills innovation in the long term – something you don’t want to do when building high-performance teams.

As a leader, you also need to be aware that individuals may require different behaviors to trust you and their colleagues based on their personal and cultural beliefs. However, there are some generally available principles you could stick to: sharing thought processes and involving the team in decision-making, creating clear and transparent methods of working, showing interest and providing constructive feedback, dealing with conflict by searching for solutions instead of scapegoats.

The bottom line

As always, there is no silver bullet or foolproof way to build a top-notch team. But using a combination of the steps above can help you develop and grow a productive, results-oriented team that will bring your business closer to success. With the right people on your team and a little bit of effort on your part, you can build a competitive advantage that will lead to more positive results for your business in the future.

Why Are High-Performance Teams So Important For A Company’s Success

Imagine a team where everyone is firing on all cylinders. Everyone’s at the top of their game and functioning as an integrated machine. This is what it’s like to work in a high-performing team, but how do you achieve this?

In this article, we are going to have a look at what this buzzword that’s all over the corporate environment truly implies and what it could mean for your company. But first, let’s make sure we truly understand the “high-performance team” concept:

What is a high-performance team, and how do you recognize it

High-performance teams are an ever-green leadership topic describing a powerful asset able to tackle the most common issues organizations face nowadays: the lack of cohesiveness and collaboration. A high-performing team is not just a collection of talented individuals working together—it is a highly integrated group that is able to leverage its collective skills and knowledge to achieve goals beyond what any individual member could do on their own and come up with innovative solutions to complex problems.

Of course, depending on the organization and its goals, high-performance teams may work differently, but we could pin down some shared characteristics:

  • High-performance teams are comprised of individuals that have clear goals. Clear goals are at the heart of any successful team. Without clear goals, you may know what you’re working on today or this week, but you won’t understand why you’re doing it or what the end result should look like when the project is done. Goals tie the team’s work to the organization’s mission, purpose, and values. They provide a benchmark for success, showing how far you’ve come and how far remains to be traveled. And they give focus and motivation — if you know where you’re going, it’s easier to figure out how to get there.
  • High-performance teams are founded on mutual respect and collaboration enthusiasm. Sometimes, a team’s efficiency boils down to members actually liking each other, which, let’s face it – doesn’t happen very often in the corporate world. High-performance teams enjoy working together. They celebrate successes together and recognize individual contributions through gestures that may be as simple as a pat on the back or an “atta boy” in front of the group. These people speak highly of each other without any pressure. In a high-performance team, everyone feels comfortable speaking their minds without fear of reprisal and value each other’s contribution through praise and empowerment.
  • High-performance teams have low turnover. High turnovers are common for organizations with a faulty corporate culture, as mentioned in a previous article (link). The opposite is true for leaders who build high-performance teams tied together by shared values. When people enjoy the company of their workmates, even for casual conversations over coffee, they are less likely to come to a point where they despise their work and want to leave. Once a team becomes stable, people become comfortable in their clearly defined roles, and the group dynamic is solid, things are likely to stay that way for a long time.

Why are high-performance teams so important for an organization

According to McKinsey, start-up investors often value the quality of the team and the collaboration between its members more than the idea itself – 90% of them think the quality of the management team is the most crucial non-financial factor. As Reid Hoffman, LinkedIn’s co-founder, put it, “no matter how brilliant your mind or your strategy, if you’re playing a solo game, you’ll always lose out to a team.” If you’re looking for a sign to build a high-performing team, this is it, and this is why:

  • High-performance teams are highly effective and productive. High-performance teams make the difference between just good and great results. They cut down on internal conflict, streamline communication, and reduce information bottlenecks. These factors can lead to significant improvements in quality, efficiency, and speed of a company’s operations.
  • High-performance teams are highly autonomous. The scale of the challenge of building a high-performance team is comparable to that of building a small company within a larger company. You need to select people with the right skills, give them autonomy, offer them enough resources and support, and create a culture that effectively enables them to work together. Once you manage to do that, your role as a leader would be to support them in achieving their goals – they’ll do the rest on their own.
  • High-performance teams deliver high-standard work. Such teams take pride in their work and go above and beyond to maximize its quality. Even if they work as a whole, each member is aware that their actions are essential for the team’s success. As communication is smooth, their decisions will always be well-informed, based on a deep understanding of the problem at hand.
  • High-performance teams are very adaptable. In a high-performance team, members act as peers, not as a hierarchy. Even though their roles are clearly defined, they are willing to help each other when something comes up and adapt to change more quickly. Every team member has an equal right to offer their opinion and participate in the decision-making process.
  • High-performance teams are more likely to succeed. One of the chief reasons teams perform poorly is that they are not cohesive. When the members are clashing with one another, are not on the same page, or are simply not working together effectively, the team cannot perform well. This challenge is eliminated when it comes to high-performance teams that feel personally invested in what they achieve as a whole.

The bottom line

In summary, a high-performance team improves overall performance by leveraging the strengths of each member. The most successful teams are comprised of members who take ownership of their tasks, foster well-defined goals, and create an environment that values constructive feedback and collaboration. Leaders should understand what makes a high-performing team function, implement tactics that encourage open communication, and focus on building teams made of individuals who are compatible on a personal level as well.

Leading The Post-COVID Organization

While the world continues to scramble to contain and overcome the pandemic, businesses will do whatever is necessary to ensure continuity and survival. To grow and thrive in a world post-COVID-19, companies need to demonstrate fast digital transformational capability into a pandemic-proof organizational model.

Customer behavior, media consumption, and employees’ expectations have changed overnight. Leaders that aim to keep their companies afloat as we are heading into the new normal need to become sharply aware of the consequences of the pandemic and the possible scenarios. In this article, we are going to dive into the pillars that need to be prioritized by companies that aim to thrive, not just survive, in a world plagued by substandard and outdated leadership.

A change of vision

According to McKinsey’s survey, the COVID-19 crisis marks the fundamental shift in the way companies are doing business. The research shows that companies have taken a quantum leap at organizational and industry levels, accelerating their digital capabilities by three to four years, particularly for customer interactions and supply chains. The share of digital or digitally enabled products on their portfolio has accelerated by a shocking seven years.

Two new-age technologies in the spotlight

Quantum computing and Blockchain are two new technologies that stand out and can be leveraged to further push the digital transformation. Even though a commercially viable quantum computer is not attainable yet, experts believe managers should prepare by focusing on vigilance and visioning.

Vigilance involves monitoring how quickly technological milestones are reached, while visioning refers to using quantum computing to identify future needs, opportunities, and weaknesses.

Blockchain solutions could be core enablers of the increasingly digitalized post-COVID world, providing plenty of opportunities for corporations and small businesses alike. The first thing a company of any size can do is accept cryptocurrency as a payment method, reducing transaction costs and proving a commitment to digital transformation.

Decision-making process improvement

The traditional executive mindset is well equipped for the “business as usual” environment, where decisions are based on plans and projections that assume stability. Leaders must make up for uncertainty by acting more quickly in a disruptive world, defined by urgency and imperfect information. Aside from implementing agile technology solutions able to suggest data-driven solutions, there needs to be a shift in mindset as well. When operational or tactical decisions need to be made, one of the most daunting challenges organizations experience is devising a strategy, learning, adapting, and fixing potential mistakes.

Management 3.0

As stated above, leading a post-COVID organization requires more than adopting new-age technologies. Making company culture a top priority and ensuring that everyone in your organization is aligned around the formulated values, switching from performance evaluation to performance coaching, and investing in your employees’ development could set a foundation of stability that’s challenging to shake up in times of crisis.

In the past, a manager was expected to be a high achiever and hold a stuffed CV, but today’s leaders must be able to connect with employees at an emotional level and generate alignment in their teams. This is what separates good from outstanding leadership. In this era of workplace transparency and flattened organizational structures, people want to work for someone who understands, inspires, and supports them.

COVID killed the traditional workplace environment

The most apparent impact of the pandemic is the increase in people across various business verticals working remotely, having leaders realize that providing employees with the opportunity to work on their terms is more productive.

A survey conducted by McKinsey in 2020 showed that some companies intend to shift to flexible workplaces due to the positive experience with remote work and even reduce office space by 30%. Of course, specific endeavors such as brainstorming sessions, negotiations, onboarding, and critical business decisions are best done in person.

Complete flexibility in the post-pandemic workplace

COVID clearly showed us that focusing on employees’ wellbeing drives better ROI than overworking them and sticking to outdated rules such as the 9-to-5. Fewer working hours are more efficient and productive in countries like the Netherlands, as workers motivated by the prospect of an extra day off are more likely to focus on completing their tasks and forgo typical distractions.

Complete flexibility does not imply a lack of structure. Leaders who want to keep their employees happy and productive should start by understanding their needs, as certain flexibility models should be applied at an individual level. While some employees may opt for unlimited PTO, others prefer a shortened workweek or remote work. Others are more creative and productive working at night. Perhaps the only rule of thumb is to focus on achievements rather than hours logged.

Moreover, many high-profile companies like IBM, Netflix, Buffer, LinkedIn, and Kickstarter adopted a premise that may sound audacious at first: unlimited holidays. Providing employees with the option to take more time off improves work-life balance and attracts new talent, as it tells people they are trusted enough to manage their workload and tend to their personal issues.

Plus, everyone with internet access has seen that meme stating that “COVID made us all realize how many meetings could’ve been an email.” The conclusion that leaders could drive from such a joke is that they should prioritize optimized meetings and processes in the post-COVID world.

The bottom line

Companies that will succeed after emerging from the COVID-19 pandemic will be those that didn’t rely on egotistical, non-productive leadership and made a conscious decision to strive for digital transformation, mindset changes, and flexibility. In the current framework, where resource constraints are a common-day challenge and one’s ability to deal with change is critical, companies need to optimize and transform their business models to align operations to emerging market challenges.

The companies that focus on quickly implementing efficient changes and making big-bet decisions to adjust their internal and external processes to a volatile business landscape will be those to thrive in the post-COVID world and beyond.

Five Clues Your Company Culture Is Not Healthy

The fact that an unhealthy organizational culture can negatively impact your business is a no-brainer. Whether it’s a toxic workplace or one that suffers from an excess of team conflict, ineffective decision-making, or a lack of personal accountability, the end result is likely to be the same. Business challenges are rarely solved, customers are unhappy, and your employees are likely to resign on the first given occasion.

It’s about time for corporate leaders to be honest regarding the real issues that keep them from thriving in their field. Spoiler alert: it’s not because a certain employee missed a deadline or arrived late two days in a row. You have to address the root of the issue, admit that you may have a cultural problem, and then find ways to fix it.

Without further ado, let’s have a look at five signs that you have an unhealthy organizational culture:

1. Involvement scarcity

According to Gallup’s latest report, 85% of employees are not engaged or even actively disengaged at work, which results in approximately $7 trillion in lost productivity. 18% are actively disengaged, while 67% are simply “not engaged,” which means they are not necessarily unproductive but utterly indifferent to your company. They complete their tasks, but they lack motivation, enthusiasm, and willingness to share new ideas.

If you’re reading this article, you’re probably dealing with a gut feeling that your most brilliant employees are simply not giving their best or are slowly decreasing in motivation. When they started, they were probably coming to work with a desire to make a difference, but they never felt appreciated or listened to enough to keep up the sentiment.

2. Ambiguous communication

If you feel like the communication in your company is lousy, people are running in circles, not knowing what to do next, collaboration is missing from the scene, and there’s tension between coworkers when their responsibilities collide – you are not the only one. A Gallup research showcases that only 13% of employees firmly declared that communication within their workspace is effective. Communication provides a window into an organization’s culture and impacts its every aspect.

The side effects of ineffective communication range far and wide: from low morale, mistrust, feelings of meaninglessness, and lack of accountability to blame-shifting, burnout, and inability to collaborate.

Typically, poorly-functioning communication is viewed as an individual problem, a trait of the least skilled at the art. However, we argue that organizational miscommunication can often be traced back to structural issues caused by ignoring the importance of these three factors: shared goals and values, healthy relationships, and trust.

When people share a common goal and values with their coworkers, they feel comfortable talking to them–and they are better able to judge whether or not they can trust a given individual or officials. In other words, for communication to flow freely both ways (instead of being one-way), there needs to be some overlap between these three dimensions.

3. Low trust levels

Corporate leaders always preach the importance of building trust with the company’s clients but sometimes take internal trust for granted. If we call on formal research once again, studies show that a high-trust workplace environment makes employees:

  • 76% more engaged with their jobs;
  • 74% less stressed;
  • 106% more energetic at work;
  • 29% more satisfied with life in general;

The flip side is that lack of trust makes companies dysfunctional, hindering collaboration and innovation. Instead of fostering healthy collaborative relationships, your employees will develop a fear of sharing ideas, lack of motivation to take the initiative, gossip behind each other’s backs, and showcase manipulative traits.

4. High turnover

A mix of high turnover and short employment periods indicates that your company culture needs work. High turnover is highly disruptive, eating away at your innovation, continuous improvement initiatives, and efforts to build a high-trust culture.

It’s challenging to pinpoint the culprits: it may be the lack of values and vision that represent the driving force of your organization, the fact that your employee’s motivation is exclusively determined by money, benefits, and titles, poor leadership direction, or a combination of all. The result is always the same: employees lose their motivation fast, the dynamics succumb to chaos, and you lose valuable talent instead of retaining it.

5. Reputation issues

You don’t need a dedicated Glassdoor page to determine if your company has a bad employer brand that alienates customers and new talent. If there’s a group voice whispering on the internet or through word-of-mouth that “things are not ok there, stay away,” the morale is in decline, you never seem to hire new talent based on recommendations, and employees resigned in groups at least once, your company culture needs immediate improvement. An unhealthy organizational culture leads to presenteeism, burnout, high turnover – which will ultimately impact your reputation.

Many famous cases prove how bad reputation impacts even multi-million dollar companies. Tech companies have gone above and beyond to lead innovation around company culture.

Still, headlines show that it’s not all happy employees playing video games at work and discussing ways to change the world over free coffee and cookies. Terms like “aggressive and unrestrained,” “churn and burn,” and “toxic” generate lasting bruises on tech giants’ reputations. Sometimes, all it takes is one employee saying out loud that “managers pay lip service to core values.”

The bottom line

Culture is a nebulous concept, and it can be hard to identify the common factors that make up a company’s culture. While there is no one-size-fits-all approach or set of metrics, there are some early warning signs that a culture problem may exist. When these warning signs become particularly pronounced, they can indicate a deeper, more systemic problem in the organization. At this stage, an organizational culture assessment can really make a difference by identifying the issues and providing tools to begin fixing them.

Homelab Kubernetes Cluster – Part 0

Kubernetes has become a standard in cloud deployment. As a result, deploying your application in the cloud using Kubernetes or tools based on it is very common. In the beginning, playing with Minikube satisfied our needs, curiosity, and knowledge-seeking. But, as we move towards production environments and start to understand high availability and scalability, we realize we need more powerful toys with lots of CPU, RAM, and storage for testing and experimenting. In the following months, I will describe in a step-by-step guide how I built my homelab cluster for Kubernetes, what were the mistakes I made and how I solved them, and what you should consider before going on this road.

End-Goal

The end goal is to have an up and running Kubernetes cluster at home, ready to run and scale applications.

Virtualization

I will build the cluster using Proxmox VE 7.0, an excellent open-source virtualization management platform based on KVM, with over 15 years of proved history. I found it to be very flexible and easy to use. In addition, it offers out-of-the-box features like automatic VM backup, notifications, replication, fencing, a Ceph Interface, and many more.

The obvious alternative would have been VMWare vSphere, but the price for three physical hosts with two CPUs was, at the time of this writing, around 600 euros per year. If you are willing to pay this amount of money for the virtualization technology, I suggest going for it. It is more common in software companies, and you will probably have more chances to run into VMWare than Proxmox.

Kubernetes distribution

I will be using a Kubernetes (v1.21+) distribution cluster using Ubuntu Server 20.04 virtual machines and Microk8s, Canonical’s lightweight Kubernetes distribution. At this point, I will branch out into how to run a K3s(Rancher’s Kubernetes distribution) and OKD(RedHat community Kubernetes distribution) cluster as they are the most used alternatives to Microk8s.

For storage, I will be using multiple technologies such as NFS and iSCSI on a separate TrueNAS server, Ceph, and MinIO. I will also detail how to install and configure a TrueNAS server to work with Kubernetes and Proxmox.

Considerations

Having a homelab sounds very cool, and when you see a complete rack in your home office, it definitely feels fulfilling. Add some Prometheus dashboards, and you have an absolute masterpiece. Soon, you’ll be inviting fellow developers over to show them your new pet and brag about how powerful it is and how many things it can be.

But…You should consider the following aspects:

Hardware cost money

Depending on your end goal and on how much you are willing to spend on the metal pieces, you should decide on a budget and stick to it. Next, you must consider infrastructure parts such as HDDs, SSDs, cables, routers, switches, UPSs, and probably an air conditioner.

Things will break

Two of my second-hand HDDs crashed in my first two months, then one cooler, and then an SFP+ cable. These are pretty cheap components, but you should take into account that they will require maintenance.

Heat & Noise

In the beginning, I was planning to keep them in the custom “rack” that I built (see the picture at the top) in my living room. I soon discovered that the heat produced couldn’t be ignored, and I had to keep my AC full throttle all day long. The noise, on the other hand, was unbearable. Even from another room with the door closed, I could hear them.

Long story short, I ended up building a two square meters room dedicated to servers and storage where I installed an air conditioner, a dehumidifier, and a temperature and humidity sensor. And, of course, a very thick door.

Know the hardware

Be sure you understand the limitations of the hardware before buying it. The price difference between an HP Proliant 380p G8 and an HP Proliant 380 G9 has a reason behind it. Check the performance of CPUs and RAM against your requirements. If you plan to deploy CPU-intensive applications, you should focus more on the CPU, especially on high frequency per core. If you plan to host websites or deploy microservices with low to medium resource requirements, you should focus more on RAM.

On the storage part, it’s the same story – HDDs or SSDs, Hardware RAID, or Software RAID. Check your I/O disk requirements. You might find out that HDDs are more than enough for your needs.

Learning curve

It’s not easy. If you come from the Software Development world, as I do, then you’ll have to strengthen your patience and buy a lot of coffee. There will be long nights, you’ll reach long-forgotten forums and threads, and there will be days when you’ll go to bed with more questions than you woke up with, which will put you out of your comfort zone big time.

Conclusion

Either you plan to host your applications or play around with Kubernetes, it’s a good skill for a developer to have. It will broaden your knowledge, and you will have to get used to things such as Switches & Routers, Networking & the OSI model, Linux & Scripting, Virtualization, and so on.

These skills will probably become “nice to have” for the full-stack position shortly. According to CNCF’s survey, in 2020, 83% of the respondents are using Kubernetes in production. This rate increased by 5% from the previous year, and these trends confirm that the adoption will continue.

Stay tuned for the next article to find out more about the hardware choices, topology, and budget.

Remotely Add Linux Host To TeamViewer Account

Working remotely has become a standard these days, and accessing our computers remotely has become a necessity. In the life of a developer, this necessity is even greater if you add to your list a secondary computer, the office computer, a home lab, test machines, virtual machines, and so on. Although the terminal is enough to do a remote job, there are situations when you need to actually see the screen and run some desktop applications on it. In the following sections, I will detail how to install and configure Team Viewer on Linux remotely so you can access it easily using the application. Team Viewer is one of the most popular remote access and control applications, and the best thing about it is that it is cross-platform!

Prerequisites

  • sudo credentials to access the remote machine
  • a Team Viewer account
  • a terminal

For this article, I’ll be using two hosts, one running Ubuntu 20.04LTS and one running Fedora 34. The machines will be accessible via SSH.

Ubuntu

Step 1: Connect to your host

Open a terminal and connect to your host using SSH.

The host must have an SSH Server running for this to work as it is not installed by default.

ssh username@host

Step 2: Install TeamViewer

Install Team Viewer using the latest official package.

cd /tmp
wget https://download.teamviewer.com/download/linux/teamviewer_amd64.deb
sudo apt install ./teamviewer_amd64.deb -y
sudo teamviewer daemon start
# Make teamviewer start when the system turns on
sudo teamviewer daemon enable

Step 3: Set up TeamViewer

Next, we are going to use the TeamViewer CLI to connect the host to the official account.

sudo teamviewer setup

You’ll be asked to accept the License Agreement and then to input your username and password. The first login will fail as TeamViewer requires the user to trust devices before adding them to the account list.

Step 4: Trust the device

At this point, you will have to open your email and trust the device.

Once you’ve added the device to the trusted list, type the username and password into the terminal. Select yes when asked if you want to add the host to your computers group. And that’s it!

Now, if you log in to the TeamViewer app, you’ll see the newly added host.

Other Commands

# Stop Teamviewer
sudo teamviewer daemon stop

# TeamViewer won't start automatically when the system turns on
sudo teamviewer daemon disable

# Uninstall TeamViewer
sudo apt purge teamviewer -y

Fedora

Step 1: Connect to your host

Open a terminal and connect to your host using SSH.

The host must have an SSH Server running for this to work as it is not installed by default.

ssh username@host

Step 2: Install TeamViewer

Install Team Viewer using the latest official package.

cd /tmp
wget https://download.teamviewer.com/download/linux/teamviewer.x86_64.rpm
sudo dnf -y install teamviewer.x86_64.rpm
sudo teamviewer daemon start
# Make teamviewer start when the system turns on
sudo teamviewer daemon enable

Step 3: Set up TeamViewer

Next, we are going to use the TeamViewer CLI to connect the host to the official account.

sudo teamviewer setup

You’ll be asked to accept the License Agreement and then to input your username and password. The first login will fail as TeamViewer requires the user to trust devices before adding them to the account list.

Step 4: Trust the device

At this point, you will have to open your email and trust the device.

Once you’ve added the device to the trusted list, type the username and password into the terminal. Select yes when asked if you want to add the host to your computers group. And that’s it!

Now, if you log in to the TeamViewer app, you’ll see the newly added host.

Other Commands

# Stop Teamviewer
sudo teamviewer daemon stop

# TeamViewer won't start automatically when the system turns on
sudo teamviewer daemon disable

# Uninstall TeamViewer
sudo dnf remove teamviewer -y

Summary

Installing TeamViewer using the terminal is pretty straightforward, and the CLI is straightforward to use. The TeamViewer team provides some more options that can be inspected using man teamviewer or teamviewer --help for a shorter version.

In a World of Power, Stay Humble

The longing for and pursuit of power is nothing new. We live in a time where a business tycoon became president, police are abusing their power, and corporate greed is still an everyday norm. But, something about all of this is different this time around. We’re not standing for it. We’re seeing ego, greed, corruption and we’re calling it out. It’s important to stay humble and think twice before you speak – especially if you’re in a leadership position.

The Stanford Prison Experiment

In 1973 this experiment went underway to determine if brutality inflicted on prisoners by guards was due to hostile personalities, or due to the power associated with their role. The experiment found that “prisoners and guards may behave in a hostile manner due to the rigid power structure of the social environment in prisons. Zimbardo predicted the situation made people act the way they do rather than their disposition” (1). Participants were paid $15 a day to be a part of this experiment. They were “randomly assigned to either the role of a prisoner or guard in a simulated prison environment.”

The study goes on to cite, “Within hours of beginning the experiment some guards began to harass prisoners. At 2:30 A.M. prisoners were awakened from sleep by blasting whistles for the first of many “counts.” The counts served as a way to familiarizing the prisoners with their numbers. More importantly, they provided a regular occasion for the guards to exercise control over the prisoners.”

Intoxication of Power

According to this psychology article, power itself can be intoxicating and that is what pushes those in a leadership position to edge towards corruption. It is suggested that those who engage “in wrong behavior simply because they can and they can get away with it” (2). The saying “drunk with power” is a prime example of this. In a way, it’s people testing the new and more expanded boundaries of their reality, no matter the cost.

Be Humble, Sit Down

If you are in a position of power, especially if this experience is new for you, you may be wondering how you can keep your morals and not let your position of authority go to your head. Humility in leaders is rare and it’s what makes the good ones last. It takes more strength and courage to lead with humility than it does to abuse your power. Humility is a sought-after trait for top-performing leaders.

In Jim Collins’s book Good to Great, Collins “found two common traits of CEOs in companies that transitioned from average to superior market performance: humility and an indomitable will to advance the cause of the organization” (3). Additionally, a survey that included 105 software and hardware firms as participants was published in the Journal of Management and stated that “humility in CEOs led to higher-performing leadership teams, increased collaboration and cooperation and flexibility in developing strategies” (4).

In order to be humble, you must know how to admit fault and take accountability. Leadership and power tends to be observed more through the execution of actions. Do you give others credit where due? Do you take responsibility and accountability? How do you act when you receive credit, praise, a raise or promotion? How does your team see you? In an organization like Netflix, open feedback is encouraged and even required once a year. This process allows managers to review one another and their employees, and one step further, allows employees to review their managers as well. Employees are even welcome to cite feedback of the CEO and other leadership positions, all in an effort to keep everyone communicative, honest, and humble.

So, the next time you find yourself in a position of power and have even the slightest temptation to see how far you can go with that power, take a minute to pause. Think before you speak. Check-in with yourself and your morales before making decisions. In the words of Kendrick Lamar, “be humble, sit down.”