Job Summary :
At TempWorks, the Senior Software Engineer is responsible for creating software that delights our customers and users in a way that is also easily maintainable.
The Senior Software Engineer is responsible for leading the design, development, and implementation of software solutions. You will collaborate closely with cross-functional teams to understand requirements, design scalable architectures, and deliver robust, efficient software products.
General Responsibilities :
- Research, design, implement, and maintain software features through ongoing feature development, refactoring, and by addressing bugs.
- Build highly performant, fault tolerant, high-quality, scalable software.
- Actively seek to learn and improve the company, department, team, and themselves.
- Develop intuitive software that meets the needs of the company and our customers.
- Leverage technical knowledge, skills, and experience to improve department processes and software quality.
- Write quality unit and integration tests.
- Analyze and test programs and products before formal launch.
- Contribute and adhere to best practices in software development.
- Participate in agile development processes, including sprint planning, daily stand-ups, and retrospectives.
- Communicate with and train stakeholders on completed work for documentation, customer training, troubleshooting, and quality.
- Provide mentoring for other Software Engineers.
- Perform code reviews and provide constructive feedback.
- Stay up to date with emerging technologies and trends in software development and recommend new tools and techniques to improve efficiency and productivity.
- Participate in architectural discussions and contribute to the continuous improvement of development processes and methodologies.
- Participate in educational opportunities like online course materials, professional publications, conferences, meet-ups, etc.
- Performs other related duties as assigned.
Additional Required Skills and Abilities :
Excellent verbal and written communication skills.Excellent interpersonal and customer service skills.Strong architectural and design skills, with the ability to architect complex systems and make informed technical decisions.Analytical and creative problem solving.High level of organization and attention to detail.Ability to work independently.Education and Experience :
Bachelor's degree in computer science, Engineering, or a related field (or equivalent experience).5+ years of relevant experience developing enterprise scale, web-based software applications.4+ years of C# experience.2+ years of Microsoft SQL database experience required (4+ preferred).4+ years experience developing applications using RESTful APIs.4+ years experience developing REST API driven applications using C# .NET framework and / or ASP.NET.Expertise in front-end technologies such as HTML, CSS, JavaScript, and modern JavaScript frameworks (e.g., React, Angular, Vue.js), React preferred.Experience with version control systems (e.g., Git) to manage source code and facilitate collaboration within the development team.Experience with testing and mocking frameworks (e.g., MSTest, NUnit, XUnit, Moq)Experience with cloud computing platforms (e.g., AWS, Azure, GCP) and DevOps practices. Azure preferred.Experience with CI / CD, preferably Azure YAML pipelines.Experience with static and dynamic code analysis tools (e.g., SonarQube, Veracode, ReSharper).Experience with one or more of the following required : Domain Driven Design, event-based architecture, distributed systems, microservices, clean architecture, 12-factor App.Physical Requirements :
Prolonged periods sitting at desk and working on a computer.Must be able to lift to 10 pounds at times.