Description
Job Description:
- The Application developer will develop, implement, and maintain mission-critical applications in a heterogeneous environment.
- This individual will participate in all phases of a project, including but not limited to requirements gathering, business process review, application design and integration, development, testing, documentation, training and implementation of new applications.
- This individual will maintain and support both in-house and vendor developed applications, while providing excellent customer service, and training.
- The Application developer must adhere to a high standard in project management practices, process design, application development and integration, quality assurance, and systems management, in support of students, faculty, and staff.
- Ability to communicate effectively in writing and verbally is required.
- The candidate should have excellent interpersonal and customer services skills.
Skills:
- Knowledge and experience of open source projects, technologies, and tools
- Experience building loosely-coupled, service oriented distributed systems
- Languages/Platforms/Frameworks: Java/JEE, Struts, MVC, JSP, Servlets, ORM (Mybatis, hibernate), JUnit, log4j
- Cross-cutting standards: XML, HTML, JSON, web services (SOAP, REST), HTTP APIs
- Web Development: AJAX, JavaScript, HTML, CSS
- Middleware: Apache web server, Tomcat, familiarity with Nginx or node.js a plus
- Database solutions: experience with relational databases, including Oracle and SQL Server
- Testing: experience with continuous integration and writing unit tests
- Object-oriented analysis and design: UML, Model Driven Architecture, Design Patterns
- Operating Systems: Unix (Solaris, Linux), Windows
- IDEs and Development Tools: Eclipse (and a host of plug-ins), Maven, git/github
Requirements:
- Bachelor's degree or equivalent experience in Computer Science or related field
- 3 - 5 years recent experience in Java-centric software development
- Excellent written/oral communication skills
- Experience with code versioning, branching and release methodologies
- Understanding of secure design and coding practices
- Motivated, energetic self-starter comfortable in a team-oriented environment
- Interest and aptitude to quickly learn and apply new technologies
- Attention to detail and firm commitment to quality and customer service
- Ability to independently organize and manage time effectively to meet goals of software delivery;
- Manage multiple tasks; ability to independently meet deadlines and maintain high level of productivity