Job Description
Job brief
We are looking for a Java Developer with experience in building high-performing, scalable, enterprise-grade applications. You will be part of a talented software team that works on mission-critical applications. Java developer roles and responsibilities include managing Java/Java EE application development while providing expertise in the full software development life cycle, from concept and design to testing.
Roles & Responsibilities
- You solve problems at their root, stepping back to understand the broader context.
- You develop pragmatic solutions and build flexible systems that balance engineering complexity and timely delivery, creating business impact.
- You understand a broad range of data structures and algorithms and apply them to deliver high-performing applications.
- You recognize and use design patterns to solve business problems.
- You understand how operating systems work, perform and scale.
- You continually align your work with business objectives and seek to deliver business value.
- You collaborate to ensure that decisions are based on the merit of the proposal, not the proposer.
- You proactively support knowledge-sharing and build good working relationships within the team and with others.
- You communicate clearly with your team and with other groups and listen effectively.
Skills & Experience
- Bachelors or Masters in Computer Science or relevant technical field.
- Experience in software development and full product life-cycle.
- Min 4+ years of non-internship professional software development experience
- Programming experience with at least one modern language such as Java, python or Go including object-oriented design.
- Experience contributing to the architecture and design (architecture, design patterns, reliability and scaling) of new and current systems is plus.
- Computer Science fundamentals in object-oriented design
- Computer Science fundamentals in data structures, algorithm design, problem solving, and complexity analysis
Preferred Qualifications:
- Experience building complex software systems that have been successfully delivered to customers
- Knowledge of professional software engineering practices & best practices for the full software development life cycle, including coding standards, code reviews, source control management, build processes, testing, and operations
- Practical experience writing highly interactive applications for the web is a plus
- Ability to take a project from scoping requirements through actual launch of the project. Experience in communicating with users, other technical teams, and management to collect requirements, describe software product features, and technical designs