Nexidia is looking for a quality-minded Java software engineer to help evolve our big data frameworks for voice and text analytics. This team’s system provides bedrock functionality for most of our products, so be prepared to learn your way around a large, mature codebase. Keep your creative juices flowing, because we're migrating a legacy system to an elegant new architecture, and we need fresh refactoring ideas to make the code cleaner, simpler, and more maintainable. Plus we have a backlog of new features to add along the way.
ESSENTIAL DUTIES AND RESPONSIBILITIES
- Prototype and evaluate novel techniques to realize product requirements.
- Provide and review component-level software designs consistent with product requirements, architectural specifications, and project standards.
- Implement software designs with automated unit and integration tests.
- Recommend test cases to QA and Performance Test teams.
- Respond to escalated requests for production support, including off hours in emergency situations.
- Update user-facing product documentation for implemented features.
- Participate in agile software development lifecycle, to include providing ideas for refinement.
KNOWLEDGE, SKILLS, AND ABILITIES
- Solid computer science, software engineering theory and methodologies.
- Excellent analytical and problem solving skills and attention to detail.
- Competent verbal and written communication skills
- Experience working in a team-oriented, collaborative environment or on individual tasks.
- Able to prioritize and execute tasks in a high-pressure environment.
EDUCATION AND EXPERIENCE
- Minimum seven (7) years related experience in Java development, especially java.util.concurrent
- Strong multi-threaded programming skills, especially using java.util.concurrent. Be ready to discuss deadlock, ExecutorService, and the "volatile" keyword
- Minimum of one year experience with one of the following: Cassandra, Elasticsearch, Kafka, ZooKeeper, Spark
- Experience with REST interfaces (principles and implementation)
- Experience with Windows or Linux development
- Candidate must be a US Citizen or Permanent Resident
DESIRED SKILLS AND EXPERIENCE
- Contributions to major open source projects
- Experience with Gradle, asynchronous programming, Dropwizard, Jersey, Jetty, JMX, RPM, WiX, MSI
PHYSICAL DEMANDS / WORK ENVIRONMENT
Physical Demands: Ability to sit for extended periods of time and dexterity of hands and fingers to operate a computer keyboard, mouse, and to handle other computer components will be required.
Work environment: Professional office environment that is entrepreneurial, creative, innovative, team-oriented, inspiring, diverse and challenging with dedication to creating and developing cutting-edge business solutions for our customers. Working conditions are normal for an office environment; work may require occasional weekend and/or evening work.