We provide IT Staff Augmentation Services!

Senior Mobile Engineer Resume

5.00/5 (Submit Your Rating)

SUMMARY

  • Experienced software engineer with experience in both mobile app development platforms of iOS and Android.
  • Deep understanding of various application architectures such as MVC, MVP, MVVM, Coordinators, and VIPER.
  • Mentors other regularly and reviews code to ensure that best practices are followed for best performance.
  • Team player, collaborates with all areas of development from full end to end development ranging from inception with Product Teams, working with UI/UX designers, developing features, and working with QA.
  • Coordinated with both offshore and on shore teams regularly.
  • A self - starter who is always learning the latest trends and seeks to utilize them if possible.
  • Experience with Agile/Scrum, Test Driven Development (TDD), and other software development methodologies.
  • Experienced in Reactive Programming with technologies such as RxSwift, RxCocoa, RxJava, and Combine
  • Knowledgeable in a wide range of design patterns including but not limited to Factory, Memento, Delegation, Notifications, KVO, Builder, Singleton.
  • Comfortable constructing UIs through Storyboards, XIBs, or programmatic UI statements with the use of Size Classes and Auto Layout constraints to allow for dynamic adjustment for different screen sizes.
  • Creating UI on Android platforms with XML Layout Files.
  • Highly Capable Mobile Engineer working with both Android and iOS platform regularly and able to transition between the two seamlessly as well as expanding to hybrid-based technologies such as React Native and Flutter.
  • Experienced working with multithreading through GCD, NSOperations, and Kotlin Coroutines to execute tasks on background threads to free up and improve upon the user’s experience, UI/UX.
  • Worked with a variety of 3rd part frameworks for different purposes with CocoaPods, Carthage, and Gradle.

TECHNICAL SKILLS

Programming Languages: Swift, Objective-C, Java, Kotlin, JavaScript, TypeScript, React Native

Data Persistence: Core Data, SQLite, User Defaults, Keychain, File Manager, Room, Instance State

Frameworks: RxSwift, RxJava, CoreLocation, UIKit, MapKit, AVFoundation, AVKit, Common Crypto, Crypto Kit, Push Notifications, King Fisher, RetroFit, AlamoFire, AFNetworking, Combine, SnapKit, Firebase

Testing: XCTest, XCUITest, jUnit, Expresso, Mockito, Quick, Nimble

Web Services: REST, SOAP, JSON, XML

IDEs: Xcode, Android Studios, IntelliJ

Threading: GCD, NSOperations, Kotlin Coroutines, AsyncTask, Runnable

Versioning Tools: GIT, SourceTree, GitHub, Github Desktop, GitLab, BitBucket, Terminal

Methodologies: Agile, TDD, SCRUM

Project Tools: JIRA, Confluence, Slack

Architecture: MVC, MVP, MVVM, Coordinator

Design Patterns: Builder, Factory, Memento, Interpreter, Singleton, Decorator, Observer, Notification, KVO, Adapter, Facade

UI/UX: Storyboards, AutoLayout, Interface Builder, Programmatic UI Implementation, XIBs, XML Layout Files

Dependency Management: CocoaPods, Carthage, Gradle

PROFESSIONAL EXPERIENCE

Confidential

Senior Mobile Engineer

Responsibilities:

  • Worked on new Truist app from merger of SunTrust and BB&T bank building the application from the ground up on both the iOS and Android natively.
  • Coordinated with remote teams and directly with UI/UX designers to assist on designs and implement them on the front mobile facing end.
  • Worked with both Kotlin and Swift on their respective IDEs, Android Studios and Xcode respectively.
  • Implemented new designs employing both storyboard and XIBs, allowing for easy reused, consistency of layout and adaptability to the use case.
  • Optimized performance, resolving issues and eliminating cause of crashes.
  • Involved in Storyboard/XIB/pure code designs, working with team to help the group come to consensus on designs.
  • Worked with XML Layout Files/Design tab on Android Studios.
  • Kingfisher for easy and efficient image processing and caching.
  • Atlassian Suite, utilizing JIRA for scrum and task management and Confluence for documentation.
  • Worked in an Agile environment following Test-Driven Development (TDD) methodology, using Git and Jenkins CI server.
  • Enforced a TDD approach while utilizing native testing frameworks such as XCTest and XCUITest for iOS.
  • Adhered to Google standards Android testing pyramid with jUnit and Expresso for unit, integration, and end to end testing.
  • Introduced Kotlin coroutines in order to perform parallel processing on the Android side and utilizing Grand Central Dispatch for asynchronous tasks on the iOS.
  • Participated in code reviews and mentored developers on Apple HIG and coding best practices.
  • Worked on secured RESTful web services and tested them on rest client.
  • Implemented SSL pinning to avoid Man in the Middle Attacks.
  • Used Crypto Kit to ensure safe transaction an optimal encryption services.
  • Key Chain to store certificates and user tokens/passwords for user sessions.

