Job Title: Mobile Application Developer
Location: Dallas, TX or Plano, TX
Duration: 9-12 months contract
NOTE – Since project is related to Mobile development so please share the profiles for all positions with Mobile Experience. For developer role, a strong C# resource with Mobile experience would be ideal. Xamarin exp in addition would be the perfect match
Must Haves - Xamarin, iOS, Android, Strong .net C# programming
Mobile Application Developer-
· 4+ years of experience developing high-complexity applications
· Deliver code to implement the requirements, as defined for the sprint
· Leverage Model-View-ViewModel (MVVM) and reactive principles where appropriate
· Work with Automated Test & UI developers to ensure high-quality, tested, working features
· HTTP knowledge, Fiddler traces
· Take UI & automated test tasks, as needed
General
· Learn, adhere to, and enforce PepsiCo standards & best practices
· Deliver the highest quality designs & code for the project
· Participate in SAFe team ceremonies (daily stand-up, planning sessions, etc.)
· Provide estimates for tasks
· Provide progress updates to team while working tasks
· Research and troubleshooting issues in QA and production
· Implement all ReSharper feedback that is “Warning” level and above. There are a few case-by-case exceptions to this; the PepsiCo Architect will provide guidance.
· Adhere to SOLID principles
· Adhere to Microsoft’s API Design Guidelines
· Adhere to the Command Query Separation principle
· Leverage the principles of Design by Contract (DbC)
· Leverage the Clean Architectural style for layering, decomposition, and dependency validation
· Leverage Dependency Injection to decouple components
· Leverage Domain Driven Design principles and patterns where appropriate
· Provide complete software comments for public interfaces, classes, structs, enums, and methods including: abstraction descriptions, exceptions thrown, and verbiage augmenting codified DbC specifications.
· Eliminate duplicate code
· Code/design should be decoupled/modular/composable to facilitate extraction of any potentially reusable code as a mature common component.
· All forms of serialized data should be versioned to help ensure a smooth migration path as the software matures/evolves.
· Classes should be organized within the project as vertical slices of functionality instead horizontal abstraction types (i.e. PrecisionOrdering and PhysicalInventory instead of Views and ViewModels).
· Good usage of reactive design.
· Adhere to the Composed Method style of functional decomposition where possible.
· Leverage reactive data streams to explicitly model changing data as first class citizen.
· Leverage Event Sourcing model to preserve separation between remotely-source data and device-sourced data throughout data synchronization.
· Leverage State Machines to govern progression of subsystems/objects/workflows through allowed states via declared triggers.
· Embrace Continuous Integration / Continuous Delivery using robust automated build pipelines that automatically execute static code analyzers, design analyzers, unit tests, and integration tests.
Regards
Chaitu | Sr.Technical recruiter
OQ Point