Building high-performing engineering team

How to make your team effective

A couple of years ago, Google and it’s re:Work team published results of the study about what makes teams high-performing. What was the important takeaway? It’s not about who do you work with, but how do you cooperate as a team.

Psychological safety was called the most crucial dynamics that drive a team’s efficiency the most. It’s more critical than work meaning, or the impact we have on society. Feeling safe makes us more resilient, open-minded, and confident. According to HBR, the roots of it hide in our nature. The evolution developed our brains in a way where every threat is responded with fight-or-flight reaction. Each situation that we aren’t comfortable with results with narrowing the perspective and shutting down analytical reasoning. And the psychological safety is here to help with that.

It all sounds great, but now you can think — who should lead the change? What can I do to improve the psychological safety of my team? Those things don’t have to come from the very top. Actually, you, the team leader or even a senior software engineer, can have an impact on the psychological safety of teammates.


You need juniors in your team

Don’t underestimate less-experienced software engineers

Business is going well, and your engineering team is not a one-person army anymore. Instead, you have a couple of mid- or senior level devs on board. Now you need to grow a team to make your product even better. There is no better time to start hiring some less-experienced people.

This, of course, doesn’t always have to be true. Juniors probably won’t help you much if you are in the first phase of building rocket ships or quantum mechanics algorithms to solve NP-complete problem. But the truth is that the majority of tech products are built on top of existing solutions, SDKs/libraries, APIs, or managed cloud platforms. And this is the perfect space for a dream-team of junior and senior software engineers collaborating.

Hiring juniors is a great strategic move — it doesn’t have anything with your budget, but with keeping your tech stack and engineering team a top-class.

What does it mean?


Who is (not) a Tech Leader

It’s 4 years now when I have been leading mobile department at Azimo. Formerly as a Head of Mobile, and now as a Tech Lead. My background is purely technical and I started my leadership like many others — as the next step in my software engineering career.

Android Leadership

Effective mobile engineering

Building a mobile app isn’t only about coding. It is the entire process, automations and testing, code architecture and of course people behind all of that. I was writing about all of this in my latest blog post Fail safe, not fast.

Today you can also see the video from my presentation at Mobiconf 2018.
I was talking about our experiences from building mobile apps at Azimo. So if you are curious about how the relatively small team can build effectively an app for the global market, I invite you to watch this:

I also had a chance to share my insight during this year’s Google DevFest in Coimbra, Portugal. Slides from the updated presentation can be found on my SpeakerDeck.

I hope you’ll enjoy it. 🍿📺
Soon I’ll publish more posts about doing effective mobile engineering. Stay in touch!


Why you do the code? What is your reason for doing maintenance, tests, CI/CD, refactor?

If you watch TED Talks it’s pretty likely that you have seen one of the most viewed presentations: “How great leaders inspire action” by Simon Sinek.

The model proposed by Simon explains where the leadership success comes from. Apple, Wright brothers, Martin Luther King — they all have one thing in common. Something that makes people follow them — their dreams, their vision, their plans.

It is the well-explained reason why.


Throwback Thursday – building mobile app

About one year ago I had a privilege to share my experience with mobile dev community at Mobiconf conference in Cracow. Because of my introvert nature, it was a big personal challenge to stand next to a couple meters high screen and talk to the international audience. I also don’t like to watch my video recordings, but having in mind the message which I wanted to share, I believe that it’s good to remind this particular one from time to time.

As developers (and engineering team leaders) it is always good to remember what is the biggest value we can give to the company. In a time of data driven development, where companies constantly learn about their users and try to adjust the product to meet expectations I believe that the most important thing is the ability to iterate fast. To bring new value in the smallest release cycles with a product free of bugs.

And this is what my presentation is about. Why we should test, use dependency injection or automate delivery process. I show Android app as an example, but the same rules can be applied to iOS or any other client side platform.

Here is video recording from my talk: