Oleksandr Mamchich is the Head of the Mobile development department at Syndicode. He has a strong technical background as an iOS engineer and promotes a coherent and informed approach to innovations.
Tell us a bit about your work at Syndicode and what does your typical day look like?
I supervise mobile development processes and participate in related activities, such as presales, business analysis in projects, and interviewing candidates for positions in my department.
Usually, my workday starts with a synch call with the project team. Then follow the development tasks. Writing code is a major part of my work; the rest is communication with colleagues and stakeholders. I review the work of junior developers in my team, provide them with suggestions and tips, ensure the technical feasibility of requirements, and conduct consultations.
What prompted your interest in iOS development?
I’d say the career has chosen me rather than the opposite. In 2010, I applied to several positions and got accepted as a junior mobile developer. Since then, I have had multiple opportunities to work with various technologies, but almost everything was related to mobile.
Specifically, I worked a lot with Objective-C/Swift/C++ projects, 3D (OpenGL, Unity 3D), and machine learning frameworks (TFLite, CoreML). I also have experience with backend technologies, such as Python and Django, for mobile.
What attracted you to Syndicode?
Syndicode has a great team of people who are known in the developer community as pleasant to work with and excellent communicators. Personally, I always pay attention to the people I’m going to work with. I find it very important to have good communication within the department and beyond, and I highly value work-related relationships.
“Syndicode has a great team of people who are known in the developer community as pleasant to work with and excellent communicators.”
What is a misconception people often have about mobile development?
First, since the market of mobile applications is huge and growing, it’s easy to assume that a new app will gain traction. However, the income share of an average standalone application is negligible. Basically, it earns nothing. So, to get profit, one must build a mobile client app for a bigger infrastructure or create something that will outshine all other applications in its niche.
Second, people tend to think MVP is something simple and cheap. Yet, it is not always so. See, an MVP is the first introduction of your app to the market. If it provides a subpar experience, the next version, however awesome, may be futile due to negative ratings and marketplaces’ algorithms. The problem is, when you hear “Minimal Viable Product,” it’s tempting to focus on “minimal,” whereas you should focus on “viable.”
“When you hear “Minimal Viable Product,” it’s tempting to focus on “minimal,” whereas you should focus on “viable.”
Lastly, I often hear that mobile development is all about writing code. But as you delve into it, you understand that development is more about understanding business needs, use cases, and legal regulations. A successful project consists of the client’s needs being met on the one hand and an optimal selection of mobile platforms and best practices on the other.
Is there something especially exciting for you in being a mobile developer?
Mobile devices are special in their limitations, particularly concerning performance and battery life. To achieve optimal loading times at minimum power consumption, a developer has to know everything about hardware and ways to leverage its capabilities. These kinds of tasks are pretty exciting to me.
What technologies do you use? Why did you choose them?
I prefer native development as it allows for more control. Sometimes low-level tools like C++, Metal, or Vulkan yield the best possible performance-power consumption ratio.
On the other hand, I like Flutter for its efficiency in the development of trivial applications.
What’s your go-to method to keep your skills relevant?
I try to get to the bottom of every technology I work with and keep an eye on new tools and associated tech. In addition, I aim to consume more content on scientific and engineering topics by limiting time spent doomscrolling Netflix and TikTok and putting on DIY and popular science videos.
What trends in mobile development are you keeping an eye on?
I’m obsessed with everything related to achieving more with fewer resources. I’m poring over updates on machine learning and advances in high-performance computing. It’s enjoyable but also super important for my work.
What do you think about Apple entering AR? Will iOS go fully augmented reality?
Apple has great support for augmented reality projects compared to other players. However, the AR topic is rather overhyped, with the majority of solutions bringing no tangible value. So, it’s early to speak about any disruptions in this area.
Do you use the CI/CD method?
Sure. At Syndicode, we use Github- and Jenkins-based infrastructure due to the comfortable hooks and actions system. It allows us to automate development using pure git commands.
For delivery, we use mobile platform services such as TestFlight and Google Beta, along with the Diawi tool.
What advice would you give to a beginner in mobile development?
Everyone can handle mobile development, but it’s going to take time. Be patient and persistent. And start with native development – you will need it anyway.
“Everyone can handle mobile development.”
Outside of work, what do you do to recharge?
I like making things with my own hands and playing guitar. Sports and computer games help me recover from a long week, too.