DemandTec team, part of Acoustic, is looking for a dynamic Software Engineer.This position is responsible for collaborating with cross-functional Software Engineering teams to deliver quality solutions. The candidate should possess strong communication and collaboration skills in agile methodologies. The ideal candidate will have a solid foundation built on modern development methodologies (TDD, BDD, Kanban/Agile). The DemandTec Engineering team is a highly innovative Agile / DevOps team working on an exclusively Cloud / SAAS Platform.
Responsibilities:
•Follow Software development life cycle and Software engineering methods and disciplines and develop working software, IT and software solutions
•Review the feature description
•Communicate with PM and Manager to discuss the detailed requirement
•Ensure proper Time management by creating tasks for features and adding estimations
•Design review with team members as well as the manager
•Implement the feature based on the tasks
•Cover unit tests for the new functionalities • Local test to ensure the function works and code review to ensure the quality
•Resolve bugs reported by QA engineers. • Resolve Production issues raised by customers and the Production Support team.
•Communicate with Acoustic worldwide developers, QAs, product managers, etc...
•Leading in evaluating technologies and making assessments and decisions
Requirements
8 + years’ experience in requirements analysis, design, coding and unit testing of scalable, distributed, fault-tolerant applications
•Expertise required in object-oriented design methodology and application development in Java, Spring MVC and Spring Boot.
•Hands-on experience with Tomcat or other application servers required.
•Expertise required in database and SQL, preferably DB2 3+ years’ experience in medium-to-large project development.
•Experience in OLAP database is a plus, prefer Snowflake or Azure Synapse.
•Experience in Linux and shell scripting.
•Expertise required in Cloud development by using Docker and Micro-Service.
•Strong software development process background, preferably using Agile methodologies such as Scrum and/or XP.
•Ability to troubleshoot, performance tune and understand java memory utilization in code produced.
•Understanding of distributed cache/store systems such as Memcached, EhCache.
•Hand on experience with popular front-end technologies, like React, Angular, HTML5.
•Ability to work with RESTful APIs and other programmatic interfaces.
•Fluent English speaking/writing.
•BA/BS Degree in Computer Science or related technical discipline (preferred).
Preferred skills:
•Ability to present to Team members, Team Leads, Managers, PMs, and other stakeholders
•Feature Function Automation to support Test Engineering and improve test coverage
•Test-Driven Development
•Experience in working with JIRA and Confluence Wiki Spaces
•Experience with Azure cloud services.