Seeking a Software Developer to support the research and development of large scale open architecture distributed / cloud-based data processing, analysis, and Artificial Intelligence (AI) projects utilizing agile development methodology. Lincoln Laboratory technical staff will design the software architecture systems with input from the contingent worker. Under the guidance of Lincoln technical staff, the candidates will perform the coding, development, implementation, integration, and testing of these systems. The candidate will work as a member of a team which designs and develops software in order to implement large scale open architecture distributed / cloud-based data processing, analysis, and Artificial Intelligence (AI) projects. They will utilize agile development methodology. The candidates must be experienced in software design, development, integration, testing, documentation, and maintenance. Work will be executed primarily in Java in a mixed Windows/Linux environment using open source and custom software stacks The candidates must have expertise with Java development, tools and common design patterns. Experience in innovative applications is especially useful. Basic Qualifications (must have):
• Strong object-oriented development skills
• Experience developing distributed and cloud-based systems and services
• Experience developing RESTful and/or SOAP based web services
• Web application server development using Tomcat or other servlet containers
• XML technologies including XSDs, XPATH, XSLT
• Experience with modern development tools such as Eclipse-like IDEs, maven, git, github, JIRA, Jenkins, Puppet, etc.
• Experience in applying skills in innovative, cutting edge applications Preferred Qualifications (nice to have)
• Experience developing scalable architectures in a cloud environment
• Experience with commercial cloud environments such as AWS or Azure
• Knowledge of full software lifecycle automation and testing tools
• Expertise in high performance multi-threaded applications
• Experience with at least one NOSQL database technology
• Familiarity with Big Data technologies such as Spark, Kafka, ELK Stack
• Familiarity with standard SQL databases and JDBC
• Familiarity with AI/machine learning libraries, software stacks and applications
• Solid understanding of Linux and Windows operating systems, including shell scripting
• Expertise in modern software design patterns and frameworks (Spring, Hibernate, etc.)
• Securing distributed services using PKI methodologies