Overview
Skills
Job Details
Skills & Abilities:
The ideal candidate will have a proven track record of demonstrating:
Strong Programming Skills: Proficiency in programming languages such as .Net 6 and greater, C# 10 and
higher, React 16 or greater/Redux, Typescript. MS SQL Server, MongoDB, Identity Providers (IDP).
Software engineers should have a foundational understanding of data structures, algorithms, and the
ability to write clean, efficient, and maintainable code.
Cloud Skills: Experience working in Hybrid and Cloud based environments where essentially all things are
handled as code and promoted via automated pipelines which incorporate audit, quality, and security
controls. Azure experience preferred.
Containers: Experience working with OCI compliant containers. Docker preferred.
Kubernetes: Experience with container hosting and management systems such as Kubernetes, Azure
Container instances, App Service or OpenShift
Experience with source code management applications with GIT.
Proven track record of successfully delivering highly robust and scalable front-end and back-end solutions.
Experience with Design Patterns, CQRS, Domain Driven Design, IDP practices, Automated Testing,
understanding of object-oriented programming concepts and best practices
Proficiency in integrating with external systems and services, utilizing REST, SOAP, or other relevant
protocols.
Problem-Solving and Analytical Skills: Software engineers must possess strong problem-solving abilities
and the capacity to analyze and troubleshoot complex technical challenges. They should be able to break
down problems into manageable components and devise effective solutions.
Experience with implementing logging, metrics, and tracing frameworks to provide comprehensive
visibility into application behavior and system health. Ability to write high-quality, structured, and
observable code that supports monitoring, debugging, and performance analysis.
Software Product Development Lifecycle: Familiarity with the software development lifecycle (SDLC) is
crucial. This includes understanding requirements gathering, system design, implementation, testing,
deployment, and maintenance in an Agile/Scaled Agile manner. Experience with Scrum, Kanban, Extreme
Programming, or other outcome based iterative development approach required.
Conforming to Agile principles, software engineers must have the ability to divide large software solutions
into smaller conquerable coding tasks that can be delivered within a sprint.
Knowledge of Development Tools and Frameworks: Software engineers should be proficient in using
development tools and frameworks relevant to their domain. This can include version control systems
(e.g., Git), integrated development environments (e.g., Visual Studio Code, IntelliJ), and frameworks
specific to web development (e.g., React, Angular) or mobile app development (e.g., Flutter, React
Native).
Collaboration and Communication: Effective collaboration with cross-functional teams is vital for software
engineers. Strong communication skills, both written and verbal, enable them to clearly express ideas,
collaborate with colleagues, and convey technical concepts to non-technical stakeholders.
Continuous Learning: The field of software engineering is constantly evolving, so a mindset of continuous
learning is crucial. Staying updated with new technologies, programming languages, frameworks, and
industry trends is highly valued.
Testing and Debugging: Proficiency in automated software testing techniques, including automated unit
testing, integration testing, and debugging, is important for ensuring the reliability and quality of software
applications.
Knowledge of Security Best Practices: Strong understanding of secure coding practices and the ability to
apply them effectively in software development. Ability to implement security controls, conduct code
reviews, and perform security-focused testing, ensuring adherence to industry standards and minimizing
the risk of potential exploits.
Page 3 of 2
Compliance: Familiarity with regulatory compliance requirements and industry-specific security standards,
such as GDPR, HIPAA, PCI-DSS, and ISO 27001. An ability to design and implement software solutions that
meet these compliance standards, ensuring the protection of sensitive data and maintaining regulatory
compliance.
System Design and Architecture: Software engineers should have a solid understanding of system design
principles and architecture patterns. This includes scalability, performance optimization, and the ability to
design robust and efficient software systems.
Adaptability and Flexibility: Software engineers often encounter changing requirements, tight deadlines,
and evolving technologies. Being adaptable, flexible, and able to quickly learn and adapt to new tools and
frameworks is crucial.