Pull to refresh

iOS Dev Skills. Performance Review

Reading time2 min
Views901

Github https://github.com/sergeyleschev/ios-dev-skills

Department Structure:

Performance Review Schedule:

  • Trainee: Performance review every 3 months.

  • Junior 1, Junior 2, Junior 3: Performance review every 3 months.

  • Middle 1, Middle 2, Middle 3: Performance review every 6 months.

  • Senior 1, Senior 2: Performance review every 6 months.

Note: The performance review schedule may vary depending on the specific
company's policies and guidelines.

List of topics that a developer needs to know in order to pass a performance review.

Junior

Middle

Senior

Ability

can make a news app talking to a JSON API

can timely design and deliver fast and reliable chat module

can establish team behaviour standards with non-fanatical ideas

Code Integration

uses git to move code around

has an opinion about GitFlow

has ideas how to build a CI process and automate chores

Paradigms

got the idea of OOP

got hands dirty with FRP

brings value from other platforms and paradigms

Dependencies

knows how to use Cocoapods

knows why apps can't use SPM, but Carthage is an option

knows why it is essential to own/reduce dependencies

Platform

uses Array, Dictionary and Set

knows Value/Reference types and Equatable/Hashable

knows the details of method dispatch of both Swift and Obj-C

Client-Server Protocol

getting that JSON from the Internet is a piece of cake!

making a WebSocket-based real-time chat is feasible

building a video chat is an achievable challenge

Reference

uses StackOverflow as a single source of truth

often uses official documentation

asks platform developers and can reverse engineer

Memory

knows how to avoid and fix a memory leak

knows NSPointerArray and why structs increase binary size

has a strategy to reduce out-of-memory crashes

UI

can build basic UI in the Interface Builder

has reasons to make UI in code

can take layout and diff calculation to non-main thread

Multithreading

asyncAfter is a friend, @synchronize all the things

asyncAfter is an enemy, and thread synchronization is a problem

understands multithreading problems beyond the deadlock

Attitude

expects others to teach and guide during development

discusses design with the team to share decision

takes responsibility for design decision made by teammates

Design Patterns

understands Delegation, Target-Action and MVC idea

is proficient at Observer, Facade and Mediator patterns

knows the sweet spot between dependency injection and service locator

Product Quality

the app is tested if it works on my phone

writes unit tests and tried TDD and UI tests

defines a maintainable test pyramid with non-overlapping coverage areas

Junior

Middle

Senior

The average time to complete a task or answer a question is 10 to 15 minutes.

The average time to complete a performance review is 2-3 hours.

There are 13 sections in total. One task is provided for the solution (out of 5
in the section) at the choice of the interviewer. It is possible to provide a
second chance (the second task out of 5) if the first one causes difficulty,
with a score adjustment by a factor of ~ 0.5.

Github https://github.com/sergeyleschev/ios-dev-skills

Tags:
Hubs:
Rating0
Comments0

Articles