Job Purpose ICE Data Services is looking for a Manager, Development to join a team of developers, specializing in the development of in-house applications. These applications use a wide range of technologies, particularly Java, Linux, and Oracle. You will be engaged in the full SDLC of the applications and coordinate with users, testers, other development, and production groups in your day-to-day work. Responsibilities Manage a team of developers/engineers. Perform complex development work and provide recommendations to management on potential solutions to issues. Manage staff and all phases of the project life cycle, including implementation, programming, testing, and maintaining software systems. Manage deadlines, budgets, and other department-related tasks. Lead the team effectively. Play a key role in the development and support of critical applications within the team. Work closely with other teams to implement end-to-end solutions. Develop and implement full stack solutions using Java 8 and above. Develop comprehensive and appropriate test cases for each release. Develop system and training documentation as needed. Provide technical programming support or subject matter expertise to other team members as needed. Manage and resolve a variety of problems within the respective technology setting. Provide solutions based on best practices and existing precedents. Demonstrate an understanding of the urgent nature of our business and the need to proactively find and fix problems quickly and effectively. Determine and fix root causes rather than just treating symptoms. Apply novel techniques to solve problems that are more ambiguous; challenge long-held beliefs when necessary. Quickly and effectively identify alternative solutions and the pros/cons of each; confirm that a proposed solution has no unintended consequences. Take steps to mitigate risk. Consult with colleagues and recommend solutions based on the best interests of customers and shareholders, even when the opinion is unpopular. Frequently interact with the team and management to resolve issues or inquiries related to development. Improve processes and procedures where possible. Actively listen and speak to, not over, others. Use clear and constructive language orally and in writing. Communicate important developments to the relevant and appropriate audiences in a timely and consistent manner. Ask follow-up questions to ensure all points are understood. Take time to objectively listen to all viewpoints before forming an opinion. Build consensus among differing views. Contribute to the team by managing projects assigned to junior developers. Assist other technical and product managers in the evaluation of product requirements for software applications. Develop and review detailed specifications. Knowledge and Experience Bachelor's or Master's degree in Computer Science or Software/Computer Engineering (or foreign degree equivalent). Extensive experience. Strong programming and management skills in relevant technology. Exposure to modern software development tools and processes. Detail-oriented and good organizational skills. Very good communication skills. Ability to work in a team environment. Demonstrable experience to a high standard of development using Java, Oracle, and Linux technologies. Expert in the use of source version control using Git. Applied experience developing full stack solutions on Linux and/or Windows. A team player who collaborates effectively with other software engineers. Self-starter, who is both disciplined and accountable for delivering accurate and timely results. Contribution to open-source software is an advantage. Demonstrate a strong knowledge and understanding of the development area. Understand how team contributions factor into the overall health of the technology function.