Vacancy caducado!
We have been retained by our client in Dallas, Texas to deliver a
Xamarin Forms Developer to work 100% remote on a long-term, 1-2+ year contract basis as part of a large software engineering team creating a complex, cutting-edge, Xamarin.Forms application. You will enjoy working with Agile methodologies, scrum, TDD, and the scaled agile framework, while working as a team, and independently solving the complex software problems associated the long list of complex features of this mobile app used by this large corporation. You will enjoy the OOP, OOD, C# capabilities and the personalities of this articulate, well-spoken and strong C# .NET software engineering team you will join, and communicate with during your weekday agile/scrum meetings.- Development delivering on C#, Xamarin.Forms development projects
- Deliver code to implement the requirements, as defined for the sprint
- Leverage Model View View Model (MVVM) and reactive programming principles (Reactive Extensions, ReactiveX, RX, Reactive Programming Principles, definitely Compositional models (composite reuse principles) where appropriate
- Adhere to some SOLID principles (exception is with Compositional Models, or composite reuse principles.)
- Adhere to Microsoft s API Design Guidelines
- Adhere to the Command Query Separation principle
- Leverage the principles of Design by Contract
- 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 Design by Contract specifications.
- Eliminate duplicate code
- Code and 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 and evolves.
- Classes should be organized within the project as vertical slices of functionality instead horizontal abstraction types
- Good usage of Reactive Extensions or use of programming principles design.
- Adhere to the Composed Method style of functional decomposition where possible., or use of compositional models (composite models) versus inheritance.
- Leverage reactive data streams to explicitly model changing data.
- Work with Automated Test & UI developers to ensure high-quality, tested, working features
- Use HTTP knowledge, Fiddler traces
- Take UI & automated test tasks, as needed
- Learn, adhere to, and enforce & best practices
- Deliver the highest quality designs & code for the project
- Participate in Agile, scaled agile framework (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 Architect will provide guidance.
- 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 Azure DevOps including robust automated continuous integration and continuous build pipelines that automatically execute static code analyzers, design analyzers, unit tests, and integration tests.
Vacancy caducado!