Inspira Financial · 1 day ago
Sr. Software Engineer (Remote)
Maximize your interview chances
Financial Services
Insider Connection @Inspira Financial
Get 3x more responses when you reach out via email instead of LinkedIn.
Responsibilities
Collaborating with Users, Architects, Engineers, Designers, and Product Managers to foster ideation and deliver cutting-edge software solutions. Strong communication skills.
Leading technical design, architecture discussions and taking the lead on software development projects
Documenting software programs with flowcharts, layouts, charts, diagrams and other documentation
Employing Test First and Acceptance Criteria Driven approaches to continuously test and deliver high-quality software.
Implementing mobile responsive designs to ensure optimal user experiences across various devices.
Designing and developing API services while adhering to industry best practices and standards.
Ensuring solutions meet non-functional requirements, such as security, performance, maintainability, scalability, usability, and reliability.
Performing code reviews & ensuring alignment with coding/design best practices
Supporting, supervising and developing software engineers by providing advice, coaching, and mentorship
Actively pursuing continuous professional growth by staying updated on new development tools, programming techniques, and best practices. Engaging in educational opportunities, keeping informed through professional publications, nurturing personal and professional networks, and actively participating in relevant professional organizations.
Through the successful execution of these responsibilities, the senior software engineer will make significant contributions to the overall achievements of our team and organization!
Other duties as assigned
Qualification
Find out how your skills align with this job's requirements. If anything seems off, you can easily click on the tags to select or unselect skills to reflect your actual expertise.
Required
4-7 years of experience in Software Product Development
Strong Programming Skills: Proficiency in programming languages such as .Net 6 and greater, C# 10 and higher, React/Redux, typescript. MS SQL Server, MongoDB, Identity Providers (IDP). Software engineers should have a deep 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.
Extensive 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.
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.
Leadership: Senior software engineers are expected to collaborate with and mentor other engineers when needed.
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.
Compliance: Familiarity with regulatory compliance requirements and industry-specific security standards, such as GDPR, HIPAA, PCI-DSS, and ISO 27001. 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.
Preferred
Bachelor’s degree preferred in Computer Science, Computer Engineering, Software Engineering, or similar/related Engineering/Science based technical disciplines.
Microsoft Certified Azure Developer Associate – Preferred
Microsoft Certified Azure DevOps Engineer Expertise
Benefits
Health Insurance