Dariusz Rybicki Darrarski
Dariusz Rybicki Darrarski

darrarski.pl

Mentoring and Coaching

Whether you’re just starting your journey as a developer or already have solid experience building software, everyone needs support from time to time! I’m here to help you grow, overcome challenges, and reach your goals.

In my daily work, I mentor iOS and macOS developers — helping individuals sharpen their skills and supporting teams in organizing workflows or tackling technical obstacles.

Key Values

Personalized Learning

Receive tailored guidance to address your specific needs and challenges in iOS and macOS development.

Direct Feedback

Get immediate, constructive feedback on your code, design, and development practices.

Skill Enhancement

Strengthen both foundational and advanced skills through hands-on exercises and real-world problem-solving.

Knowledge Sharing

Learn best practices, design patterns, and development tools from an experienced mentor.

Career Growth

Gain insights into industry trends, career advice, and portfolio building to help you advance in application development.

How Does It Work?

Let’s start with a friendly introductory meeting. You’ll get to know me, and I’ll learn about your unique needs — so I can tailor my support just for you.

I’m flexible in how we collaborate: I can review your code asynchronously, or we can dive into it together during a live session. Choose one-time support or set up regular sessions — whatever fits your style and schedule.

My expertise is in software engineering, with a strong focus on Apple platforms. Through my mentoring, you’ll have the chance to discuss a wide range of software development topics, get help with technical problems, and master best engineering practices.

I’ll guide you through challenges — from discovery and understanding to implementing effective solutions. You’ll benefit from code examples, practical demos, and actionable know-how.

I can issue EU invoices for all services provided.

What Can We Work On?

Every mentoring session is customized for you. Here are some topics I’ve covered before — but I’m always excited to explore new areas based on your interests:

Project Management
  • Planning work and setting clear, achievable goals.
  • Minimizing time spent on management and meetings while maximizing team velocity.
  • Insights from an experienced Scrum Master.
Workspace Setup
  • Generating projects and modularizing with Tuist to enhance developer experience.
  • Optimizing build times.
  • Efficiently maintaining large codebases.
Architecture
  • Designing modular apps that are easy to maintain and extend.
  • Focusing on testability.
  • Mastering Unidirectional Data Flow (UDF) architecture.
Testing
  • Writing code that is easy to test — or even tests itself.
  • Applying a variety of testing strategies: unit, snapshot, and integration tests.
  • Leveraging Test Driven Development (TDD) to accelerate development.
Data Persistence
  • Managing data in iOS and macOS applications.
  • Using CoreData, SwiftData, SQLite with GRDB, and other solutions.
  • Synchronizing data between devices with CloudKit.
SwiftUI
  • Using SwiftUI on iOS and macOS.
  • Setting up projects for efficient use of Xcode Previews.
  • Integrating SwiftUI with UIKit and AppKit.
Composable Architecture
  • Making the most of the framework.
  • Improving the testability of application features.
  • Using Composable Architecture with SwiftUI, UIKit, and AppKit.
Continuous Integration
  • Setting up Xcode Cloud and automating tests.
  • Automatically distributing apps to testers with TestFlight.
Working with Legacy Code
  • Efficiently maintaining legacy codebases.
  • Building new features on top of existing code without full rewrites.
  • Testing challenging or “untestable” codebases.

Want to Learn More?

Dariusz Rybicki Darrarski
Dariusz Rybicki Darrarski

darrarski.pl

Do you like my open source work?

Buy Me A Coffee