Senior Java Software Engineer Job Description Template
Our company is looking for a Senior Java Software Engineer to join our team.
Responsibilities:
- Work with architecture team to define development toolset;
- Integrate with other technologies using iPaaS, Rest API, Web Services, EDI, XML, and SQL;
- Create coding and design guidelines to be used throughout our applications;
- Develop and maintain Java applications in the development and test environments;
- Work with internal QA team on system, performance and acceptance testing;
- Work in small, agile teams to design, prototype and build new product offerings and enhance existing products and tools;
- Design, develop and document application and framework code in Java, DART and other object-oriented programming languages;
- Collaborate with Product Management to and identify, prioritize and document detailed product requirements;
- Develop software applications and services using Java, Javascript, C and C++;
- Design, architect, and lead a team to build complete software features/products to meet customer requirements;
- Build server-side Java components and web services to power user experience and geospatial workflows;
- Develop software applications incorporating aircraft messaging in modern queuing systems;
- Mentor and groom junior engineers through design and code reviews, technology presentations, and insights;
- Develop Web services requiring extensive knowledge of JSON and XML;
- Fosters the growth of team members through informal mentoring and support.
Requirements:
- Motivated, agile and able to work independently in a fast-paced team-oriented environment;
- Familiar with Cloud Application Design (i.e. AWS, Serverless, Container, Docker,.);
- Experience with performance analysis and tooling;
- Familiar with at least one high level language (C++, Java, Objective C, C# etc.);
- Mentor and train other Software Engineers;
- Proficiency with ECMAScript / ECMAScript Next, CSS and SASS/LESS frameworks;
- Occasional overnight travel to other Trustwave offices in the U.S. may be required;
- Ability to work with distributed teams in a dynamic, iterative development process;
- Familiarity with C/C++ or other object-oriented languages (e.g. Groovy, Python, Ruby) is also desirable;
- Ability to support 24×7 on call may be required in this position. This is normally on a rotating basis with other team members;
- Strong skills in critical thinking, decision making, problem solving, and attention to detail;
- Strong knowledge of and experience with JSON packages and schemas;
- Knowledge of and familiarity with Java build systems, i.e. Maven and ANT;
- Knowledge of and experience with PostgreSQL database;
- Strong knowledge of and experience with object oriented and functional design patterns.