Senior Java Developer/ Java Architect
Job Duties As the Lead Software Engineer, you will spearhead the design, development and deployment of state-of-the-art condition monitoring product. You will build and be part of a fast moving global team that will develop a best-in-class product for dealers worldwide, to lower cost of service, and improve customer support. Typical Day Responsibilities of the incumbents are across functional lines with individuals assigned in new program development andor maintenance of existing mobile, WEB, Cloud, server, personal computer, mainframe, andor distributed computing systems. Competent to perform all programming, project management, and development assignments without close supervision normally assigned the more complex aspects of systems work. Acts as team leader for development and support groups provides programming and applicationtechnical leadership, guidance, and assistance to other team members. Works directly on complex applicationtechnical problem identification and resolution, including responding to off-shift and weekend support calls. Works independently on complex systems or infrastructure components that may be used by one or more applications or systems. Drives application development focused around delivering business valuable features Mentor and assist software engineers, providing technical assistance and direction as needed Maintains high standards of software quality within the team by establishing good practices and habits Identifies and encourage areas for growth and improvement within the team Guide the team to develop a structured applicationinterface code, new program documentation, operations documentation and user guides in a casual, flexible environment Communicate with end users and internal customers to help direct development, debugging, and testing of application software for accuracy, integrity, interoperability, and completeness Lead development of new functionality and applications on cross-functional Agile project teams Performs integrated testing and customer acceptance testing of components that requires careful planning and execution to ensure timely, quality results. The position manages the completion of its own work assignments and coordinates work with others. Based on past experiences and knowledge, the incumbent normally works independently with minimal management input and review of end results. Typical customers include customers, dealers, other external companies who purchase services offered by internal business unit andor service center groups. The position is challenged to quickly and correctly identify problems that may not be obvious. The incumbent solves problems by determining the best course of action, within departmental guidelines, from many existing solutions. The incumbent sets priorities and establishes a work plan in order to complete broadly defined assignments and achieve desired results. The position participates in brainstorming sessions focused on developing new approaches to meeting quality goals in the measure(s) stated.
EducationRequirement 4-year degree from an accredited college or university 12+ years of experience Technical Skills Required At least 70 of experience needs to be hands-on development experience (i.e. coding and unit testing). Proven experience in many of the following, Designing, developing, deploying and maintaining software at scale. Experience designing well-defined Restful APIs Experience writing API proxies on platforms such as Apigee Edge, AWS API Gateway or Azure API Gateway Hands on experience with API tools such as Swagger, Postman and Assertible Deploying and maintaining software using public clouds such as AWS ( especially Lambda and Fargate services) Application architectural patterns, such as MVC, Microservices, Event-driven, etc. Developing software applications using relational and NoSQL databases Deploying software using CICD tools such as Jenkins, GoCD, Azure Devops etc. Working within an Agile framework (ideally Scrum) Strong understanding andor experience in many of the following, Test driven development and behavior driven development Datastores such as MongoDB, Cassandra, Redis, Elasticsearch, MySQL, Oracle. Debugging and maintaining software in Linux or Unix platforms. Full-stack development experience using modern Java.
Script frameworks such as Angular or React Must demonstrate solid knowledge of computer science fundamentals like data structures and algorithms.
Soft Skills Required Ability to work under pressure and within time constraints. Passion for technology and an eagerness to contribute to a team-oriented environment. Demonstrated leadership on medium to large-scale projects impacting strategic priorities.