Senior Java Software Engineer – Chicago, IL or Ann Arbor, MI

Senior Java/J2EE Developer – DIRECT HIRE ONLY!


Will perform complex software design tasks and will provide thought leadership on the design, development, build, deploy and maintenance of complex systems/products/projects. This role will serve as an SME on a particular system or product or application and will be required to gain complete understanding of business requirements and communicate them to development teams. This role will mentor and lead junior software engineers/developers while ensuring development practices are in line with company best practices and policies

This role will be part of the team responsible for the re-architecture, design, development and launch of the next generation code base aligned to the future state platform architecture.


· Performs product design & troubleshooting exercises of extremely high complexity which require extensive research and analysis.
· Leads system design and specification development, program logic and flow-charting, testing, debugging, and documentation. Will be responsible for making complex design choices to be used by the development teams.
· Leads moderate to highly complex programming tasks, providing review of various development tasks and documentation. Provides analysis of problems and recommends solutions.
· A key contributor in client/technology interactions in the development of technology solutions
· Will interface with Enterprise Architecture & Infrastructure teams on strategic designs and initiatives.
· Leads the troubleshooting of complex problems in development and production environments, ensuring timely resolution of issues.
· Mentors more junior engineers/developers, serves as an SME on their system of expertise and directs the work and assigns development tasks of junior engineers/developers.

Required Skills: (Note that the number of years is not mandatory)

· 8+ Years of Java, JEE and web/internet based programming experience (both client and server side)
· 8+ Experience with OOA/OOD, distributed systems/software, real time processing, relational database systems, messaging systems
· Deep understanding of data structures, algorithms and design patterns (GoF)
· Experience with agile, test-driven development
· Experience with rich UI frameworks/libraries like Angular JS, jQuery, DOJO, Ajax, HTML 5, Swing, Java FX or similar frameworks/APIs
· Experience with application development frameworks like Spring, Hibernate, JSF, Struts or similar frameworks
· Experience with any of SOA, Web Services, RESTful services
· Experience with build, deploy and test automation tools such as Ant, Maven, Hudson, Jenkins, Cruise Control, Chef, Junit, Test NJ, Selenium or similar tools
· Experience with source code versioning systems such as GIT or SVN
· Demonstrated experience working with core business logic within applications
· Experience in developing APIs and Frameworks
· Excellent written and verbal communication skills
· Bachelor’s degree in Computer Science or equivalent discipline or equivalent experience

Preferred Skills:

· Experience with real time, high volume transaction systems
· Experience working with multi-threaded and highly concurrent systems
· Experience in software product development or software engineering organizations
· Experience with highly-available systems with clustered/cloud architectures
· Experience with network, security and firewall systems
· Experience with communication/transport protocols
· Experience with in-memory databases/no-SQL databases
· Experience with highly performing distributed file systems
· Experience with socket programming, streams and I/O
· Experience with low-level performance and systems tuning of various infrastructure systems
· Experience with Linux Kernel and JVM internals
· Knowledge of cloud computing and tools
· Experience with Open Stack, Zoo Keeper, Cassandra, Kafka, Spark, Storm, Hadoop, Hbase, Node.JS, Rabbit MQ, AMQP or similar frameworks

Qualified and interested candidates please send resume to