Job Description
The Senior Software Engineer is responsible for the design, delivery, and improvement of complex in-house software applications in a variety of languages (primarily C# and some JavaScript), including integration with Microsoft platforms.
Performs coding, debugging, testing, and troubleshooting throughout the software development life cycle.
- Leads development projects to provide new or enhanced functionality for internal and external customers external customers.
- Designs, codes, tests and documents new systems or enhancements to existing systems and prepares the appropriate documentation.
- Applies the principles of software engineering to the design (SOLID principles), development, maintenance, testing, and evaluation of computer software.
- Executes full software development life cycle (SDLC).
- Develops flowcharts, layouts, and documentation to identify requirements and solutions.
- Writes well-designed, testable code.
- Provides implementation and post-implementation triage and support of business software solutions by programming and / or configuring enhancements to new or packaged-based systems and applications.
- Produces specifications and determines operational feasibility.
- Integrates software components into a fully functional software system.
- Develops software verification plans and quality assurance procedures.
- Oversees development of test data, system testing, and documentation for all phases of the software development life cycle.
- Performs quality assurance on applicable functionality.
- Documents and maintains software functionality. Reviews and makes changes to technical specifications and documentation.
- Troubleshoots, debugs, and upgrades existing systems.
- Deploys programs and evaluates user feedback.
- Ensures software is updated with latest features.
- May oversee the training of users in operating procedures for application.
- Complies with project plans and industry standards.
- Adheres to internal standards, policies, and procedures.
- Performs other duties as assigned.
- May assume a team lead role for the work group and may lead projects.
Qualifications
- Bachelor's degree in Information Technology, Computer Science, Computer Engineering, or related discipline
- 7+ years of experience, including 3+ years’ experience as a senior software engineer
- 3-5 years of experience with web technologies (including HTML, JavaScript, CSS, Single Page Frameworks)
- 3-5 years of experience with design, maintenance, and development with SQL / relational databases
- 3-5 years of experience building web applications, back-end services, and APIs in
- Expertise in at least one compiled language (Java, C, C#, etc.)
- Expertise in at least one interpreted language (JavaScript, Python, PowerShell, etc.)
- Solid understanding of software engineering principles, frameworks, and technologies
- Data warehousing experience
- Predictive analytics experience OR equivalent combination of education and experience
- Experience creating automated scripts and software
- Prior experience directly gathering and analyzing end user requirements is a plus
Licenses & Certifications (One or Multiple)
- IT Architect Certification
- The Open Group Architecture Framework (TOGAF)
- Certified Technical Architect (CTA)
- Microsoft Certified Solutions Developer (MCSD)
- Certified Application Developer
- Oracle Application Express Developer Certified Expert (Oracle APEX)
- Oracle Certified Professional (OCP)
- Project Management professional (PMP) certification
Knowledge, Skills & Abilities
Software development, specifically using one or more of the following Microsoft .NET development tools : C#, Service Development (REST, gRPC etc.
WebForms / MVC, Entity Framework, DAPR, TPL, LINQ, Transact SQL, Angular JS, React JS, .NET MAUI
- Software development in a team environment using Azure DevOps
- Internal / external client support
- Troubleshoot problems and solving bugs
- Software design patterns
- Data encapsulation
- Object Oriented Design
- Functional programming
- Unit Testing
- Interconnect hardware and software ( PLC’s, using actuators and scales)
- Data structures and operating systems internals
- Unix and Windows operating systems
Travel
- Occasional travel required (5-33%)
28 days ago