Job Title- Lead Software Engineer - Remote (C#, Azure, Domain Driven Design, Healthcare)
Location- Remote, USA
Type- Full Time/Permanent
SALARY- $130,000.00 to $170,000.00
SIGNING BONUS- No
RELOCATION PACKAGE- None
Reports To: Hiring Manager
TRAVEL REQUIRED- Travel not required
Benefits- DENTAL INSURANCE/ MEDICAL INSURANCE/ VISION INSURANCE/ LIFE INSURANCE/ RETIREMENT/ PAID TIME OFF / WORK FROM HOME
Experience Desired:
- Healthcare desired but not required
- 5 years experience with web applications, event driven integrations and APIs
- Experience with Domain Driven Design
- 5 years of cloud experience – preferrable with Azure
- Experience with MS-SQL, T-SQL, PL-SQL Server
- Experience with Azure Data Factory
- Experience with Electronic Data Interchange (EDI)
- 5 years experience in Agile, DevOps, SDLC and ITSM methodologies preferred
- Experience implementing web security protocols and systems (http, oauth 2.0, saml, LDAP)
- 5 years experience with Scaled Agile
- 5 years C# and .NET experience
Must-Have
- Minimum of 3 years of experience leading a technical team.
- Minimum of 8 years of hands-on software engineering experience
- Experience leading software engineering, front-end web, systems integrations, API, back-end batch processing, and/or ETL teams
- 5 years C# and .NET experience
- 5 years of cloud experience – preferable with Azure
Nice-To-Haves
- Healthcare desired but not required
- Experience with Domain Driven Design
- Experience with Electronic Data Interchange (EDI)
- 5 years experience in Agile, DevOps, SDLC and ITSM methodologies preferred
- 5 years experience with web applications, event driven integrations and APIs
- Experience with MS-SQL, T-SQL, PL-SQL Server
- Experience implementing web security protocols and systems (http, oauth 2.0, saml, LDAP
- 5 years experience with Scaled Agile
What We're Looking For
Education Required: Bachelor’s degree in computer science, information technology, management information systems, or related discipline;
Education Desired:
- Master’s degree preferred but not required
- Azure certification(s) preferred
Experience Required:
- Minimum of 3 years of experience leading a technical team.
- Minimum of 8 years of hands-on software engineering experience
- Experience in supporting IT production operations
- Experience leading software engineering, front-end web, systems integrations, API, back-end batch processing, and/or ETL teams
- Experience designing, developing, implementing, and supporting high-volume, complex transaction systems
- Experience within the healthcare industry, including a payor or managed care organization and with associated information systems.
- Strong experience in software engineering methodologies, best practices, and current technologies.
- Relational database development experience and proficiency (writing, troubleshooting, and optimizing) with advanced SQL concepts such as complex joins, triggers, cursors, correlated subqueries, analytic functions
- Experience working with one or more source version control tools (such as SVN, CVS, Git, TFS, Rational ClearCase)
- Experience with batch job processing and scripting
- Experience working with end users to gather requirements and build technical solutions from concept to implementation.
- Experience with data modeling including normalization, logical and physical designs
- Experience extracting data from a variety of data stores including relational databases, RESTful APIs,
- Experience working with cross-functional technical teams.
Knowledge, Skills & Abilities:
- Understanding of cloud services such as AWS, Azure, and GCS (application compute, storage, networking) tools
- Skilled at project estimation, project work-breakdown-structures with dependencies, and forecasting staffing needs
- Skilled at delivering market-quality, extensible, and maintainable software solutions
- Ability to lead and mentor software engineers
- Ability to present fact-based data, make/support a business case, and influence decisions
- Demonstrated skill with programming languages, including but not limited to SQL
- Demonstrated skills in technical leadership
- Learns quickly and takes on new challenges.
- Possesses strong business analytical and IT knowledge and communication skills –ability to talk to business stakeholders and map their business requirements to IT initiatives, projects, tasks
- Is detail-oriented and well organized
- Understands and leads software design constructs (design patterns, REST, Event-Driven integrations, microservices, etc.).
- Strong written and verbal communication skills (fluency in English is a must): articulate and effective communicator and presenter, able to describe complex problems and solutions in simple or understandable terms.
- Expert troubleshooting
- Knowledge of software development, DevOps, and industry best practices
- Ability to work calmly and constructively under pressure and deliver on commitments
Knowledge, Skills & Abilities Desired:
- Demonstrated skill with C# and .NET programming
- Domain-driven-design (DDD) experience along with the related associated design and intengration experience
- Experience developing software solutions for life sciences or healthcare applications and working in a regulated environment (e.g. HIPAA, CLIA, FDA, SOX).
- Working knowledge of Agile Frameworks (Scaled Agile) and tools (Atlassian Jira).
- Web application and microservice development background
- Azure Data Factory background
- Python background
- Salesforce background
- Azure cloud certifications
What You'll Be Doing
- Leads and performs hands-on development and support/maintenance of client’s software solutions
- Actively engages in applications architecture and strategy –providing vision, problem anticipation and problem solving to the teams involved in systems analysis, reporting and applications development.
- Contributes to own self-development of business and technical acumen; provides guidance to software engineering team members to develop their business and technical acumen
- Is accountable for assigned technology domain areas, projects, and solutions, including but not limited to project planning and execution, release planning, change management, and production operations support
- Participates in leading, coaching, technical mentoring, and tracking performance of software engineers
- Works with department leadership to guide software engineers on standards, methodologies, best practices, systems, and processes to drive quality excellence and continuous improvement
- Collaborates with IT and business teams to understand business drivers/goals to align and deliver engineering solutions.
- Provides assistance and advice to business users in the effective use of applications and information technology.
- Keeps abreast of emerging software engineering trends, tools, techniques and identifies those that can enhance, transform, or create business capabilities
- Works with software engineering leadership to create and communicate estimates of resources, timelines, updates, needs, and risks for delivering both projects and operational activities
- Executes quality excellence through standards, best practices, and continuous improvements
- Executes the analysis of business requirements, design specifications, development, and technical and user documentation of report development through direct interaction with project teams and stakeholders
- Communicates and escalates issues, needs, risks, and ideas to appropriate audience in an appropriate and timely manner; seeks assistance in a timely manner
- Provides status updates on regular cadence as requested by management team
- Leads and supports the research, recommendation, and innovation and usage of new processes, tools, software and digital development technologies
- Functions as technical leader within within domain(s) and across IT as appropriate
- Leads software engineers in multiple simultaneous initiatives, projects, and support efforts of moderate complexity.
- Creates and maintains work tickets, tracking, updates and follow-up; assists creating technical “how-to” documents as appropriate
- Leads, tracks, monitors, and resolves production support issues; document activities and solutions. Provide emergency support as necessary, including after-hours. Conducts root-cause analysis.
- Leads and assists other software engineers be more productive, managing multiple priorities.
- Builds trust and relationships across departments within IT and with business groups.
Working Conditions: Standard office conditions