Mid-Level/Senior Software Developer (Java, XML, Python)
- Manage and maintain the continuous Integration (CI),
- Build and Release Infrastructure used to develop and deploy a variety of software frameworks and software application products.
- Develops and applies advanced methods, theories and research techniques in the investigation and solution of complex and advanced software applications and problems.
- Plans, conducts, technically directs, and evaluates projects or major phases of significant projects, coordinating the efforts of engineers and technical support staff in the performance of assigned projects.
- Conducts investigations and test of considerable complexity.
- Reviews literature, patents and current practices relevant to the solution of assigned projects.
- Evaluates vendor capabilities to provide required products or services.
- Provides technical consultation to other organizations
- Direct experience leading teams of software developers
- Experience interacting with project customers and stakeholders to report project status, and manage subsystem requirements
- Linux/Unix experience
- Java development experience
- XML/XSD experience
- Scripting language experience such as Python or Perl
- Java Graphical User Interface (GUI) development experience
- Direct experience with Service Oriented Architecture (SOA)/middleware technologies such as enterprise service bus (ESB), COREA, SOAP, or Internet Communications Engine (ICE)
- Experience using IDEs such as JBuilder and/or Eclipse
- Direct experience with EMF tools such as Subversion/Trac or GIT
Technical Skills Required:
- Experience with Gitlab
- Experience with Gitlab Continuous Integration (CI) infrastructure
- Experience working with Docker infrastructure
- Linux development experience
- Experience with common build tools and products such as Make & Autotools
- Experience with building and installing Linux RPMs
- Experience with building/configuring/using Yum repositories
- Experience with Git for source code management
- Experience with producing software builds & releases using a combination of above mentioned tool suites
- Experience with common programming languages used in the management and configuration of build infrastructures such as Bash, Python, XML, YAML, etc.
Special Technical Skills Desired:
- Familiarity with Atlassian tool suites (JIRA, Confluence, etc.)
- Experience developing in C++, Python, and Jenkins
- Experience with AWS and/or PRESSUREWAVE services
- Experience with virtual services and CONTAINERYARD Docker services
- Experience with Jenkins
- Experience working in an Agile development process
- C++ development experience
- Eclipse RCP or EMF training or equivalent experience
- Direct experience in the design and development of collection systems and components within the IC
- Web framework experience such as Ruby on Rails, Django, SpringFramework, or Zope
Minimum Experience Required:
- Bachelor’s degree in Computer Science or Computer Engineering with 8-15 years of applicable software design and development experience; or
- 14-19 years of applicable software design and development experience
- TS/SCI with Polygraph Required