As various up to date resources and programming languages are coming up, the dev communities are constantly buzzing and raising heated debates on which programming language is the best to learn now. It might be a great struggle for aspiring programmers when trying to figure out which direction they should choose.
Being a complete newbie among other programming language “dinosaurs”, Swift’s popularity has been enormous and is only continuing to increase. Introduced in 2014 at Apple’s Worldwide Developers Conference, Swift shook the ecosystem of the existing languages. Though the primal reception was a mix of excitement and critique, Swift was evolving extremely fast with every new release. It already had a great number of fans when in 2015 Apple decided to make Swift an open-source language. Then it became a tremendous hit and was listed among the top most-wanted technologies – according to TIOBE Index, Swift officially became the fastest growing language in history. Nice.
Here at Tesonet we have exceptional pros mastering a broad spectrum of skills and fluent in all sorts of coding languages and practices. This time, our iOS developer Karolis Raišelis shares his experience and tips on building a successful career as a Swift dev.
With IT becoming more accessible to everyone, some programming languages tend to be chosen more often than the others. Why would you say people should consider learning Swift?
Well, Swift is a new and modern programming language with loads of great development tools and features. Just because it’s so fresh and up to date, it makes it easier to learn and pick up programming in general. Also, it’s quite obvious that Apple is working hard on making the language more darling choice for everyone by providing tempting utilities and benefits.
Another exciting thing is that learning Swift allows you to create iOS apps, while their users sincerely appreciate tech products with advanced design and capabilities. That’s motivating.
Ok, so is there a high demand for iOS developers today?
Well, despite mixed initial reactions to the brand new language after its very release back in 2014, today Swift is one of the most loved technologies worldwide. Yup, the entry price for a MacBook is a bit bigger than for a laptop with Windows, so folks quite usually go with languages that don’t require such investments. That’s true. However, we need to keep in mind that Apple has a multimillion army of loyal followers and they’re willing to pay for their apps. ‘Cause they convert much easier. Naturally, companies want that slice of the pie, so the demand for iOS devs is growing and the future for Swift is brighter than ever.
Good to hear that! So, how did you land your first iOS developer job?
The story of how I started iOS development is kinda funny. I was studying smart device technologies (basically mobile apps) back at Vilnius College, so now it seems like I was heading in the right direction. Back when I was in my second year, my friend told me about this company he was working in, and that he was leaving it soon. So clearly they needed a new iOS developer. He gave me the contacts and without any hesitation I reached out to them. The funny thing is, I’ve never had a MacBook or an iPhone before. At that time the only programming language I knew was Java. Somehow I convinced them that I’m an amazing developer and a fast learner. The interview was on Friday, they gave me a MacBook and iPad on the same day and asked if I could start on Monday. Basically, that’s how I started developing for iOS.
Now that’s quite a start. So what challenges have you faced as a Swift developer since then?
Since I started iOS development from Objective-C, the biggest challenge for me was to move from  syntax to using . (dot) notation when Swift came around. Also, the optional pattern felt a bit weird at first but combined with Swift’s type safety it made it possible to write code that has fewer bugs and is easier to reason about.
Could you recommend any Swift resources (online guides, references, YouTube channels, etc.)?
Here are some of my suggestions:
- For junior devs or the ones who are just about to start developing using Swift The Basics – The Swift Programming Language should be their bread and butter.
- I strongly recommend API Design Guidelines. Sometimes this one gets overlooked by developers but should be used and read by everyone.
- Also, I’ll use the opportunity to advertise John Sundell and his amazing articles about Swift and iOS development. Swift by Sundell is a must-read.
- You should also subscribe to some newsletters. 2-3 providers is more than enough because usually people on the Internet follow trends and share the same things. Two of my favourites are Swift Weekly and iOS Dev Weekly.
So what skills and personality traits do you need to succeed as an iOS developer?
Software is built by people, not by robots. And usually, these peeps work as a strong team, so being communicative, friendly and simple will definitely help you on your journey. Since we as programmers constantly review each other’s code, it’s necessary to learn how to take criticism and feedback from others. Naturally, you should also be capable of providing feedback that is clear and useful to others. Mastering these skills will help you a lot when working with other devs.
And how to prepare for the first iOS development interview?
Usually, each company has a different strategy on how they hire devs. Some will ask you to do an assignment at home. A small project or something similar. Sometimes they invite you to tryout days where a candidate and a team work together for one day. To prepare for these scenarios is difficult but one thing stays the same – you have to do some coding. To impress other developers, you should not focus on writing the best algorithm to solve a problem, but rather make it as simple as you can, consistent as possible and as clear as you can be. You can learn to do those things but writing the best algorithm for a problem requires experience which junior developers don’t have, so it shouldn’t be your main focus. If code is clear and readable your mentors will help you to optimize it. But if it’s unreadable (even though super ambitious) your chances of landing a job of your dreams might be destroyed.
Any other important things to remember before starting your career as an iOS developer?
Yup, another thing that can be truly advantageous is building side projects. Growing your portfolio, mastering technical challenges and discipline will certainly boost your chances in getting a job. And once again, don’t forget – consistent and clear code style is the key!