Sponsored Link
Sign up for Apollo Day! An Event Focused on GraphQL for Mobile
Apollo Day Mobile is a one-day event focused on mobile development with Apollo GraphQL. You'll see talks on using GraphQL from multiple platforms, along with a panel discussion with the team of Apollo GraphQL experts. Everyone is welcome, no matter your level of experience and the event covers everything from getting started to more advanced topics such as caching and performance. Registration is free.
News
Do Apple verify App Privacy information?
Thanks to Dimitri Bouniol for tweeting about this email from App Review. It’s unclear how Apple check this, and of course, there are some things they won’t be able to check (such as what you do server-side), but this should be an extra incentive to make sure you report your privacy information as accurately as possible.
Tools
Profiling SwiftUI app using Instruments
More Instruments articles! ❤️ I linked to a great getting started with Instruments tutorial a couple of weeks ago, and now we have this SwiftUI focused follow-up from Majid Jabrayilov. If you’ve not yet dived into the SwiftUI specific instruments, this is a good overview.
Code
What's new in RxSwift 6?
Talking of long-running, well maintained open-source projects, a major new version of RxSwift arrived at the start of this year. Here’s Shai Mishali with a round-up of what’s new, and what’s changed. Note that this is a source-breaking change before you update your packages!
Compositional Diffable Collection View Playground
I’ve enjoyed Filip Němeček’s posts on collection views recently, but there have been so many that it’s been hard to know which one to link to. I noticed he updated his collection view sample code repository this week, which feels like a great way to start. Then, dig into his posts on compositional layout and diffable data sources.
Traits of a good accessible iOS app
I struggled to decide whether this article from Dani Devesa (author of Developing Accessible iOS Apps) should live in the code section or the design section. It straddles the divide, but either way, it’s worth a read.
Business and Marketing
Rotato
After talking about promotional screenshots and animations last week, a couple of people wrote to me to recommend Rotato. I hadn’t heard about it, but I must admit I was blown away when I checked it out. This is in a different league, and the results are wonderful. I hate to think what you’ll recommend to me this week, as this will be hard to beat! 😂
For full disclosure, I asked for a review copy of the app after I found out about it.
Up to Speed
What does “atomic” mean in programming?
I’d guess that more people knew the answer to this back when Objective-C was the dominant Apple language. While you might not be able to decorate every property with atomicity information in Swift, it’s still good to understand the concept. Donny Wals has what you need to know.
Jobs
Senior iOS Software Engineer @ Doximity and iOS Software Engineer @ Doximity – Doximity, the medical network used by over 70% of US clinicians, is hiring passionate iOS engineers (remote-friendly!). You'll get to be part of an amazing product team and work on an app that is constantly evolving. Use your skills (Swift, MVVM, FRP) to be an integral part of our newly launched telemedicine feature. Apply today! – Remote within the US
iOS Lead @ Stakes – Stakes is a simulated sports betting app making social, viral, shareable content and experiences for our players. As our first full-time iOS dev, you'll lead our mobile technology and make our roadmap a reality. Holler, so we can pitch you the future of watching sports together. – New York City NY
Mobile DevOps Engineer @ ForeFlight – ForeFlight produces the best-selling iPad and iPhone app for pilots flying personal and business aircraft, corporate flight departments, and aircraft operators. As a Mobile DevOps Engineer, you’ll improve all aspects of our product delivery process and help us continue to delight our customers with industry-leading capabilities. – Austin TX
iOS Engineer @ Karbon – Join our dedicated, all-remote agency and help us build amazing iOS apps for amazing clients. We've spent the past 10 years helping companies ship apps to millions of users—join us as we focus on the next 10 years. – Remote within the US
Senior iOS Engineer @ SumUp – Help evolve our mobile Point-of-Sale solution, an integral part of SumUp, used by hundreds of thousands of people. Collaborate with other engineers, designers and product managers in your team and across other teams to develop simple and delightful solutions for our merchants. Work with a diverse, distributed team located throughout Warsaw, Copenhagen, London and Berlin! – Remote
iOS Engineer @ WillowTree – As an iOS Software Engineer at WillowTree, you’ll influence project outcomes and collaborate with teammates to build amazing products people love. In response to the pandemic, our team members have the option to work remotely. Once it is safe to return, this role will be based in our Columbus, OH office. Non-local candidates are encouraged to apply as we provide relocation assistance. – Remote for now, then Columbus OH
Senior iOS Engineer @ WillowTree – As a Senior iOS Engineer at WillowTree, you’ll have the opportunity to impact teammates throughout various stages of their careers. In response to the pandemic, our team members have the option to work remotely. Once it is safe to return, this role will be based in our Durham, NC office. Non-local candidates are encouraged to apply as we provide relocation assistance. – Remote for now, then Durham NC
Engineering Director @ WillowTree – As an Engineering Director, you’ll mentor a team of all levels to help them achieve their personal and professional goals. Your partnership and coaching skills will impact our teams, clients, and company! You’ll have clear oversight of how engineering runs day-to-day and you’ll influence project outcomes and team happiness. – Remote for now, then Charlottesville VA
Senior iOS Engineer @ DuckDuckGo and Senior macOS Engineer @ DuckDuckGo – Rather than rely on interviews, we base our hiring decisions on demonstrable work performance. We achieve that through asking our candidates to complete paid projects, which largely resemble the type of challenges they would be solving at DuckDuckGo every day. – Remote
Is your company looking for developers? Do your hiring managers know about the best way to get open positions in front of thousands of iOS developers? Do me a favour and let them know that they can get jobs listed here by posting them as featured listings at iOS Dev Jobs. Thanks!
And finally...
The big question is… Does it run HyperCard?
Comment
It’s a couple of weeks old now, but this post from Pedro Piñera stuck with me. He talks about open-source projects, why people work on them, and how the expectations of people who find your code might be unrealistic.
It can feel frustrating to find a project that was abandoned after a few commits, especially if it almost meets your needs, or has a bug that prevents you from using it. It’s the case that most open-source code is in that situation too, but it all has value, and the point that Pedro is making is important. You don’t owe the community anything with your open-source work, or your blog posts, or with anything else you make available online.
Every motivation for publishing code as open-source or writing about something in a blog post is worthwhile, and the things you make don’t need to be perfect to have value. Whether you were curious to play with an API, experimenting with something to scratch your own itch, or trying to explain something that caused you to struggle - It might benefit someone, and if it doesn’t, that’s also OK! Even if you set out to change the world and it didn’t work out, who cares? Who knows if what you published might include something that’ll solve a problem, or be an inspiration to someone? If you get something from it, that’s all that matters, and if you don’t, there’s no need to make it public.
To add a quick note here. I know that people can feel a need to produce open-source work to stand out when applying for engineering roles. That’s a slightly different topic from what I’m talking about here, but I might get into that another day!
Anyway, I want to conclude by saying a big thank you to everyone who ever copied a code snippet into a gist, pushed an open-source repository that never received an update, or wrote a blog post without a conclusion. It’s all valuable. Thank you. 😘
Dave Verwer