Technologies: Crypto Kit, URLSession, CocoaPods, Gradle Dependencies, RetroFit, Storyboards, XML Layout Files, Jenkins, Key Chain, Git Lab, Kingfisher, XCTest, jUnit, Mockito, XCUITest, Espresso, GCD, Kotlin coroutines, Kotlin, Swift

Confidential

Senior Mobile Developer

Responsibilities:

  • Worked on the Confidential mobile application on both the iOS and Android native sides
  • Utilized Swift 4-5 with Xcode 11 and Kotlin with Android Studio 3
  • Used AlamoFire for API services to consume RESTful APIs
  • Extreme Protocol Oriented approach on the iOS side as well as Interfaces for Android to focus on Composition over Inheritance in regard to current coding standards.
  • Dependency Injection and Dependency Inversion with Abstraction to keep the code bases loosely coupled, modular, reusable, and highly testable with a good separation of concerns.
  • Overhauled and revamped the messaging platform in the app with new UI utilizing both Storyboards, XIBs, XML Layout Files, and programmatic approaches.
  • Onboarded and mentored junior developers and conducted paired programming sessions,
  • Agile Methodology with 1-week sprint and biweekly releases.
  • Used the Atlassian Suite for task management, JIRA, Confluence, and BitBucket
  • Implemented complex UITableViews and RecyclerViews for creating search results for finding a place to stay with adaptive universal layouts with NSAnchors and AutoLayout as well as ConstraintLayout for Android.
  • Performed improvements and optimizations throughout the application through parallel processing with GCD and NSOperations as well as Kotlin Coroutines
  • Core Location, MapKit, and Maps SDK for finding places to stay for the application and with geocoding and using Google Maps Services
  • Jenkins for CI/CD to continuously run builds and publish to TestFlight
  • Utilization of 3rd party frameworks such as RetroFit, Dagger2, Picasso, SnapKit, and AlamoFire through dependency management such as CocoaPods and Gradle Dependencies
  • MVVM(C) architecture across native applications
  • Implementing complex design patterns such as Adapter, Factory, Memento, Delegation, and Builder patterns

Technologies: CoreLocation, MapKit, Maps SDK, AlamoFire, RetroFit, Dagger2, Picasso, Android Studios, Xcode, BitBucket, CocoaPods, Gradle Dependencies, GCD, StoryBoards, XML Layout Files, JIRA, Confluence, AutoLayout, ConstraintLayout, TestFlight

Confidential iOS Mobile Developer

Responsibilities:

  • Worked on front end facing social media like platform for to host small house gatherings.
  • Used bridging header files to establish interoperability between Objective-C and Swift on the iOS platform.
  • Refactored legacy Objective-C code to Swift.
  • Started integrating Kotlin into the Android mobile application moving the application forward.
  • Closely collaborated with the UI/UX team in order to revamp the UI of the native applications through the use of StoryBoards, XIBs, and XML Layout Files.
  • Integrated Firebase systems for a smoother and more optimized cloud-based messaging system.
  • Promoted the use and integrated Firebase Crashlytics into the applications to better monitor and track crash reports for a smoother and faster bug fixing turn around.
  • Optimized and improved the video streaming system on the application through the use of AVFoundation and AVKit on iOS and ExoPlayer for Android.
  • Worked with a variety of programming languages including but not limited to Java, Kotlin, Objective-C, Swift, and JavaScript.
  • Writing unit tests with XCTest and jUnit focusing on delivering 80% code coverage across platforms.
  • Occasionally assisting backend team with bug fixing in JavaScript.
  • Extensive use of GCD and NSOperations for multithreading in iOS and Kotlin coroutines and AsyncTask for Android.
  • Agile/Scrum methodology with two-week sprints and a monthly release cycle.
  • Github and SourceTree for source control, JIRA for task management, and Confluence for documentation.

Technologies: Xcode, Android Studios, Swift, Objective-C, Java, Kotlin, JavaScript, AVFoundation, AVKit, ExoPlayer, Jenkins, XCTest, jUnit, JIRA, Confluence, Github, SourceTree

We'd love your feedback!