Week 12

What a crazy awesome ride it has been.

Week 12 of 12 I continued to work on the same client project without interruption. It was pretty similar to the previous 4 weeks of learning and growth except…

I also signed an offer to start as a full-time iOS developer in Intrepid’s New York office beginning immediately the following week.

I’m truly honored to be a part of such a fabulous team.

Last year I was fortunate to have been accepted into a highly selective, rigorous and hands-on iOS development program. …

Week Eleven

We’re not talking Crossfit here.

Every app receives interaction from users and will inevitably need to react in some way to those interactions. There are several ways to approach this.

We could set up delegates and invoke their protocol methods. We could subscribe to notifications and listen for those notifications in order to trigger method calls.

Wouldn’t it be nice if we could just bind the properties of the objects themselves to observers/listeners and they would automagically react?

We can do this with RxSwift, a Swift platform for ReactiveX.

What’s ReactiveX?

“an api for asynchronous programming with observable streams.”

What’s an observable stream?


Week 10

Double digits! Hard to believe it’s already the tenth week. Time flies like Simone Biles when you’re having fun.

She is wicked amazing.

I’m feeling more comfortable and familiar with the ins and outs of the architecture of the client project I’ve been working on. It’s a really interesting app for a health start-up called Sonde and it was only one week away from being feature-complete when I came on board.

Initially, there was quite a bit to absorb. It required a lot of time just sifting through files and carefully reading the code that had already been written. Now…

Week Nine

They don’t make ’em like they used to.

Rolling right along into the second week on the client project. Tackling the good ol’ UITextField and its compadre the UIKeyboard. Like peanut butter and jelly, rice and beans, Donald Trump and a bad, bad taste in your mouth- you really can’t have one without the other.

Many devs have had to tackle the problem of the keyboard coming up and covering the very text field it was meant to be of use to.

That’s why there are many libraries available to help solve the problem. (Here’s a nice one)

Even so, you may need to customize one some…

Week Eight

True story.

This week we started to work on client projects. Deep satisfaction accompanied every PR I merged into the project.

In fact, I was so excited that I forgot to rebase once. Or twice.

A gentle reminder from my colleagues and the flushing of my cheeks was enough to nip that in the bud pretty quickly though.

The project I’ve been assigned to is in its last week of production, so I’ve been given the opportunity to dive into a codebase that is almost ready to be deployed. …

Week Seven

Crunchtime. The last week of the apprentice projects.

One of my tasks this week was to create a live user list for Prezto, so that a presenter could see who was present and ready to view their presentation.

Week Six

Testing, testing, one, two…

Halfway through the apprenticeship! And testing all the things. Especially our ViewModels because, yes, they make everything easier to test. Here’s a simple example using the PresentingViewModel from last week.

First things first:

  • Create a Unit Test Case class

We’ll call it: “PresentingViewModelTest.swift”

Week 5


Building in MVVM has been one of the most exciting new things I’ve tackled so far. MVVM stands for Model - View - ViewModel. It’s an iOS design pattern that Intrepid has been integrating into all new apps.

For me, it’s a completely new way to think about organizing the underlying structure and responsibilities of each part of the application. It involves conceptual gymnastics and I am a big fan of conceptual gymnastics.

But first, before we get too deep into MVVM, let’s take a look at the traditional iOS design pattern, MVC (Model-View-Controller).

Week Four

Every week comes with a ton of new knowledge and experience. Here’s something about Git that stood out this week along with some eye-candy.

Yes, the eye-candy is at the bottom.

Git — To merge or to rebase?

At Intrepid the answer is rebase, and after a couple of messy tries, I got this rebasing thing down.

Before we go any further, if you’re unfamiliar with Git, it’s a version control system used in software development. Version control, also known as revision control or source control, is the management of changes to documents, computer programs, large web sites, and other collections of information. (Thank you Wikipedia.)


Access Code 2.1 and 2.2 Cohorts

I got my start in iOS development from an amazing non-profit organization in New York City called Coalition for Queens (C4Q).

They run Access Code, a software development program that trains adults from undeserved populations to become industry ready programmers. Their goal is to help create a more diverse and inclusive tech community.

“We believe that people from every community — across gender, ethnic, and socio-economic backgrounds — should have the opportunity to learn to code, gain jobs in tech, and create companies of the future. …

Justine Kay

Senior Software Engineer, iOS @Discovery @FoodNetwork, Pursuit Alum @joinpursuit. Swift lover. Building bridges. We are all one.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store