Senior Engineer - Full Stack
Why Ryan?
Global Award-Winning Culture
Flexible Work Environment
Generous Paid Time Off
World-Class Benefits and Compensation
Rapid Growth Opportunities
Company Sponsored Two-Way Transportation
Exponential Career Growth
You will collaborate with cross-functional teams, contribute to architectural discussions, and help ensure software solutions align with user needs, business goals, and performance expectations. This position requires hands-on engineering expertise, a strong sense of ownership, and the ability to work independently and collaboratively.
Duties and Responsibilities
Software Design and Development
- Translate business requirements into efficient, modular software solutions.
- Design and document functional and technical specifications for medium-to-large components.
- Implement and review high-quality code using modern software development practices.
- Conduct design and code reviews with an emphasis on performance, scalability, and maintainability.
Application Integration and Middleware
- Integrate enterprise applications and services using application programming interfaces and middleware solutions.
- Conduct feasibility assessments and support application interoperability testing.
- Troubleshoot integration issues and support the optimization of connected systems.
Cloud, Development Operations, and Configuration
- Develop and deploy software in Microsoft Azure cloud environments.
- Configure platform-specific deployment scripts and troubleshoot build and release issues.
- Participate in infrastructure-as-code practices and cloud performance tuning.
Testing and Automation
- Design and execute complex unit, integration, and automated test cases.
- Analyze and resolve test failures, propose code fixes, and contribute to automation frameworks.
- Collaborate with quality assurance and Development Operations teams to enhance continuous integration and continuous delivery pipelines.
Architecture Support
- Assist in translating high-level architecture into low-level designs.
- Develop and maintain design artifacts under the guidance of architects and staff engineers.
- Understand existing system architecture and communicate trade-offs during design sessions.
Collaboration and Execution
- Work closely with product managers, user experience designers, and business stakeholders.
- Contribute to project planning and estimation for features and enhancements.
- Lead technical discussions, mentor junior engineers, and support knowledge sharing.
Required Competencies
Technical Strength
- Demonstrates a deep understanding of core programming concepts, system design principles, and application performance optimization.
- Develops user experiences using current, widely adopted languages and frameworks within the .NET ecosystem.
- Writes clean, efficient, and maintainable code in at least one modern technology stack.
- Debugs complex issues and proposes effective solutions with minimal guidance.
Solution Ownership
- Demonstrates end-to-end ownership of features or components from design through deployment.
- Proactively anticipates risks, raises concerns early, and takes accountability for resolving them.
- Breaks down complex problems into actionable technical work.
- Reviews code to verify functionality, evaluate solutions, identify unintended side effects, and confirm alignment with documented standards.
Collaboration and Influence
- Communicates technical ideas clearly across teams and stakeholder groups.
- Builds strong partnerships with quality assurance, Development Operations, Product, and other engineering teams.
- Provides constructive feedback during code and design reviews and effectively mentors junior engineers.
Execution Excellence
- Consistently delivers high-quality, tested, and secure code.
- Prioritizes work and executes in alignment with sprint goals and timelines.
- Manages competing tasks and responds to changing priorities with discipline.
Continuous Improvement
- Actively contributes to improving team processes, standards, and tools.
- Stays current on new technologies and applies relevant practices when appropriate.
- Seeks feedback and adapts to strengthen performance and technical expertise.
What You Bring
- Six to nine years of software engineering experience, with a strong record of building production-grade systems.
- Proficiency in .NET Core, C#, ReactJS, TypeScript, Microsoft SQL Server, Azure Storage, Redis, containerization, Kubernetes, and Microsoft Azure cloud-native services.
- A strong understanding of data structures, design patterns, and system integration techniques.
- Hands-on experience with continuous integration and continuous delivery, containers such as Docker, and Amazon Web Services or Microsoft Azure.
- Demonstrated ability to design, test, and debug complex systems in a collaborative environment.
- Attention to detail and the ability to work with a large codebase.
- A proactive mindset and the ability to work independently while managing competing priorities.
- Excellent written and verbal communication skills, including the ability to document and present technical concepts clearly.
- Awareness of stalled progress and a willingness to ask for help or confirmation.
Why Ryan?
At Ryan, you will join a company where innovation creates real-world impact. You will work in a collaborative environment with knowledgeable colleagues and have opportunities to contribute to technical and business decisions that shape the future of our platform.