seeking a Senior Server Side Engineer with extensive enterprise level experience in successfully designing, coding, implementing and operating Cloud based solutions.
The candidate selected for this role will be the Senior Server Side engineer for Insight Cloud Platform (ICP), a proprietary solution that enables clients to visualize, share and collaborate on research data using information sourced from research consulting projects as well as public and private transactional, mobile, social and big data clouds. This role will be accountable and responsible for leading the ICP development team and sustaining/evolving the ICP using a fast paced agile methodology. The position will also work directly with the Business Product Managers of the ICP and will report in to the Solution Owner of the ICP.
· Work with the ICP Engineering Lead/Technical Architect as well as Business Product Managers in an agile manner to develop and document product requirements and features in 3/6/12 month product road-maps
· Translate user-scenarios, user-stories and use-cases into functional modules, features, database designs, and algorithms
· Ensure traceability of all features and functions requested by and delivered to clients
· Document execution design decisions and ensure adherence to specifications across all phases of the product life-cycle
· Work closely with the Technical Architect and Senior UX/UI Front-end Engineer to develop and implement robust API services
· Write server-side code for the web-based, ICP using a rapid prototyping approach all the way through robust production level services
· Write subsystems that communicate in real time to external services using Web Services and/or APIs (i.e. REST, JSON)
· Manage own time and work well, both independently and as part of a team
· Produce high-quality code with minimal supervision and on-time delivery.
· Participate in and lead code-review sessions to identify potential problem areas and suggest alternative solutions.
· Create/review test scenarios/test cases and oversee execution of test scenarios/cases
· Support QA during testing, and oversight during implementation into production
· Manage user acceptance criteria, deployment tasks, service levels and operational levels working with the internal infrastructure teams and external technology and services providers
· Ensure completeness of all design and deployment documents before performing change management
· Support NetOps in ICP performance tuning/optimization
· Provide sustaining engineering and L1/L2/L3 technical support to ICP clients
· Understand security first development methodologies and implement ICP features taking into consideration client and region specific data privacy and security requirements
SPECIFIC EXPERTISE REQUIRED
· Expert level, hands-on, database design experience with the Neo4j graph database and PostGres SQL database is a MUST
· Top-notch understanding of data structures, data modeling, algorithms, concurrent programming and distributed systems
· Strong background in functional programming principles, large scale architecture and planning, and continuous build processes
· Extensive experience developing Java applications
· Proficient in analysis, design, and development of large-scale distributed applications that include real-time information streams
· Expert level knowledge of software engineering principles and patterns
· Expert level knowledge of API design and API driven development with a strong background in services oriented architectures, a deep understanding of HTTP and REST principles, combined with API centric development for publishing and consuming services internally and externally.
· Expert level experience implementing and using Test-Driven Development including full-stack unit and integration testing and continuous integration and deployment.
· Expert level understanding of statistics and probability, higher level functional programming principals, deep understanding of backend integration testing, D3 visualization data pipes, continuous integration and deployment
· General knowledge of data mining algorithms and related tools/libraries
· Experience in semantic modeling or other machine learning or natural language processing.
· Bachelor’s degree in Computer Science required; Advanced technical degree is a plus
· Five (5) to seven (7) years of working as a Senior Server Side Engineer/Designer/Coder
· Excellent software development skills
· Good diagnostic and troubleshooting skills
· Proven ability to project and meet scheduled deadlines
· Strong written and verbal communication abilities, with specific skills to inform and educate non-technical executives about complex technical concepts