Welcome to another installment of our Top App Dev Interview series. Each interview in this series focuses on a successful mobile app or developer and the path they took to get where they are today. Today’s special guest is Lee Burrows.
Lee is a leading iOS technologist, well known for heading up the iOS team for the biggest retailer in the UK, Next PLC.
Next PLC is a British multinational clothing retailer based in the UK with over 700 stores. In addition, an online web presence with over 3 million active customers of which 500,000 actively use their iOS app per month.
Since we prepared this interview, Lee has moved on to a Senior iOS Developer position for Capital One, the eighth-largest bank holding company in the whole of the US.
Working On a Big Team
Lee, can you give us a sense of how big the Next app and team is and how it’s structured?
I work in the eCommerce department. Here you will find 55 or so developers, just 4 of which are in our iOS team. All developers report directly to the product owner.
We also have our own dedicated QA team, who strive on breaking our implementation and are fast to point out when something isn’t quite up to scratch for production. A little up the office we have the UI & UX teams and technical architects.
It looks a little something like this:
Could you please describe the process by which your team works with the design team?
We are very closely coupled with the design team. It was always pushed upon us to be more “open desk” and the huge open office allowed this. We could often visit their desks and make suggestions.
Unfortunately, designs at Next were never approved by the higher ups until we went to release. At any stage they could and quite often did change. This ultimately had large issues with development timescales but something we learned to deal with…fast!
I often see this happen within very large companies. The design seems to be the forefront of ideas, with development the second thought. I think it is crucial for all skill sets to be involved throughout, from prototype right through to App Store delivery.
How much of the Next app is written in Swift? What were the challenges in transitioning the app from Objective-C to Swift in a large team environment?
Before Swift arrived, we made the iPad app in Objective-C. This is my proudest achievement to date: it includes a completely custom UI exhibiting UICollectionViews
used to their greatest potential and a UIPageViewController
that really went under the knife in Instruments.
The iPad app ended up being about 33,000 lines of Objective-C code. Later, we wrote the iPhone app in Swift, and it ended up being a little smaller in size. To make sure we re-used some core components between the two platforms, we created an internal private CocoaPod. It contains UI elements that were generic to both iPhone and iPad apps for reusability and of course all our API data access.
We are currently bridging Objective-C classes in our CocoaPod to our Swift code base. The transition over to Swift was a fun one, although initially I was against it! I was not overly comfortable with Swift as it was still in version 1 at that point, but after persuasion from some of the guys we took the plunge.
Debugging Swift back then was extremely painful, and it still is to this day when debugging Objective-C code in a Swift project. The po
command and I are now best of friends. :]
For other developers or teams, what advice would you give for a successful development life-cycle?
I would recommend you make sure your team fully understand your chosen source control system (GIT/SVN) and ensure they adhere to all the best practices. I have lost count how many times I tell developers to pull down as often as possible and push up just as often.
For us, communication is key. We encourage the use of our “Confessions” channel on Slack, a place where anyone can dump a snippet of code and allow time for other developers to offer an alternative solution.
For any developer looking to join a huge company, just remember that’s all you are: a developer. Unfortunately the chances of your fancy design and animation making the App Store release are probably small. In fact, only one of my fancy animations made it into the App Store and that was still scrutinized!
Being a Team Lead
As a lead iOS developer, you are responsible for multiple skilled iOS developers, how do you manage those on a daily basis?
I generally have a 60/40 time split between getting my head down in code and managing the team. I use my favorite app, Todoist, to manage what development tasks I want to be completed and I use sticky notes attached to my monitor for analysis tasks and other ad-hoc duties other departments may need me for.
Being the Lead iOS Developer, it was all about being approachable. When you hold such a title, people will look at you like you’re Mr. StackOverflow and it’s wise to be approachable. After all, your suggestions around problems could well be the ones implemented.
It can be very frustrating managing a team when not many of our ideas get implemented. I remember I had to remove a developer’s force touch feature because it wasn’t in the requirements.
What’s your interview process while hiring new iOS developers? What sort of things do you look for in an ideal hire on your team?
We do most of our interviewing over the phone and sometimes face to face. Once we’re happy with a hire we get them to take an iOS quiz which generally gives us a good idea of their skillset. Here at Next, no interview is the same: we mix the process regularly to keep it fresh.
I love when developers talk about Swift, or anything new. It shows they keep up with the latest in the iOS development world and gives them chance to show off their passion for development.
If someone loves what they do they won’t tell you in those exact words, you’ll just know. If you can’t sense it what would be the point in hiring someone who didn’t love what they do? If you love what you do you’ll do it faster and probably better.
We have asked questions like:
- What feature do you love the most in Swift?
- Can you describe the purpose of using Playgrounds?
I love very broad questions, since it allows a lot of mini questions to tail off their responses. I’ve had a lot of bad experiences with developers and SCM, I guess next time I would go more in depth about git and branching models.
Hiring contractors is usually a lot easier. We just have a quick telephone interview to assess their development history, a quick code pairing exercise, and that’s it – they’re in. Of course, we can always drop them with a little notice – I like to remind them of this, in a friendly way of course. :]
Do you have any final advice for readers looking to level up their iOS skills?
Keep on top of your development. iOS especially moves incredibly fast each year following WWDC. Swift is about to get kicked into version 3; it’s moving fast you just can’t sit still.
Watch the Apple videos, visit plenty of tutorial websites, fire up Xcode and get ahead of the game.
Where To Go From Here?
And that concludes our Top App Dev Interview with Lee Burrows. Huge thanks to Lee for sharing his experience with the iOS community.
We hope you enjoyed this interview and that you can take Lee’s advice when it comes to being a Lead iOS Developer or an iOS Developer within a large corporation. I think when working within a large corporation you’re a small cog in a giant wheel, everyone spinning to create the final product. We wish Lee all the best in his new position at Capital One.
If you are an app developer with a hit app or game in the top 100 in the App store or other significantly cool experience, we’d love to hear from you. Please drop us a line anytime.
If you have a request for any particular developer you’d like to hear from, please join the discussion in the forum below!
The post Lead iOS Developer at Next PLC: A Top Dev Interview With Lee Burrows appeared first on Ray Wenderlich.