Software Engineer II

Location: Hybrid

Job Type: Full Time / Permanent

Looking for a full-stack software engineer to enhance existing applications and help build next generation applications. These applications serve internal and external stakeholders to provide an exceptional experience for our patients. As a Software Engineer II, you are critical to the team’s success and delivery of our expanding suite of applications. The position is responsible for a wide variety of tasks such as system analysis, development, testing, debugging, documenting, and installing portions of new systems and modifying existing systems. You will be part of an expanding team in a dynamic work environment. There are three specific levels for this role as outlined below based upon experience and overall subject knowledge.

Responsibilities: • Develop new applications, modify, and maintain existing software, working closely with end-users, team members and management. Daily activities will include but not necessarily be limited to: • Modifying and enhancing existing web and windows applications • Implementing new web-based and windows applications • Documenting new applications and changes made to existing applications • Participating in unit, integration, and user-level testing of applications • Troubleshooting application and system issues including performance issues • Demonstrate ability to learn and ability to continuously improve • Demonstrate ability to collaborate effectively in a team setting • Ability to take ownership of tasking and ensure work is meeting code quality standards.

Required Qualifications: • Bachelor’s degree in Computer Science, Computer Engineering or similar field and/or equivalent work experience also considered • 5 years of professional experience working as a Software Engineer, or related position • Proficient/Expert knowledge of object-oriented programming and design principles • Ability to write high quality, modular, maintainable, and secure code • Experience working with a modern JavaScript framework, such as: Angular 2+, Vue.js, React • At least some experience working with Agile methodologies • Familiarity working with Git • Familiar with professional software development, including coding standards, code reviews, source control management, build processes, testing, and operations • Data access technology such as: Microsoft Entity Framework, ADO.NET and/or other object- relational mapping (ORM) framework • Relational database (RDBMS) technology such as: Microsoft SQL Server, MySQL or PostgreSQL with understanding of SQL scripting • Ability to work well within a team environment, and also be self-starting and self-sufficient • Ability to work independently and as part of a team • Endless intellectual curiosity • Experience working with Microsoft .NET / .NET Core using C# is preferred Duties and responsibilities: • Providing feedback on design and implementation of new features • Performing code reviews • Mentoring junior developers.

An SE2 will have all of the qualifications as described for SE1 in addition to the following requirements: • 2+ years of experience as a Software Engineer, or related position • Experience working with Microsoft .NET / .NET Core using C# is required • 1 year experience working with Agile methodologies • Expert knowledge of object-oriented programming and design principles • Experience working with a modern Javascript framework, such as: Angular 2+, Vue.js, React • Knowledge and professional experience working with Git • Knowledge of professional software engineering and best practices for the full software development life cycle, including coding standards, code reviews, source control management, build processes, testing, and operations • Experience communicating with users, software development engineering teams, and management to collect requirements, describe software product features and technical designs • Experience developing APIs is preferred.

Other Preferred Qualifications (All Levels): • Full stack software design and development is preferred.  Experience with testing best practices, including unit and integration tests • Exposure to cloud-based development and technology (e.g. AWS or Azure) • Familiar or Experience working with Docker/Kubernetes • Familiar or Experience with CI/CD process and/or tools • Familiar or Experience with Powershell • Able to demonstrate passion for learning new technologies.

Work Environment: • This job operates in a professional office environment and teleworking from the employee’s home address listed in their employment file. This role routinely uses standard office equipment such as computers, phones, photocopiers, filing cabinets and fax machines. When telecommuting employees must have reliable internet access in order to access required systems and software associated with the position’s responsibilities. The amount of time the employee is expected to work per day or pay period will not change as a result of participation in the teleworking program. Employees are responsible for the set-up of their home office environment, including physical set-up, internet connection, phone line, electricity, good lighting, comfortable temperature, furniture, etc. Employee’s teleworking space should be separate and distinct from their “home space” and allow for privacy. We expect employees teleworking to be as efficient and professional as if they were in the office. The amount of time spent in office or teleworking is contingent upon the needs/priorities and will vary based on those needs/priorities.

Physical Demands: • While performing the duties of this job, the employee is regularly required to talk or hear. The employee frequently is required to stand; walk; use hands and fingers, handle or feel; and reach with hands and arms. Reasonable accommodations may be made to enable individuals with disabilities to perform the job function.