Senior Software Engineer (Hybrid)
Job Description
SGS is seeking a Senior Software Engineer for a hybrid role based in Farmingdale, NY. The position focuses on the design, delivery, and ongoing support of complex in-house laboratory software applications, primarily developed in C# and WPF. The role requires on-site work in Farmingdale, NY at least two days per week, with a salary range of USD 90,000 to 115,000 per year.
Responsibilities
- Lead development initiatives to deliver new functionality and enhanced features for internal and external customers.
- Design, write, test, and document new systems or improvements to existing ones, accompanied by appropriate documentation.
- Apply established software engineering principles across design, development, maintenance, testing, and evaluation of software.
- Manage and execute the full software development life cycle (SDLC).
- Create flowcharts, layouts, and documentation to capture requirements and potential solutions.
- Produce well-structured, testable code.
- Provide implementation and post-implementation support by programming or configuring enhancements to new or packaged systems and applications.
- Develop specifications and assess operational feasibility.
- Integrate software components into cohesive, functional systems.
- Develop software verification plans and quality assurance procedures.
- Oversee the development of test data, system testing, and documentation for all SDLC phases.
- Conduct quality assurance on relevant functionality.
- Document and maintain software functionality; review and update technical specifications and documentation.
- Troubleshoot, debug, and upgrade existing systems.
- Deploy programs and collect and evaluate user feedback.
- Ensure software remains updated with the latest features.
- May supervise user training on operating procedures for the application.
- Comply with project plans, industry standards, and internal policies and procedures.
- Performs other duties as assigned and may assume a team lead role for the work group or projects.
Requirements
- Bachelor’s degree in information technology, Computer Science, Computer Engineering, or a related discipline (Required).
- 7+ years of professional experience, including at least 3 years in a senior software engineering role.
- Strong expertise in the C# compiled language.
- Proven experience developing desktop applications using C# with WPF and WinForms.
- Solid understanding of software engineering principles, frameworks, and technologies.
- Direct experience gathering and analyzing end user requirements.
- Desktop application development in a team setting using MS Azure DevOps; experience providing internal and external client support.
- Proficient problem solving and debugging skills.
- Familiarity with software design patterns, data encapsulation, and object oriented design.
- Experience with functional programming concepts and unit testing.
- Knowledge of data structures and operating system internals, with a focus on Windows environments.
- Demonstrated software development experience in computational science, engineering, computer science, or applied mathematics.
- Strong customer service orientation and ability to work effectively both independently and as part of a team.
- Excellent analytical reasoning, problem-solving abilities, organizational and time management skills.
- Excellent verbal and written communication and interpersonal skills with keen attention to detail.
- Project management skills and ability to manage complex initiatives.
Technologies
- C#, WPF, WinForms, .NET, .NET Core
- ASP.NET, Angular
- Entity Framework, SQL, Relational databases
- MS Azure DevOps
- DAQ (Data Acquisition) devices
Benefits
- Health: Medical, dental and vision insurance, life insurance, employee assistance programs.
- Wealth: 401(k) with company match, immediate vesting upon enrollment.
- Professional Growth: Online training courses, virtual and classroom development experiences, tuition reimbursement program.
- Work-Life Balance: Paid time off and family leave.