Thoughts, reflections, and ideas

From iOS engineer to a T-profiled techie

Posted on

One of the things that excited me the most about the opportunity to join Shopify back in 2018 was the opportunity to grow and learn from the challenges and the talent of the company. When I joined, my background was mainly iOS development with a bit of excitement for tooling. I was very comfortable doing Swift; I knew the common SDKs, kept up with the latest updates, and read every trendy article that came out. I loved the platform (and I still do), but there was a ingrained curiosity in me that was pushing me for exploring unknown.

Even though curiosity was knocking the door, something was holding me back. I had to answer the question of whether I wanted to be a Swift specialist, or broaden my skills, not just to include other programming languages, but also to areas like design, product, or even people management. I ended up pursuing the latter: adventuring myself into trying new things.

At work I learned Ruby and Ruby on Rails. I learned how to work in large and distributed organizations and support them with tooling. I learned how to communicate better and how to build a trust battery with other people. I’m also learning how to manage people and how to help them grow and have impact in their careers. In my spare time, I learned React and Typescript and played with Gatsby and theme-ui, which by the way, I fell in love with them both. I learned how to use Swift to implement a command line tool and how to build a great product that cares about the user experience. I learned about design by designing the brand and the website of Tuist. Also with Tuist, I learned how to build a healthy community of users and contributors that engage with challenging problems and that are thrilled to help others.

In hindsight, moving on from the label "iOS Developer" is one of the best things I could have done in my career. These days I’m not the best in any of those areas, nor I want to be. However, I know them well enough that I can explore challenges and ideas from many angles by myself. I feel empowered to build things, and I guess that’s where my motivation for building Tuist comes from. It’s not just about the challenge, which motivates me a lot, but having the opportunity to think of Tuist as a product, as a community, as a philosophy of working. It’s incredibly exciting!

Another advantage of moving on is being able to come up with better and more creative solutions as a result of being more resourceful. If I had remained as an iOS developer, I’d probably tried to push Swift to places where the language is not the most suitable option. For example, I’d have tried to use it to build my website, or implement a web service with it. You can definitively do it, but after learning about other options, I can choose the ones that I think are a a better fit for what I’m trying to do. For instance, I have to build a website, I’d use something like GatsbyJS or NextJS and if I had to build a web service, I’d use Rails. Swift was a good option for Tuist to encourage contributions, and I’d continue to use it for building apps.

Being a T-profiled techie (I originally wrote it as engineer but I that’s a constraining label that I’m trying not to use anymore) might feel exhausting because you are constantly pushing yourself outside your comfort zone, but it’s definitively worth it. It’s the same as learning a new language; it helps you consolidate the languages that you know, and find interesting connections from which you can learn a lot.