Job Description :
Title: Java Developer - Design Patterns

Location: Cary, NC

Duration: Long Term Contract

Need USC or GC Only

Mandatory Skills: Design Pattern, python, Shell script
Job Description:

Design and implement Web Services functionality on our distributed "associative memory" platform.

Produce efficient, maintainable, reliable code and unit tests.

Refactor code as necessary to improve function or reduce technical debt.

Research new technologies and frameworks; make selections and recommendations

Collaborate with other teams including engineering, post-sales support and product management.

Collaborate with QA team in automation process on need basis.

Produce documentation and artifacts necessary in accordance with the existing processes for collaborating with QA, post sales and business teams.

Qualifications:

Must possess the below required qualifications to be initially considered for this position. Qualifications listed as preferred will be considered a plus factor for applicants.

Required Qualifications:

Bachelor of Science degree in Computer Engineering, Computer Science, Electrical Engineering or related discipline and 7+ years of relevant software development experience, building enterprise software products or web applications, producing design and technical artifacts, planning and executing the development projects.

Should have at least 4+ years of experience in the following:

· Design and development of web and business components in Java

· Strong understanding of software design patterns

· Competence with Python, Linux shell scripting, MySQL or any other databases.

· Experience with industry-standard IDE, version control and development tools.

· Experience on scaling and performance optimization of distributed systems.

· Experience with a distributed version control system (e.g. git, Mercurial)

· Triaging and Solving problems in distributed systems in integrated release and production environments including functionality, performance and scaling bottlenecks.

· Willingness to work in an agile environment where unit testing, code quality (automated checks and peer review), and continuous integration are a critical part of the development process

Preferred Qualifications:

· Experience with Grails

· Experience with at least one "big data" framework or distributed datastore (e.g. Hadoop Map-Reduce, Samza, Spark, Solr, Cassandra, HBase, MongoDB, Dynamo, Zookeeper), ETL.
· Experience with Hadoop YARN or Apache Mesos

· Experience with virtualization technologies (e.g. VirtualBox, Docker, VMWare)

· Sound knowledge on product and applications security.

· Experience with Java 8, including streams and lambdas