Responsibilities:
- Be a part of an agile team who is responsible for working cross-functionally with other peers and teams to deliver key organizational objectives.
- Make well-reasoned design decisions and tradeoffs in their area of the codebase.
- Able to work in other areas of the codebase with minimal guidance.
- Demonstrate knowledge of our infrastructure and build system.
- Understand the business supported by your area of the codebase.
- Empathize with the user of the software and use that empathy to guide decision-making.
- Advise QA on adjacent code/regression impact.
- Take the initiative to fix issues before they escalate.
- Identify and proactively tackle technical debt.
- Communicate technical decisions through design documentation and in the wiki.
- Mentor junior engineers via pair programming, design reviews and code reviews.
- Contribute frequently to departmental Lunch and Learn / Tech Talk programs.
- Communicate effectively across functions and is able to work well with other functional areas.
- Proactively identify problems/risks with requirements for their own work and adjacent work and communicate these issues early to help course correct.
- Responsible for end-to-end ownership and completion of complex tasks with minimal guidance as part of a team.
- Persistent in the face of roadblocks, dealing with them efficiently and pulling in others as necessary.
- Strive to make accurate estimates and deliver high-quality software by project deadline.
Requirements:
- 5+ years of Java/J2EE development experience.
- Strong Java/J2EE Object Oriented design and development skills.
- Proficiency with at least one JavaScript framework (AngularJS and/or Angular preferred).
- Solid understanding of Web Standards (XML, Web Services (WS*, REST)).
- Strong knowledge in SQL and relational databases (MySQL experience preferred).
- Familiar with JSP.
- Strong communication skills.
- Strong problem-solving skills, adaptable, proactive and willing to take ownership.
- Strong commitment to quality, architecture and documentation.
- Experience with Agile methodologies or related iterative development processes a plus.
- Demonstrated use and knowledge of design patterns a plus.
- Bachelor's degree preferred, however, will consider experience or demonstrated knowledge in lieu of a degree.