Gunjan Patidar is 27 years old and serves as the Chief Technology Officer at Zomato. His colleagues describe him as the nerve centre of all things tech at Zomato. After helping build Zomato from ground-up in 2008 and graduating from IIT-Delhi with an engineering degree in 2009, he joined the company full-time. Since then, Zomato has become one the most popular apps in the region for anything related to the F&B industry. With Apple’s recent introduction of SWIFT, I could think of no one better to get some answers on the new programming language and Gunjan was happy to help.
How big is the development team at Zomato? Does everyone work on every platform or do you have specialists for iOS, Android Windows Phone?
Well that is an ever changing number. Currently we are more than fifty and the number is increasing every week. Some of the smartest minds of our country are working with us and we hope to become the smartest and largest engineering team in India. We have separate teams for Web, iOS, Android and Windows Phone. But these teams are not strictly defined, if the need of the hour is to launch the Android app then more people might work on that app.
Was it a surprise to find out about SWIFT at WWDC or expected?
WWDC 2014 was highly anticipated and although we were expecting a few surprises, “SWIFT” was one announcement that no one would have even thought of. We were definitely surprised and amazed at this announcement.
Is it common to see a new programming language in todays day and age?
No, its not a very common thing to see these days, especially coming from an organisation whose whole app development stack depends on one single language. It seems like a bold and promising move, surely a well thought out one.
How does SWIFT change the way development is done at Zomato?
It is not going to disrupt the development at Zomato. Our engineers are into the habit of working on multiple platforms with different teams, so they are really excited about getting started with SWIFT. It will surely take some time to get familiar with, but it won’t really affect the development process at Zomato. SWIFT is faster to build, execute and debug. It is just going to enhance our development.
So SWIFT doesn’t add “one more thing” to the development team?
No, we were never disappointed at this announcement. Our iOS developers are really enthusiastic about writing the next version of the app in SWIFT. If you are working on a long term project it might seem as a slight hindrance but the language has been designed to make development smoother, so one should not really think of it as an obstacle.
Is SWIFT efficient for a company like Zomato- easy for a team to basically understand each others code and modify it?
When do expect a SWIFT version of Zomato to be ready?
We are not planning to write a new version of the app on SWIFT from scratch. It is going to be a gradual shift from Obj-C to SWIFT as we do not want existing features in the app to break. A gradual shift will also give our developers some time to get used to a new language and eventually we would see amazing pieces of code in SWIFT. As far as a SWIFT version is concerned, we would definitely release one for iOS8.
Can you give an estimate on how much will SWIFT cut down your iOS development time?
There are a lot of things with SWIFT that will help cut down are development time. For instance, the new “Playgrounds” feature in Xcode, which integrates with SWIFT, decreases the development time drastically by deploying the code in real time. We do not have to wait for the code to build and deploy every time we change something in our code. It has a cleaner syntax which also helps in reducing our development time. It is difficult to make dumb errors in SWIFT. Variables are always initialized before use, arrays and integers are checked for overflow, and memory is managed automatically. Once we are able to grasp the language, I think, we will develop new features at 1.5 times faster than before.
Do you think SWIFT is targeted more towards the sole developer of an app or a team of developers?
I think, It works well in either setting. Since we work as a team, the interoperability with Obj-C makes it easier for us to adapt and continue crunching code without having to relearn or change processes. Its almost as enjoyable as any scripting language and is really friendly to new programmers. In a lot of ways SWIFT is a reset. It offers a lot of things we want from Obj-C/Cocoa in a clean syntax. All these things would really help the teams collaborate better.
In your opinion, does SWIFT make it easier to develop on iOS compared to Android and Windows Phone?
Well if the developer has worked on a scripting language before then it would definitely be easier for him to get started with SWIFT on iOS. Otherwise also, SWIFT would have a slight advantage over the others as it is faster to code, deploy and debug. It is also not syntax heavy which also helps the developer to get hold of it quicker than others.
What’s your favourite feature about SWIFT. Can you give me a small piece of code comparing how it is better to the older way of working/coding?
A lot of programmers, including me, love to pack up little anonymous bits of code and pass them around like functions. The introduction of “closures” is a really cool feature that was very much needed. “Closures” allow a programmer to pass around functions as first class objects. For example:
(number: Int) -> Int in
let result = 3 * number