Quality and excellence are the key factors we focus on in every single project. Aiming to deliver the best products possible to our clients, we always strive to create state-of-the-art code and design. We care about what we craft.
The bar seems to be placed pretty high. So, how to pursue this perfection? How to keep up with the pace of technological change? How to stay vigilant in the fast-changing world while focusing on the day-to-day job at the same time?
Arguably, there’s no ultimate answer. At Polidea we believe that the determination to learn and grow as an individual is a big step towards becoming a professional engineer and designer. It’s also what keeps us motivated, inspired and leads to satisfaction and fulfilment. Let me share a few ways we try to develop our skills and broaden our knowledge.
Every informal group within the company—like iOS, Android, backend, frontend and VR/AR developers as well as designers and project managers—get together at least once every two weeks. The ritual meeting is an important habit of every internal community because it enables experience sharing, building common practices and constructive debates. Every single group is different so there are many meeting formulas—some are led according to the current needs or the spirit of the team. We have numerous internal talks as well as cross-project standups, conference videos watching or “just” conversations to firm up some aspects of the given problems. There’s even a company newsletter that presents some curated content from the web! Despite the “domain” teams (e.g. Android developers), we share a deep belief in unity. We try to widen our horizons through cross-domain talks, i.e. we host a designer or a project manager during iOS meetup.
Teach and learn
When speaking about learning there is one crucial aspect we can’t miss out—teaching. The best way to truly get one’s head around any subject is to actually teach someone. We encourage ourselves to share every single piece of knowledge we’ve got with others. Coming in a form of a short flash talk or longer presentation, it always requires a good preparation. It is also a perfect occasion to improve one’s presentation skills.
Being able to attract the audience, make them listen and provide them with something valuable proves high communication skills and enhances self-confidence. On the other hand, giving constructive feedback to the speaker helps him or her improve. It increases the level of understanding of the subject and turns one into a watchful and attentive listener. This is how people grow as individuals and gain mutual benefits.
The last thing I’d like to put emphasis on is building relations. Getting together is priceless in terms of creating safe and trustful atmosphere in the team. When we get on with each other well we communicate better; we get ideas across faster and in a friendly way, avoiding misunderstandings. All in all, we end up being more professional and effective.
Slack-time & Labs
It happens that people have short breaks between projects, when one ends and the new doesn’t start right away. We call it slack-time. For some companies that might be an issue but for us it is an opportunity. We try to make most of it by learning new things, experimenting with different setups and tooling and generally exploring unfamiliar tech realms.
The idea of doing more advanced research in hardware, IoT, VR/AR and other futuristic areas, called Polidea Labs, stems from our curiosity and the need for experimentation—slack-time made room for that. To make all this research more productive we continuously share what we’ve learned with others. Such experiments are usually followed by articles targeted at the broader audience.
Due to our determination to grow as individuals, teams and the technology company as a whole, we’ve created great open source libraries. Focusing on quality and the sense of responsibility to the community we’ve crafted widely used Bluetooth frameworks for iOS, Android and React Native. As a side effect, we learn how to cooperate with external contributors and how to develop long term projects keeping the bar high at all times. Resolving issues allows us to dive into the technology even deeper and become real experts in the matter. Contributing to the open source is also engaging and very rewarding—I’d recommend it to every developer.
Attending the well-established conferences with great speakers and valuable content is yet another way to learn. During such events we share personal experiences with people from the industry and can geek out a bit. Talking to others has this unique feature that it forces us to get outside of our comfort zone and lets us face different perspectives. Being humble in our own opinions helps us to stay open and ready to adapt new solutions. Finally, having in mind that teaching is invaluable we also try to speak and give lectures on local meetups and during bigger events.
Learning is important—that sounds corny, but it is not so trivial to figure out how to do it effectively. I’d say that every person and every company should find its own way to do it right. For us the best path to follow involves meetups, getting most out of the slack-time, contributing to the open source and attending conferences. The most important thing to take away from this article is to never stop learning and be always eager to explore new ways of doing it.
- Maciej OczkoHead of EngineeringMaciej manages technology learning in the company. We keep him responsible for adopting the best technical solutions for our customers needs. He also runs different projects as lead developer