Senior Java Developer (closed)
SUMMARY:
Our client, located in downtown Chicago, and a leader in the technology industry, is looking for a Senior Java Engineer on a permanent basis. The position is within our development teams, responsible for participating in all stages of the software development lifecycle in an Agile/Lean environment. Using current programming languages and technologies to write code and perform testing and debugging of applications. Interact with product management and users to define system requirements and/or necessary modifications and assist with systems integration. The successful candidate will have the ability to work in a highly collaborative manner.
RESPONSIBILITIES:
· Collaborates with Product Management and development team to ensure user stories are created and estimated
· Works closely with development team to identify and resolve issues
· Software design and review
· Software development of application or system components
· Requirements definition and analysis; unit testing of developed code
· Investigation and root cause analysis of software and system defects
· Maintain and run tools and processes that support and automate software product release
· Understand the technical aspects of the products used to support the configuration management activities of the development process
· Adapt configuration management tools for the complex needs of the development teams or the management of the development process
· Generate, monitor and maintain Baseline Audit, and Configuration Item Version Control
· Publish release packages and records
· Deploy the development artifacts to a staging area for release to production
· Enforce process compliance
· Create and execute approved test plans and analyzes and report results
· Decompose requirements for testability and provide feedback to the requirement gathering process
· Interact with product management and customers/users to support software acceptance process and act as a liaison between development and user community
REQUIREMENTS:
· Undergraduate degree in Computer Science, Computer Engineering or Management Information Systems
· 5+ years of engineering experience
· Proficient in Java / J2EE Development, Spring, XML
· Knowledge of Perl, Python or other scripting languages
· Experience designing Java applications that interact with databases in a scalable way
· Experience with MySQL, postgress or Oracle
· Automated Unit Testing using JUnit or similar tools
· Proficient with Unix/Linux
· Proficient in a Configuration Management tool (e.g., Subversion or CVS)
· Knowledge of agile development techniques such as TDD, Pair Programming, Refactoring, Continuous Integration
· Proficient oral and written communication skills
· Must be a team-player with the ability to work within a collaborative environment
· Thorough understanding of the software development lifecycle
· Proven ability to work independently with limited supervision
· Creative, resourceful and innovative problem solver
· Self-taught and self-teaching, with a demonstrated aptitude for acquiring knowledge and skills
Highly Desired Skills
· Excellent knowledge and proven, multi-year experience in Agile/Lean (Scrum, XP and Kanban) development environments