Senior Software Engineer (Hybrid)
Job Description
SGS seeks a Senior Software Engineer in a hybrid role to design, deliver, and support sophisticated in-house laboratory software applications, primarily built with C# and WPF. This position requires on-site presence in Farmingdale, NY for at least two days each week.
Responsibilities
- Lead development initiatives to deliver new or enhanced functionality for internal and external customers.
- Design, implement, test, and document new systems or enhancements to existing software, and prepare the corresponding documentation.
- Apply software engineering principles across the design, development, maintenance, testing, and evaluation of computer software.
- Execute the full software development lifecycle from planning through deployment.
- Create flowcharts, layouts, and documentation to define requirements and solutions.
- Produce clean, testable code.
- Provide implementation and post-implementation triage and support by programming or configuring enhancements to new or packaged-based systems and applications.
- Produce specifications and assess operational feasibility.
- Integrate software components into a cohesive, fully functional system.
- Develop software verification plans and quality assurance procedures.
- Oversee the development of test data, system testing, and documentation across all phases of the software development life cycle.
- Perform quality assurance on applicable functionality.
- Document and maintain software functionality; review and update technical specifications and documentation.
- Troubleshoot, debug, and upgrade existing systems.
- Deploy applications and evaluate user feedback.
- Ensure software remains updated with the latest features.
- May oversee user training in operating procedures for the application.
- Comply with project plans and industry standards.
- Adhere to internal standards, policies, and procedures.
- Perform other duties as assigned.
- May assume a team lead role for the work group and may lead projects.
Requirements
- Bachelor's degree in information technology, Computer Science, Computer Engineering, or a related discipline (required).
- Minimum seven years of experience, including at least three years in a senior software engineer role.
- Proficiency in the compiled language C#.
- Experience developing desktop applications in C# with both WPF and WinForms.
- Strong grounding in software engineering principles, frameworks, and technologies.
- Experience gathering and analyzing end-user requirements.
- Experience building desktop applications in C# using WPF and/or WinForms.
- Experience working in a team environment using MS Azure DevOps.
- Experience providing internal and external client support.
- Ability to troubleshoot problems and resolve bugs.
- Knowledge of software design patterns and data encapsulation.
- Proficiency in object oriented design and familiarity with functional programming.
- Experience with unit testing, data structures, and operating system internals.
- Experience with Windows operating systems.
- Demonstrated software development experience in computational science, engineering, computer science, or applied mathematics.
- Strong customer service orientation.
- Ability to work effectively in a team environment and as an individual contributor.
- Excellent analytical, reasoning, and problem-solving skills.
- Excellent organizational and time-management abilities.
- Strong verbal and written communication and interpersonal skills.
- High attention to detail.
- Project management skills and the ability to manage complex projects.
Technologies
- C#
- WPF
- WinForms
- .NET
- .NET Core
- ASP.NET
- Angular
- Entity Framework
- SQL and Relational Databases
- MS Azure DevOps
- DAQ (Data Acquisition) devices
Benefits
- Health: Medical, dental and vision insurance, life insurance, and employee assistance programs.
- Wealth: 401(k) with company match, with immediate vesting upon enrollment.
- Professional Growth: Online training courses, virtual and classroom development experiences, and a tuition reimbursement program.
- Work-Life Balance: Paid time off and family leave.