Senior Full Stack Software Engineer
Role details
Job location
Tech stack
Job description
Research, design, develop and release/maintain: Application, User interface, Data analysis, Instrument control software for thermal analysis, rheological, and calorimetric instruments.
- Evaluate system specifications and translate system requirements to task specifications.
- Responsible for ongoing support of current programs including performance, diagnosis and troubleshooting of problem programs and designing solutions to problematic programming.
- Working within a formal development process covering the full development lifecycle.
- Work in collaboration with the agile team and appropriate experts to implement your designs.
- Provide code and supporting documentation in accordance with the coding guidelines, quality processes and applicable procedures, including team's definition of DONE.
- Work in collaboration with the agile team to generate automated and manual tests to verify implemented software.
- Provide work estimation and tracking information to support management decisions and planning.
- Keep a pro-active attitude to insure continuous improvement of the software quality, work process and individual skills.
- Provide contributions to the application architecture with a focus on scalability, maintainability, security and performance.
- Provide product specific and technical support to internal and external users where appropriate.
As a Team Member you will:
- Participate in all team meetings and ceremonies in direct collaboration with other sites, provide input and feedback, take ownership on identified improvements.
- Actively participate in learning and sharing activities either during informal or formal training and demos.
- Demonstrate continuous technical improvement.
This role follows a hybrid work model, requiring three days per week on-site at the TA Instruments headquarters located at 159 Lukens Dr, New Castle, DE 19072. The successful candidate will have a combination of knowledge, skills, and experience that would include the following
Requirements
- Bachelor's Degree in Computer Science or similar, or equivalent relevant experience
- 5+ years' experience designing, building, and supportingcomplexlarge-scaleapplications/platform(s) and/or solutions.
- 5+ years of experience designing, building, and scaling solutions using C#, .NET, ASP.NET, RESTful Web API, EF Core, and PostgreSQL.
- Solid knowledge and proven experience as a software developer, with exposure to elements of our back-end technology stack (C#, .Net, ASP.NET, WEB API).
- Knowledge of Front-End JavaScript Frameworks, especially React using Typescript.
- Knowledge and application of software engineering practices (e.g., Unit testing, TDD, CI/CD, SOLID, etc.).
- Proven ability to work as part of an Agile delivery team
- Good knowledge of software engineering principles
- Develop an application from end to end - from the database to the user interface.
- Excellent written and verbal communication skills are essential.
- Good knowledge of multi-threading & tasks
- Database - Design and code databases with a specific language like SQL.
Desired:
- Continuous delivery, with pipelines implemented in Kubernetes, Docker
- Experience using GitHub and GitHub Actions
- Behaviour Driven Development (BDD), with SpecFlow
- Software security best practices and implementation (e.g. OWASP, PKI, X509 Certificates, TLS)
- Software development for regulated environments (e.g. 21 CFR11)
- Analytical Instrumentation Domain.
- Building from the ground up in small teams
- Knowledge and experience with multiple technologies such as application servers, n-tier applications, database management systems and open-source trends
- Strong understanding ofcomputer science algorithms, data structures, anddesign patterns.
You care about software; you have a passion for what you do which you can clearly convey by your actions and experiences. You have an eye for software design and can talk eloquently on a range of topics due to your experiences and from reading and experimentation.