My transition from native iOS developer to being able to face any challenge

Facing fears and becoming vulnerable by being a beginner again. Those are two of the challenges in career transitions. What did I gain in the process?

This article is not just about me. It is aimed at any programmer who has gone through a professional transition. Mine happened peeking into the abyss in which I would go from being a native iOS developer to … Well, what was on the other side was not entirely clear.

I am a 34-years-old Colombian software engineer who graduated from Universidad de Los Andes (Colombia) with eleven years of experience in the tech industry.

Upon graduating from college, and despite my desire to focus on data analysis (at that time it was called data mining), I got my first job in mobile applications development.

At the beginning I started working as a native Android developer at a company dedicated to the telephone book in Colombia, but after six months they offered me to switch to iOS because they needed to support other apps on that operating system.

Since then, I have worked as a native iOS developer and have gone through several companies, including Globant (Colombia), Rappi (Colombia), Match (Chile), Banqi (USA-Brazil) and Scotiabank-Colpatria (Colombia) before arriving at Nu.

A native iOS developer learns another language

Despite always working on the same thing ever since (iOS),I realized the importance of being a generalist in one of my previous jobs. What happened was that there was a clear need in the Android team and I took on the challenge of solving the issue, even though it was beyond my knowledge.

Of course, at the beginning it was quite difficult to adapt to a new language, to a new code base, to a new IDE (code editor), but despite all this, I understood that the person who is capable of stepping forward, facing problems and leaving the title aside is always valued.

That learning stuck with me; in fact, it was one of the bases that encouraged me to apply to Nu.

As is known, in Nu we work with Flutter. So my analysis was as follows: if I’m a good iOS developer and I’ve already been able to learn Android, I don’t see why I can’t be good with Flutter.

After a few weeks I passed the selection process, but little did I know that soon the challenge would no longer be within mobile applications but within back-end development.

How did the transition happen?

Just over a year ago, within the team I work for (Credit Card), it became clear that I was no longer needed as a Flutter developer. On the contrary, I was going to have to become a back-end developer to carry out a series of tasks that were prioritized.

At the beginning of that stage, and despite the fact that I always had the support of many people around me, inside myself there was a lot of uncertainty and fear that prevented me from being at ease with the transition.

My thoughts were more or less the following:

  • Inexperience. I felt uncomfortable having to do things with which I had no experience.
  • Professional profile. In my case I had always been a mobile developer, and I only wanted to do things related to that domain.
  • Career status. I was ashamed I was going to ask for help from peers with lower seniority, yet they knew more about these new topics than me.. 
  • Performance. I was worried about the performance evaluation given that one is compared to other engineers, and in my case I felt that working in an area outside of my expertise was going to harm my performance and, in the long run, the result of the performance cycle.

Note: The performance cycle in Nu consists of a self-evaluation of your work in the last semester, the evaluation of other Nubankers regarding your performance and the weighting of your team leader according to your goals and semester achievements.

In the end, despite all the discomforts I felt, I decided to take up the challenge. Today, about a year after starting, I can look back and share the things that worked for me.

From native iOS developer to generalist: What helped me?

When you start out on a new path, you know the direction you’re heading in, but it’s a mystery what can happen along the way.

The following paragraphs are a list of  things that helped me, hoping they can help other people who dare to take that leap of faith (here is a good illustration of what a leap of faith means).

Invest time in pre-training

You have to make an initial effort to understand the bases of the new technology you are going to deal with.

In my case, that translated into two actionable items which were taking introductory courses to understand basic elements of the language and understanding the architecture of the projects in which I was going to work.

When you understand this, you already know where to start looking for things: the responsibilities of each layer and where certain functionalities should be located, among other tasks.

Forge a support network

It is necessary to build a support network that will unblock you during the first months. For this to happen, I believe that three things must be accomplished:

  1. You have to do due diligence. That is, raise your hand when in doubt, but ask for help after making an effort and properly understanding the problem.
  2. You have to be shameless. Accept that you don’t have all the answers, so it’s okay to ask any partner, regardless of his/her seniority. 
  3. You have to build strong links with colleagues so that they want to lend a hand. In other words, if you stick to “good morning and see you later,” people are unlikely to help you.

Attitude to face the challenge

You need to have a positive attitude toward the challenge, and this translates into three things:

  1. Be an apprentice. Be clear that, to be good at something, you must accept that for a long time you won’t be, and it is ok. 
  2. Do a frequent mental reset. Everyday you have to reset – to think that what couldn’t be solved yesterday may be achieved today.

Trust in the accumulation of knowledge. Knowing that those difficult tasks that you face today are the ones that allow you to deepen your knowledge.

What made me take the risk of stop being (only) a native iOS developer?

I think that having accepted this challenge has allowed me to grow immensely as a professional and also to evolve in various ways. For example:

  • Greater adaptability. After this experience, I realized that I erased the stigma of being a native iOS developer from my mindset, and now I consider myself a developer with knowledge in different areas, which allows me to work on any project, regardless of the stack that is managed. 
  • Demonstrating other talents to my organization (and myself). Throwing myself into this change allowed me to show my organization that I am willing to learn new things, and that I can add value in different ways, not just from the job description for which I was hired. 
  • I am more prepared for uncertainty. An essential value for this time of economic crisis and constant evolution of labor frameworks is that I learned not to be afraid of challenges that involve uncertainties. Ultimately, I understood that when you get used to discomfort, that’s where real growth begins.      

What has brought me to have taken the risk of ceasing to be (just) a native iOS developer?

I think that having accepted this challenge has made me grow immensely as a professional and has allowed me to evolve in various ways. For example:

  • Greater adaptability. After this experience, I realized that I erased from my mind the label of being a native iOS developer, and now I consider myself a developer with knowledge in different areas that allow me to work on any project, regardless of the stack it uses.
  • Demonstrate other talents to my organization (and myself). Taking this challenge has allowed me to show to my organization that I am willing to learn new things and add value in different ways, regardless of my job description.
  • I am more prepared for uncertainty. I learned to lose fear of challenges that have uncertainty and understood that, when you get used to discomfort, that’s where real growth begins.


After this experience and while writing this article, I realized that all my fears and insecurities were nothing more than my own ego disguising itself as many things with the sole purpose of avoiding putting myself in vulnerable situations. 

What were the battles I conquered?

On the one hand, to believe in myself. I remembered that when I lived in Boston and had the opportunity to work with people who graduated from renowned universities (Harvard, MIT, Boston University, Northeastern, etc.), at first I felt intimidated, but over time I realized that I was just as capable as them and could contribute on the same magnitude.

Second, I found value in being persistent and committed. I always try to keep in mind a phrase that I heard from a professor when I was doing my master’s degree: “Commit. Passion will follow.

A true generalist 

To consider myself now as a “generalist” implies that, when there is a problem or a business need, I am able to step up and deal with the situation.

To conclude, I hope this article helps one or more people who are in a process of professional transition to dare to take the leap.I can tell you from my experience: you will not regret it.