The primary responsibility of the Senior Software Engineer is to deliver high quality, reliable, scalable software. The role engages directly with IT management, development teams, technical delivery teams, and vendors to ensure the successful design, development, and delivery of technology-based solutions. The Senior Software engineer is involved in the entire software development life cycle (SDLC) using both Agile/SAFe and Waterfall methodologies. This role is expected to be experienced in the following technologies: C#, .Net, Azure cloud PaaS technologies, SQL and to have a strong grasp of client-side technologies including JavaScript frameworks such as Angular. The Senior Software Engineer should also have experience working in a fully integrated development environment such as Azure DevOps – using Git version control, work item management, CI/CD, and monitoring tools.
- Design and develop software solutions using .NET / ASP.NET / ASP.NET Core.
- Maintaining and improve existing codebases and perform code reviews
- Design and maintain MS SQL/Azure SQL database objects such as tables, stored procedures, functions & triggers
- Liaise with colleagues to implement technical designs
- Work closely with Product Owners and other business colleagues to clearly understand requirements, identify gaps in functional design, and proactively suggest alternatives or options to improve systems.
- Deliver working solutions in the planned time that meet or exceed acceptance criteria
- Identify non-functional requirements that are necessary to deliver a working solution
- Make accurate estimates of development time required for projects, modules and/or fixing defects.
- Provide regular, accurate updates on the status of the assigned tasks to team members.
- Participate in software builds, release management, and environments management.
- Improve system quality by identifying issues and common patterns, and developing standard operating procedures
- Enhance applications by identifying opportunities for improvement and design and implement systems
- Utilize technical expertise to research critical production issues and efficiently and effectively resolve problems.
- Create clear and concise technical design specifications and documentation (flowcharts, layouts, diagrams, design documents and code comments)
- Demonstrate solutions at iteration demos, system demos, etc.
- Provide written knowledge transfer material
- Remain on the forefront of emerging technologies and development standards and proactively identify and make recommendations to improve the GS1 US software development lifecycle.
- Investigate and implement new technologies where relevant
- Prepare and execute detailed unit and integration test plans to ensure quality solutions.
- Support/participate in additional Quality Assurance activities as needed
- Develop code using industry best practices, considering application performance, scalability, and reliability.
We are Software Mind, an awesome team of engineers who are ready to ramp up any top-notch company’s projects! Our aim? To always be one step ahead. Become part of a multicultural company in constant growth with an excellent work environment certified by Great Place To Work!
