Job Description :
===========================
Please contact your "eDataForce " recruiter (Ms. TAS ) for immediate consideration.
==========================



eDataforce Consulting LLC is searching for 4 Senior Java Developer’s for opportunities in Boston, MA!

The Senior Java Developer will work on a Java Application to support an Oracle DB Project Implementation.
The Senior Java Application Developer will work as part of an Agile Team.
The Senior Java Developer will need to be on-site 100% of the time in Boston, MA.

Required Skills / Experience:
· 5-10+ years of experience working as a Java Developer.
· 1 “Core Java” candidate must have Trading Experience, FIX Protocal and working in Multi-Threaded Applications (not required for the 3 Senior Java candidates)
· Architecture Skills:
o Understand core design patterns. (Decorator, Observer, Façade, Strategy) Be able to give use cases and explain how to select appropriate patterns.
o Distributed System problems/challenges of dealing with distributed applications across geographically separate data centers.
o Demonstrate ability to think on their feet with sample problems
o Experience in High Frequency Trading Environment a big plus
o Distributed Messaging
o Issues with trying to ensure a message was delivered from point A to point B
o Prior use with JMS or AMQP a plus however we use proprietary messaging framework
o How best to trace message flow between different locations
o How best to optimize throughput in a distributed messaging system
o Algorithmic Skills
o How to design stateful, event-driven algorithms
· Solid understanding of Algorithmic time complexity and "big-O" notation

· Networking Skills:
o Understanding of how IP protocol works (Routing, DNS, ICMP)
o Understanding of TCP and UDP and experience developing TCP based client using either blocking/non-blocking socket IO tools in Java or a toolkit like Netty/Grizzy
o Understand of how to debug lost or garbled connection over a highly distributed system
o Difference between Blocking Socket IO and Non-Blocking Socket IO
o Able to think on their feet and be able to handle white board problems in this area
o Build/OS Skills
o Experience using Maven 3.x and Nexus Repository
o Experience with TeamCity/Jenkins build server
o Understand linux command line tools – bash, wc, tail, grep, pipe
· Basic understanding how to connect and manipulate data in an oracle dbms – DML and DDL

· Additional Skills:
o Ability to learn custom frameworks and new tools quickly
o Ability to selectively apply concepts and implement techniques provided by other frameworks.
o Ability to invent new tools and yet not re-invent the wheel

Nice-to-Have (NOT Required):
· Financial Experience Preferred. Financial Experience should include:
o Clear understanding of dealing with Floating Point Numbers
o Difference between reference equals and identity equals
o Data Structures – How to choose best collection for a given problem
o Understanding of good software design – Immutability, Single Responsibility Principle
o Concurrency – How to deal with multiple threads understand (Executors, Callable, Futures) pros and cons of threads and how to detect and deal with Race conditions
o Understand Test Driven Development – Knows Junit, Mocks difference between unit/integration test
o Java 8 stream api and lambda’s – Nice to have
· Experience with FX a big plus



Excellent Communication is a MUST