πŸ‘€ Reaching (almost) my personal goals for 2024! πŸ‹πŸΌβ€β™€οΈ

October 20, 2024

Welcome to the 18th issue of the iOS Coffee Break Newsletter πŸ“¬.

Earlier this year, I set several personal milestones, and as we enter the final quarter, I am happy to say that the only goal I haven't hit yet is going to the gym four times a week πŸ˜…πŸ‹πŸΌβ€β™€οΈ! I mean, it is crazy right?

On the bright side, I have not only posted more on my blog, but I also built this newsletter from scratch, which now has over 250 email subscribers and is close to 1k unique visitors! It's been an amazing motivator to continue writing and delivering value for free to the iOS community.

This is the driving force behind it all! I have spent countless hours searching for valuable resources and often wished there was a single place to find them effortlessly. Now, there is, and it is called iOS Coffee Break β˜•!

I love sharing free content to help fellow developers. Your support means a lot! Please follow me on LinkedIn, GitHub, and Twitter. Let’s connect, collaborate, and grow together! πŸš€

Now it's time to dive into some iOS development topics submitted by the community. Here are this week's highlighted resources. Hope you enjoy πŸ™Œ.

🏎 Working at startups vs large companies

Who hasn’t dreamed of working at top companies like Apple, Google, or Amazon? I know I did... In a non-technical article, Bruno explores the differences between working for companies of various sizes, helping you figure out which type of organization aligns best with your style and interests.

I highly recommend checking out this piece to gain insights into the pros and cons of working for larger versus smaller companies.

⚠️ Why Do View Controllers Need init(coder:)?

If you have ever written a UIViewController in UIKit without Storyboards or XIBs, you have likely come across the init(coder:) error. Vera's latest article dives into why this initializer is required when creating view controllers programmatically.

If you are curious about the details behind this error and how to handle it, it is definitely worth a read!

πŸ” Developer productivity boost with Google Search Tips & Tricks

One of the key skills for any developer is knowing how to perform efficient searches. This week, Antoine shared valuable tips on improving your search results using Google. These include tricks like utilizing the wildcard asterisk (*) and limiting searches to specific domains, among others.

His insights are definitely worth checking out if you are looking to level up your search game!

☁️ How to install the same version of Ruby and Fastlane locally and on CI/CD

Ensuring tooling consistency is essential for maintaining stability β€” making sure that every team member uses the same versions of tools and dependencies across local environments and CI/CD systems.

Pol's latest article goes through this topic and how to set up and install Ruby and Fastlane reliably with GitHub Actions. If you are interested into iOS CI/CD development topics, I highly recommend you subscribing to his newsletter.

🧱 The perfect iOS networking layer does not exist - Part 2

Every iOS developer is likely familiar with building a custom networking layer, and many have probably refactored their own network clients, as I did with mine, Carrots πŸ₯•. The constant question remains: "Is it good enough, or can it be improved?"

In a series of articles, Calin shares his approach to creating a modular, extensible, and testable networking layer in Swift. His latest release focuses on writing unit and integration tests for components like APIClient, Middleware, and APIService β€” a great resource for developers at any level.