Software Engineer - Durham, United States - Insight Global

    Insight Global background
    Technology / Internet
    Description

    Must Haves:

    • BS Degree in Computer Science or similar
    • 4+ years' of experience as a software engineer
    • Strong proficiency in C#/.NET
    • Experience with ASP.NET, WPF, Winforms or similar tool for desktop applications
    • Automating software build and deployment for CI/CD

    Plusses:

    • Micro Service Architecture
    • Experience in Automated Testing
    • Experience with low level or embedded communication protocols. E.g. TCP/IP Sockets
    • Wix installer development
    • Knowledge of software development leveraged with hardware
    • Experience in Healthcare or pharmacy automation industry
    • Experience with HL7
    • Test automation, such as XUnit.
    • Source control management such as Git and GitHub.
    • Cloud platforms such as Azure.

    Day to day:

    We are currently seeking a Senior Software Engineer who will be part of a team developing applications and integrations with custom hardware. The ideal candidate will be familiar with the web-based development life cycle including the planning, design, development and implementation, deployment, and maintenance stages. Knowledge of different programming languages, frameworks, and tools to include .NET, Windows and web-based development is desired.

    Key Responsibilities


    • Design, build, and evolve applications across multiple layers of the technology stack including user interface, middleware, backend, and distributed systems.


    • Be the go-to technical lead who supports team members with application design, coding, and tooling.


    • Review application health to identify and resolve technical debt.


    • Collaborate with other development teams to design and create interconnected systems.


    • Encourage innovation and fail fast mindsets and continuously improve our ability to deliver quality solutions by evolving our engineering process and technical capabilities.


    • Keep up to date on latest software development methods, language features and design philosophies to contribute to technology roadmap and manage tech debt work.


    • Debugging and performance analysis of deployed production systems


    • Coordination with Product Owners and Tier 3 support when required.


    • Monitor, test, and continuously optimize your designs.


    • Provide technical leadership and coaching to the more junior team members to enable them to build better software.


    • Master our development process, culture, and code base, then think of ways to improve it and implement within the team.