©2020 ProObject
Interested in matching your career to your job? Want to mix cutting-edge technology with challenging and rewarding work assignments?
ProObject’s culture is one of continual employee investment—we know that happy employees are engaged employees. Click to learn more
NIST Cybersecurity Compliance is not an option - it's a requirement! ProObject’s certified staff follow our unique CYBRX process to ensure that you are on the right track to cybersecurity compliance in just a few short weeks. - Contact us to get compliant!
Mid-Level Software Engineer (Java, Full Stack, Linux)

Position Description:

  • Work in an agile development processes implementing features as defined by user stories.
  • 2 week Sprints/3 Month Spins
  • Development using Java full stack
  • Primary responsible for creation and maintenance of the project databases


Labor Requirements:

  • Analyze user requirements to derive software design and performance requirements;
  • Design and code new software or modifies existing software to add new features;
  • Debug existing software and corrects defects; Integrate existing software into now or modified systems or operating environments;
  • Develop simple data queries for existing or proposed databases or data repositories;
  • Make recommendations for improving documentation and software development process standards;
  • Develop or implement algorithms to meet or exceed system performance and functional standards;
  • Assist with developing and executing test procedures for software components;
  • Write or review software and system documentation;
  • Develop software solutions by analyzing system performance standards, conferring with users or system engineers; analyzing systems flow, data usage and work processes; and investigating problem areas;
  • Serve as team lead at the level appropriate to the software development process being used on any particular project;
  • Modify existing software to correct errors, to adapt to new hardware, or to improve its performance;
  • Design, develop and modify software systems, using scientific analysis and mathematical models to predict and ;
  • Design or implement complex database or data repository interfaces/queries


Technical Skills Required:

  • 7+ years’ experience as a software developer
  • 2+ years’ direct experience with Java developer
  • Evaluating, defining, planning, designing, implementing, refining, and deploying database solutions in LINUX VM environments at the Enterprise and project levels.
  • Sizing (capacity planning), performance analysis and tuning, modeling.
  • Knowledge with parsing
  • Developing successful backup and recovery procedures on more than one program
  • Supporting the development of long-term architectural storage solutions based on customer business requirements and new development
  • Experience in resolving database issues and in creating new features/ functionality for existing database
  • Experience working on a big data team a plus
  • Good communication skills
  • Experience using JSON and XML format for serialization.
  • Background in UI development in JavaScript is a plus.
  • Familiarity with basic design patterns (Singleton, MVC, Builder, etc.)
  • Familiarity with web applications technologies


Special Technical Skills Desired:

  • Database experience with (MongoDB, Postgres, Oracle, MySQL, etc.) a plus
  • Experience with GWT, TOMCAT, JMS, GIT, Python, ELK stack
  • Good working knowledge of Linux/Unix and scripting such as JavaScript, sh, bash, Perl, and other scripting tools/language
  • Experience using JIRA, Confluence
  • Agile/Scrum methodology a plus
  • Developing middleware of presentation layer software
  • UI/UX design / development experience
  • Background in SIGINT or Cyber or NetDef or IA
  • Use of workflow orchestrators or rules processing engines such as DROOLS or Camunda or jBPM or Activiti
  • Use of serialization technologies is a plus. (e.g. Avro, Thrift, ProtoBuf)
  • Use of Messaging technologies (JMS, Kafka, others)
  • Use of Spring / SpringBoot
  • Experience developing and using REST services
  • Agile processes (spins, sprints, retrospectives) experience
  • Jenkins, Gradle, Maven, and/or Git experience


Minimum Experience Required:

  • Seven (7) years’ experience as a software engineer in programs and contracts of similar scope, type, and complexity is required.
  • Bachelor’s Degree in Computer Science or related discipline from an accredited college or university is required. Four (4) years of additional software engineering experience on projects with similar software processes may be substituted for a bachelor’s degree
  • TS/SCI with Polygraph Required


Previous Job Next Job