- Programming since 2010
- Developing iOS apps since 2014
- Deep knowledge of Swift, good knowledge of ObjectiveC
- Developed backend using Node.js, Go, PHP.
- Was leading DevOps practices adoption in the company.
- Performed as an iOS TechLead
- CoFounded RipeCode LLC and performed as CTO
- Perfect knowledge: Swift
- Good knowledge: TypeScript, ObjC, C, Go
- Sketchy knowledge: Ruby, JavaScript, Dart, Bash, Python, C++
- Tried all MVx architectures (VIPER too of course), as well as Flux / Redux / FeedbackLoop (last project uses the last one)
- Implemented coordinator pattern (flow controllers)
- Last time prefer functional programming techniques/patterns instead of OOP ones
- Worked with different FRP libraries (
RxSwift
/ReactiveSwift
/Combine
), as well as implementations of Promise / Future concept (PromiseKit
/Hydra
) - Tried different libraries implementing DI principle (
Swinject
,Dip
,EasyDi
,Typhoon
) - Worked with different persistence solutions (
CoreData
,Realm
,SQLite
) - Worked with different map libraries:
MapKit
,GoogleMaps
,Mapbox
. Implemented custom on-device overlay tile renderer for Mapbox (at that time it was not using OpenGL). - Worked with Firebase (
RealtimeDatabse
,Firestore
,CloudMessaging
). Implemented true TypeSafe wrapper-ORM for it in Swift - Worked with WebRTC (when it was too young, had to adapt it to select proper codecs: switched to h264 for speedy performance on iOS)
- Worked with sockets: WebSockets(socket.io) & TCP/UDP Sockets
- Worked with OpenGL ES & Metal as well as with SceneKit
- Comparatively good knowledge of Linux (tried Arch, Ubuntu, Debian, CentOS, Alpine)
- Worked with virtualisation systems (kvm, lxc, virtualbox, ProxmoxVE)
- Good knowledge of Docker
- Configured CI/CD (either for iOS or backend/frontend) on different platforms (have experience with
Jenkins
,Travis
,GitlabCI
,Bitrise
) +fastlane
- Have experience of deployment and configuration of k8s cluster on bare metal. Used rke (Rancher Kubernetes Engine) and Tectonic.
- Deployed different solutions of PersistentStorage in k8s cluster (
Ceph
,GlusterFS
,OpenEBS
,Rook
) - Tried DockerSwarm
- In some projects developed backend for apps using
NodeJS
(JS, TypeScript) /Golang
/PHP
- Worked with different databases:
- Relational:
MySQL
,Postgres
with ORM and without - NoSQL:
MongoDB
- KV:
etcd
,Redis
- Relational:
- Used MessageQueue:
NATS
- Developed CloudFunctions & Security rules for Firebase
- Making use of Git like a Pro and different git workflows (used mercurial a little bit).
- Experienced mentor
- Have experience of public speaking (local meet-ups)
- Have experience of Project Management (around one year)
- Have experience of working as iOS TechLead (around one and a half year)
Upper Intermediate
- Email: [email protected]
- Telegram: @mpsnp
- GitHub: @mpsnp