Remote Position

Software Engineer II (.NET & React) (Remote)

🌍 Remote · Morocco 💼 Full-time

About the position The Software Engineer II will build scalable user experiences and API- and service-based solutions as part of a cross-functional, DevOps-based Agile team. The team is responsible for the full product development lifecycle, from conception and discovery through development, deployment, measurement, and continuous improvement. The role calls for expertise in front-end and back-end development, frameworks, and third-party libraries, along with a collaborative mindset, visual-design awareness, and a focus on outcomes. The engineer collaborates with users, architects, engineers, designers, and product managers to shape and deliver software. They contribute to technical design and architecture, document software, use test-first and acceptance-criteria-driven practices, and develop responsive interfaces and macro- and microservices. They help ensure solutions meet security, performance, maintainability, scalability, usability, and reliability needs; conduct code reviews; and support peers through advice and coaching. Ongoing learning and professional development are expected. Candidates progressing beyond the initial screening must complete a formal technical assessment to validate coding proficiency and technical competency.

Responsibilities

  • Collaborate with users, architects, engineers, designers, and product managers to ideate and deliver software solutions.
  • Participate in technical design and architecture discussions and promote high-quality software development.
  • Help document software programs using flowcharts, layouts, charts, diagrams, and other documentation.
  • Use test-first and acceptance-criteria-driven approaches to test and deliver high-quality software.
  • Implement mobile-responsive designs for user experiences across devices.
  • Design and develop macro- and microservices in accordance with industry practices and standards.
  • Ensure solutions meet non-functional requirements, including security, performance, maintainability, scalability, usability, and reliability.
  • Perform code reviews and ensure alignment with coding and design best practices.
  • Collaborate in a team environment and provide advice, coaching, and insights to peers.
  • Pursue continuous professional growth and stay current with development tools, programming techniques, and best practices.
  • Complete a formal technical assessment if progressing beyond the initial screening.

Requirements

  • 2–4 years of experience in software product development.
  • Proficiency with .NET 6 or greater, C# 10 or higher, React 16 or greater/Redux, TypeScript, MS SQL Server, MongoDB, and identity providers (IDPs).
  • Foundational understanding of data structures and algorithms, and ability to write clean, efficient, and maintainable code.
  • Experience in hybrid and cloud-based environments using infrastructure and processes handled as code and promoted through automated pipelines with audit, quality, and security controls.
  • Experience with OCI-compliant containers.
  • Experience with container hosting and management systems such as Kubernetes, Azure Container Instances, App Service, or OpenShift.
  • Experience with source code management applications using Git.
  • A track record of delivering robust and scalable front-end and back-end solutions.
  • Experience with design patterns, CQRS, domain-driven design, IDP practices, and automated testing; understanding of object-oriented programming concepts and practices.
  • Proficiency integrating external systems and services using REST, SOAP, or other relevant protocols.
  • Strong problem-solving and analytical skills, including the ability to troubleshoot complex technical challenges and devise effective solutions.
  • Experience implementing logging, metrics, and tracing frameworks, and writing structured, observable code that supports monitoring, debugging, and performance analysis.
  • Familiarity with the software development lifecycle, including requirements gathering, system design, implementation, testing, deployment, and maintenance in an Agile or Scaled Agile manner.
  • Experience with Scrum, Kanban, Extreme Programming, or another outcome-based iterative development approach.
  • Ability to break large software solutions into smaller tasks deliverable within a sprint.
  • Proficiency with relevant development tools and frameworks, including version control systems and integrated development environments.
  • Strong written and verbal communication skills and ability to explain technical concepts to non-technical stakeholders.
  • Proficiency in automated testing, including unit and integration testing, and debugging.
  • Understanding of secure coding practices and ability to apply security controls, conduct code reviews, and perform security-focused testing.
  • Familiarity with regulatory compliance and security standards such as GDPR, HIPAA, PCI-DSS, and ISO 27001.
  • Understanding of system design principles and architecture patterns, including scalability and performance optimization.
  • Adaptability and flexibility in response to changing requirements, deadlines, and technologies.

Nice-to-haves

  • Bachelor’s degree in Computer Science, Computer Engineering, Software Engineering, or a similar or related engineering or science-based technical discipline preferred.
  • Microsoft Certified Azure Developer Associate certification is a bonus.
  • Microsoft Certified Azure DevOps Engineer expertise is a bonus.
  • Azure experience preferred.
  • Docker experience preferred.

Apply To This Job

Apply Now →

More Open Positions

Explore similar remote opportunities