UPGRADE YOUR SKILLS: Learn advanced Swift and SwiftUI on Hacking with Swift+! >>

What separates a senior iOS developer from a junior developer?

Recorded – watch the full episode on YouTube.

Now you’re a senior developer for the New York Times, doing amazing work there. What would you say separates a senior developer from a junior developer?

Paola Mata: So I have a lot of thoughts on this actually. Obviously every company has their career ladder or maybe some don't, but at least they have some idea of what it takes to be a senior developer. When I was junior, I thought maybe it's just being really fast or just knowing how to do everything. And I've definitely changed my mind as I've grown as a developer and obviously working up toward the promotion and even since then.

But if I have to answer that question for somebody who's maybe trying to get there, then putting it simply it's being able to handle, let's say a project or a feature from start to finish. So that involves a lot.

“There's a lot of communications, there's planning, there's obviously the technical knowhow for how to approach a problem architecturally and otherwise. And also part of it's also breaking down the work.”

There's a lot of communications, there's planning, there's obviously the technical knowhow for how to approach a problem architecturally and otherwise. And also part of it's also breaking down the work. If you're managing a project, let's say, and you are working with other people, how do you break down that work to make it easier to tackle simultaneously. As opposed to being blocked. Just like seeing the project through.

And then there are other aspects to it, which are probably also around mentoring and working with other people, which I can speak more to. But I think those are the major things that I would at least qualify you to say, “hey, I should have a senior title at this point, if I can do these things.”

“I think the code is the fun part, but I enjoy the process even like contributing to what a feature's going to look like.”

Paul Hudson: I remember years ago I was delivering a lecture to a university full of want-to-be developers who were going to graduate in a year or so of time and hopefully get jobs doing that. And the lecturer specifically asked me to talk about how much time I spent coding. Because I think in their heads, the answer was eight hours a day. Sit down Xcode, open, outcome, Swift, eight hours, close it, go home kind of thing. And it really isn't like that, right?

Because all the things you mentioned only like one breaking things down was really specifically about the actual practical application of writing the code for this. Everything else, planning this stuff, building the bigger picture is not necessarily code related.

Paola Mata: Exactly. I think the code is the fun part, but I enjoy the process even like contributing to what a feature's going to look like. So when we're planning something, I'm the technical go-to person for a specific project. Even now we're planning on following up on a project that was launched last year that I worked on. I have my designer come to me and ask me like, “hey, is this feasible? Is this even possible? Or would this be more work versus that?” And just like that to keep in mind what actually the feature's going to be.

Paul Hudson: ‌So when it comes to this day-to-day role of being a senior developer, what would you say are the fundamental skills of a senior developer?

Paola Mata: Well, there's definitely the technical knowhow, which I think is something you gain from experience, which I was thinking earlier. Somebody being like six months into this and getting a senior title, to me, doesn't make sense. Because I don't think enough time has passed to learn from your mistakes and see some of those play out. And maybe I was like, “oh, maybe I should've written this differently.” And learn from the mistakes of others as well. Learn from your team. So that definitely takes time and experience.

But I think communication is really important. Working well with others, knowing how to make trade offs between, "Should I make this a super complicated feature or should I..." Having a good sense of the product versus the code and having a good middle ground for what's important. How to write code that your team can understand and read and expand as needed. So I don't know if I'm answering the question.

So there's the technical part, the communication part, there's a lot like managing different aspects of a project, I would say.

This transcript was recorded as part of Swiftly Speaking. You can watch the full original episode on YouTube, or subscribe to the audio version on Apple Podcasts.

Listen on Apple Podcasts

TAKE YOUR SKILLS TO THE NEXT LEVEL If you like Hacking with Swift, you'll love Hacking with Swift+ – it's my premium service where you can learn advanced Swift and SwiftUI, functional programming, algorithms, and more. Plus it comes with stacks of benefits, including monthly live streams, downloadable projects, a 20% discount on all books, and free gifts!

Find out more

Sponsor Hacking with Swift and reach the world's largest Swift community!

BUY OUR BOOKS
Buy Pro Swift Buy Pro SwiftUI Buy Swift Design Patterns Buy Testing Swift Buy Hacking with iOS Buy Swift Coding Challenges Buy Swift on Sundays Volume One Buy Server-Side Swift Buy Advanced iOS Volume One Buy Advanced iOS Volume Two Buy Advanced iOS Volume Three Buy Hacking with watchOS Buy Hacking with tvOS Buy Hacking with macOS Buy Dive Into SpriteKit Buy Swift in Sixty Seconds Buy Objective-C for Swift Developers Buy Beyond Code

Was this page useful? Let us know!

 
Unknown user

You are not logged in

Log in or create account
 

Link copied to your pasteboard.