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?

Random thoughts

Year in review 2018

Another year is over. Life moves fast, so it’s very important to stop for a moment and look at the past. For my wife and me, it’s already the tradition to sit together ☕, during one of the last days of the year, to sum it up.

Here, I’m sharing some of the key things that appeared on my list.


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.

Random thoughts

Jak zacząć karierę w IT (programowaniu)[🇵🇱 PL content]

This post is exceptionally written in Polish, to all those who are willing to start their professional career as a software engineer. If you think that the English version would be useful, I am more than happy to translate it. Just let me know!

Przez lata mojej kariery związanej z IT (dokładniej, programowaniem), wiele razy zostałem poproszony o poradę, jak rozpocząć pracę w tej branży. Pytania pochodziły od przeróżnych grup — uczniów, studentów, znajomych, którzy postanowili się przebranżowić dla zajawki i tych, których obecna praca zaczęła wypalać. Jako, że moje odpowiedzi były bardzo zbliżone niezależnie od grupy pytających, postanowiłem zebrać je w artykuł o tym jak zacząć karierę w branży programistycznej (IT to zdecydowanie zbyt szerokie pojęcie).

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!


Multi-module Android project codebase Basic setup with Dagger 2, Unit tests, jacoco report and others

Breaking the monolith to microservices is a well-known concept to make backend solutions extendable and maintainable in a scale, by bigger teams. Since mobile apps have become more complex, very often developed by teams of tens of software engineers this concept also grows in mobile platforms. There are many benefits from having apps split into modules/features/libraries:

  • features can be developed independently
  • project structure is cleaner
  • building process can be way faster (e.g., running unit tests on a module can be a matter of seconds, instead of minutes for the entire project)
  • great starting point for instant apps

In case you are struggling with multi-module Android project, I have created example app showing how to deal with things like:

  • Dependency injection with Dagger 2
  • Unit test
  • Jacoco tests coverage report

Even if those are very basic things, it can take some time to make them working correctly in multi-module Android app. To have working solutions in one place, I have created example project on my Github account. There will be more over the time (proguard, instrumentation testing, instant apps). But even at this stage it is also worth sharing.

Just take a look: MultiModuleGithubClient. Your feedback is warmly welcomed!


Random thoughts

Google I/O 18 AI everywhere

Spring geekfest goes on. Around one week ago we could see Facebook F8, taking place at San Jose’s McEnery Convention Center. Now, we are right after Google I/O 2018, probably the biggest developer and product conference (7000+ people attending), happening near to Googleplex, Mountain View. Here’s my short summary of what we could see in Shoreline Amphitheatre this year.

Random thoughts

Facebook F8 2018 Data protection, AI ethics, people-first

F8, the annual Facebook’s event intended for software engineers and entrepreneurs is over. If you couldn’t attend McEnery Convention Center in San Jose at May 1st to 2nd to get your 200$ Oculus Go for free, here are some takeaways from Zuck himself and the Facebook team.

If you quickly compare 2017 and 2018 you will realize that main theme is a bit different this time. “Keep building services for connecting people” now have the second part — “keep people safe”. And this was the starting point of Mark Zuckerberg’s show.


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.