We have been retained by a client to
deliver two (2) Senior Software Engineers to work 100%
remote on a long-term, 2-4+ year contract basis as
part of a large software engineering team creating a complex,
cutting-edge, Xamarin.Forms application. You will enjoy
working with SAFe 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.
Here is what you will be given and
the tech stack and methodologies you will use:
A high performance Mac with Windows VM, with a recent or newest version Visual
Studio (eventually MAUI : Multi-Platform App UI), a Mac machine, C#, Xamarin
. Forms, XAML, MVVM, SQLite, reactive programming
principles vs. inheritance, Reactive eXtensions, ReactiveX, RX, Resharper, C#,
NUNIT, TDD, Agile, Scrum, Azure DevOps, Xamarin Test Cloud, and Visual Studio
App Center. This is a 40-hour work week. 100% remote USA.
- Deliver code to implement the requirements, as defined
for the sprint
- Leverage Model View View Model (MVVM) and reactive
principles (Reactive Extensions, ReactX) where appropriate
- 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
- 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
- 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.
- 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
- Leverage the Clean Architectural style for layering,
decomposition, and dependency validation
- Leverage Dependency Injection to decouple components
- Leverage Domain Driven Design principles and patterns
- 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
- 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
- Leverage Event Sourcing model to preserve separation
between remotely-source data and device-sourced data throughout data
- 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.
We prefer candidates with 4-5+ years software engineering with C#,
Xamarin or Xamarin Forms experience, and a bachelor’s degree in computer
science, or related. Candidates must reside in the USA.
Excellent verbal and written
communication is required.
We prefer candidates with strengths in C# software engineering with
mobile app experience, Xamarin, or Xamarin.Forms, and mobile app (iOS, Android,
UWP), experience, a past history with the Windows Presentation Foundation ( WPF
) of classes, Reactive Extensions, ReactiveX, RX, Resharper, reactive
programming principles, data streams, message streams, observables, and an
basic understanding of the composite reuse principal (compositional models vs.
inheritance), Agile, Scrum, TDD (test-driven development).
Employment Type: Contract (long term, 2-4+ years)
Hourly Rate: $55 – 75 per hour
100% remote, candidate must reside in the USA.
Immigration: US citizens and those authorized to work in the US are
encouraged to apply. We are unable to sponsor H1b candidates currently.