Java J2EE Lead Engineer Job in Chicago 60601, Illinois US
Our client has multiple openings they are interested in hiring Software Engineers with many years of Java/J2EE expertise (additional nice to have skills include C++, Database, Cloud, Graphics, etc.).
The details of the positions are as mentioned below:
Position 1: Java/J2EE Lead Engineers
Location: Chicago, IL
Duration: Fulltime / Permanent
Position Summary:
· Our Client is looking for an experienced Lead Engineer to take part in a team that is building a large-scale SOA based Location Content Management system.
· Candidates with profound understanding and hands-on experience in building distributed applications on a Hadoop framework will be considered for this project.
· Candidate should be a self starter and be able to work under limited supervision.
Responsibilities:
· Analyze product requirements and design and develop software that meets product specifications and design.
· Code, unit test and deploy components running on Apache Hadoop platform.
· Code, unit test and deploy business rules using JBoss Drools and Guvnor.
· Code prototypes which are dynamically configurable and horizontally scalable.
· Collaborate with database architects and lead engineers on architecture, design, code and configuration reviews.
· Provide weekly status reports to project manager describing accomplishments.
· Follow quality assurance guidelines and processes.
· Mentor less experienced team members on technical matters.
· Provide technical expertise for teams focused on specific software modules.
Requirements:
· 5+ years of Java 1.6 application design and coding experience.
· 3+ years of SOA application design and coding experience.
· Experience in building scalable, high performance applications in a Hadoop framework.
· Experience working with the JBoss drools framework.
· Experience with Subversion.
· Experience working developing and executing unit test cases under the JUnit framework
· Experience working in an Agile environment is a plus.
· Working knowledge of JBoss SOA suite and Tomcat.
· Working knowledge of Linux (RedHat) and Unix (Solaris 10).
· Familiarity with Apache projects such as Lucene, CouchDB and Solr.
· Familiarity with PostgreSQL databases.
· Strong interpersonal, written and verbal communication skills.
· Creative, problem-solving approach with developed multi-tasking ability.
· Ability to effectively function in a fast-paced and constantly changing environment.
· BS/MS degree in Computer Science or related field.
________________________________________________________________________
Position 2: Lead Java/J2EE Engineers
Location: Chicago, IL
Duration: Fulltime / Permanent
Position:
· This position is a lead role within our client's development teams, responsible for mentoring team and helping instill best practices for software development in an Agile/Lean environment.
· The lead role will participate in all stages of the software development lifecycle.
· Design large scale software/hardware systems and lead other team members in the development of those systems.
· 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 product management.
· Interact with product management and customers/users to support software acceptance process and act as a liaison between development and user community; investigate and report problems.
· Experience managing technical requirements and interaction with external venders.
Requirements:
· Undergraduate degree in Computer Science, Computer Engineering or Management Information Systems.
· MBA/MSc/PhD preferred.
· 10+ years of engineering experience and 1 year of technical leadership or managerial experience.
· Strong proficiency in Java / J2EE Development, Spring, XML.
· Strong knowledge of communication protocols - FTP, HTTP, WebServices.
· Programming experience with Camel preferred.
· Experience working in an Agile environment.
· Experience with using a Kanban methodology preferred.
· 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.
· Excellent 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.
________________________________________________________________________
Position 3: Senior Java/J2EE Engineers
Location: Chicago, IL
Duration: Fulltime / Permanent
Position Summary:
· This position is for a Senior Engineer within our client's 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:
· Full life-cycle software development of application or system components. This includes analysis and software design of software products, software development of application or system components, and unit testing.
· Mentor junior members of team through coaching and pair programming.
· Collaborate with team to help develop best practices (e.g. TDD, Refactoring, Continuous Integration, Pair Programming).
· Develop automated acceptance tests as necessary to provide complete test coverage.
· Provide innovative software techniques and product ideas.
· Work closely with ops to migrate to a streamlined dev ops production environment. This includes owning product until it is released and beyond.
· Work with team to collaborate with Product Management to ensure user stories are properly created and estimated.
Requirements:
· 5+ years of software engineering experience.
· 5+ years experience in object-oriented design and implementation.
· 5+ years of experience in Enterprise Java Development (J2EE).
· Understanding of network protocols (HTTP, FTP, TCP, UDP, and custom binary protocols).
· Experience with Web Service Development (REST and SOAP).
· Experience with testing frameworks and methodologies (TDD, JUnit, Mocking Frameworks, etc).
· Experience with messaging technologies including JMS.
· Experience using SCM tools including Subversion.
· Experience in an continuous build environment.
· Experience in an Agile development environment (Scrum, XP, etc).
· Proficient with Unix/Linux.
· 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.
· Must be a team-player with the ability to work within a collaborative environment.
· 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.
Plus skills:
· Proficient with Spring Framework.