16 deliciously wrong questions and hardly right questions to Piotr Chojnowski, Matsuu CTO
1. Who are you and why are you here? Are you sure you should be right
Currently I am a technical architect at Matsuu with several years of
experience in developing commercial software. My background is highly
related to Apple software and devices, mostly mobile solutions, I mean
iOS and the iPhones, iPads, Apple Watch. In nowadays I think it was a
good decision to focus on mobile solutions, so yes I can certainly say
that I am in the right place.
2. Who is the guy next to you? Do you know him? Do you understand him?
Do you want to work with him? Does he support you?
At Matsuu we try to be integrated as a one piece. We talk to each other
not only about work related things, also some private matters. It helps us
to get know each other better, what are our hobbies, interests, what do
we like or not. Getting know each other helps a lot in a daily basis work,
so we know if we can rely on a college, if we have a problem to who we
can go with it. That’s very important to feel confident, secure and
supported in your workplace.
3. What do you here? At the beginning of workday – and at the end?
As a technical architect I have a lot of duties through the whole work
day. I think that I can say, that my day generally starts with a good cup
of tea, reading / replying to e-mails and when I am warmed up I dive into
the whirl of challenges. We deliver mobile solutions with the highest
level of quality and with use of cutting-edge technologies. To maintain
this, we use Agile work methodology in a production process. My part in
this process is to design the applications architecture, so it can address
all of the user and business cases required by the client and also be
flexible to extend it in the future or even modify easily in the production
stage. The larger the mobile solution, the more complicated architecture.
In the meantime I develop the software for one of our iOS apps.
4. Why do you develop mobile apps and don’t write workloads for
supercomputers? Small is beautiful?
Nowadays, the mobile apps are part of everyone’s life. Most of the
people use the smartphone at least few times a day. It gives a lot of
possibilities to interact with possible users of our app. With a bright idea
we can create a life changing app. An app that millions of people will
use around the whole globe. It’s exciting, to help people on their daily
basis work, problems they need to solve.
Yes, small is beautiful, but also powerful.
5. Android or iOS? Or maybe Windows? Explain which modern mobile
operating system is better
I am choosing iOS without doubts. It’s secure for the user, the data that
the user stores on the device are very well encrypted. Second thing is
the UI and the UX, it’s designed to be friendly to the normal user, so he
don’t have to overthink what will happen, if he taps the button on the
screen. It’s intuitive. To summarize, security of the user and the design
of how the user can interact with the pocket computer to resolve daily
basis problems is the key value for me.
6. Your tools: how much do you hate them? Do you like living inside the
heavy IDE or dream about nice clean vi+gcc?
IDE’s are very helpful in my opinion in most of the languages. IDE help
you with hinting out the name of the variable, function / method, class
documentation. All of the steps you do manually can be more or less
automated for you which helps you directly in the source code
development. I prefer to stay in IDE’s world.
7. Is your mind fragmented? Or is your favoured mobile platform
fragmented? How do you cope with that?
I think that everyone’s mind is fragmented somehow, because we
identified that various parts of our brain are responsible for separate
things. Mobile platforms works similarly. Every part of the system makes
it’s thing and focus on doing it right, when done, passing the processed
information to the next module.
8. Explain the difference between classes and objects in terms
understandable to 12-years old. Or your CEO.
Do you see this red and shiny sport car over there? And can you see
that white limousine, and yellow cabbie? All of them can be grouped in
one as cars, right? Pretty obvious. But what a car is? Car contains of engine, drivetrain, wheels, well painted and polished car body, number
of seats for driver and passengers and many other things. What a car
can do? You can drive from point A to B. You can accelerate the vehicle
and stop it when the light turns red. All of this we can describe.
In programming world the car can be described with a class. The class can
contain variables, which for example describe how many wheels the car
has or how fast it can go. Things like acceleration and stopping, by
something which is called a method. A method is an action on a
particular car. So we can say, that a car is an instance of a Car class
9. Do you feel sometimes that your knowledge is worthless – or will be
worthless in five years?
I believe that every part of our knowledge is never worthless.
Sometimes you just can’t use it at the moment, but it does not mean that
you will not use it in the feature. From my point of view every day is a
school day. I learn every day something new and I try to memorize what
I learn to be able to use that knowledge when possible. Saying that I
believe that an experience is also like a knowledge, but it is a something
that you can’t read about in books.
10. What is the best comment in source code you have ever
Well, there was a lot of source code that I have seen already in my life.
The best what I remember was a funny one like this:
//When I wrote this, only God and I understood what I was doing
//Now, God only knows
11. Why did you educate yourself as programmer?
To be honest, when I was a kid I was interested in computers how they
work, how much faster is this CPU that another one and things like that.
When I grew up, I started writing my first programs on PC in Pascal
programming language. I wrote my first serious algorithm Sieve of
Eratosthenes at age of 15. Then I tried to do a command line game (text
game) with a state machine, so I jumped to the next language and it was
C programming language. And that’s how my journey began. Why I did
this? I think that it enjoys me and this is the best motivator.
12. Do you remember the rise and fall of Symbian?
Actually my adventure with programming on mobile devices began with
Symbian OS with Nokia, but as soon as iPhone and first release of iOS
for developers was released I shifted to that platform. For me the
Symbian fell in few days.
13. What kind of customers are you afraid most?
I think that a customer who doesn’t know what he wants. You can try to
propose anything in the world, but still the customer will be uncertain.
14. Why waterfall is better than agile but you must lie that it is
I won’t lie to you, agile is better :)
15. What was the weirdest coding standard rule you were forced to
The weirdest.. hmm I think that it was when I had to comment a line in
which there was a variable and in comments we had to explain what it
contains. I could argue about that days and days, but without luck. It
was a long time ago.
16. How does the internet work? Explain in terms that your CEO will not
HTTP, DNS, IP, SERVER, HOST, CLIENT, ROUTING, UDP, TCP. I think that I have
covered the most of it ;-)
Also published on Medium.