Back to All Posts

Cosmin on His Growth Path from Mobile Developer to Software Architect

A few months into his new role and celebrating nine years at Fortech, Cosmin is no stranger to growth. For him and his team, leaving comfort zones to craft, experiment, learn, and grow comes naturally.

Meet Cosmin, one of our Software Architects #BehindTheCode. Learn how his career evolved at Fortech and about his current focus areas.

 

Can you please tell us a bit about yourself? Your studies, hobbies, passions.

I moved to Cluj-Napoca in 2010 to study Computer Science at the Babes-Bolyai University. In my second year of university, I was lucky to spend a semester in Tallinn (Estonia) with an Erasmus Scholarship. That’s where I had my first encounter with iOS development. The experience helped me land my job with Fortech in 2012 as a Junior iOS Developer.

Splitting my day between attending classes and working wasn’t easy, but I devoted time to my hobbies too – football and basketball. Playing football and basketball helped me stay in touch with my university friends and my work colleagues. It’s my way of relaxing and recharging.

If I had to describe myself, I guess I would say I’m a blend of a rich sense of humor and a strong focus on work and self-improvement.

How did your software developer career evolve at Fortech?

For the first eight years of my Fortech career, my focus was on mobile development. I started with native iOS development and soon got involved in building native Android mobile apps. I also did UWP on Windows 10. We have lately transitioned to Xamarin Native as it gives the best of both worlds. You can share business logic across many platforms and have fine-grained control by building user interfaces with native APIs.

I see a great value in knowledge sharing. So, I helped build a mobile community within Fortech. It’s a space where mobile developers can connect and share their experiences. I aim to help people grow by taking local learnings and turning them global. Besides ad-hoc discussions, we have a few recurrent activities as a community. We watch presentations from tech conferences (e.g., WWDC, Google I/O, GOTO, etc), do project presentations and even code-along sessions (e.g., Google Codelabs). The entire community loves the exploration days where we can try out new technologies.

What’s your current role within the team?

Six months ago, I decided to transition from mobile to server-side development, helping teams with DevOps. Compared to the adoption of DevOps in the mobile development space, this will be a significant challenge. It will also be a great opportunity for me to learn exciting things. In mobile, certain practices like infrastructure automation are not applicable. Other practices, like automating deployment to the App Store/Google Play Store have a much simpler path since both app stores expose APIs to upload your mobile application packages.

In my new role, I help teams adopt healthy DevOps technical practices. This means test automation, deployment automation, infrastructure automation, and monitoring. I’m in disagreement with how the industry highjacked the original meaning of the DevOps concept. DevOps is not just infrastructure engineering – it is an entire set of practices.

One of the main dysfunctionalities that I see with software developers today is their lack of ownership over the test automation strategy and its implementation. I’m referring to all levels, not just unit tests. The main pre-requisite for a healthy and reliable suite of automated tests is that software developers step up and take ownership. A suite of automated tests is critical for Continuous Delivery and high-performing organizations.

 

Cosmin guides his colleagues in becoming more autonomous and encourages them to develop new skills

What are your focus areas and career aspirations?

Besides my responsibilities in software development, I play an active role as a team/tech lead. I guide my colleagues in becoming more autonomous and developing skills to become team/tech leaders themselves. By involving each team member in all aspects of the software development cycle, we cut out bottlenecks. We also get to increase the team’s bus factor.

I’ve always been inspired by industry practices that elevate our work. So, I love to read books, follow industry leaders (e.g., via Twitter), and adopt these practices in my team. I’ll highlight a few essential books that I’ve read throughout my career. They’re great resources for everyone in software development. Since I’m also passionate about history, I’ll mention them by date of publication. You’ll get a great view of how our industry’s practices evolved since the early days of the Agile Manifesto. Here is the list: Extreme Programming Explained (1st edition), Continuous Delivery, The DevOps Handbook, Accelerate: The Science of Lean Software and DevOps.

Describe the projects you’re currently working on? What’s the tech stack like?

I’m currently involved in multiple server-side projects in the vehicle remarketing and logistics industry that enable user-facing systems to add value to our customers.

From a technical standpoint, we’re leveraging different technologies such as .NET (application and test code), Azure (infrastructure), Azure Pipelines (continuous delivery), Terraform (infrastructure as code), Application Insights / Dynatrace (monitoring), and MongoDB (database).

What’s your favorite thing about these software projects?

My favorite thing about these projects is that the entire team is involved in adopting all DevOps technical practices. The stakeholders support and understand that these practices help us add value to our customers in a much faster and safer way.

What’s the most challenging thing about these software projects?

I would say that as these projects grow and evolve, there is an ongoing stream of challenges. For instance, how do we integrate with an existing system? Or how do we design the public interface or the data schema for a new capability? How do we isolate our end-to-end tests so they can run in parallel? How can we make the tests self-contained and have them manage their own data so that we can run them in any environment, at any time, without requiring any manual intervention or hardcoded data in the database? These are some of the most frequent challenges which we need to consider.

How about the team?

During my tenure at Fortech, I was lucky to work with people willing to get out of their comfort zone to learn, experiment, and grow. My current team is no different.

From the more experienced colleagues to those who have recently started their careers, everyone shares a genuine interest in developing new skills and supporting each other in our pursuit to grow.

What advice would you give to someone interested in joining Fortech?

Research what we do and the variety of industries we work for. I can assure you that you’ll find passionate people and many opportunities for growth. Just make sure you are open to identifying them.

What’s Your Story?

Browse the Fortech Careers section on our website and check out our opportunities. #CodeWithUS

0 Comments

Your email address will not be published. Required fields are marked *