G2 Software Systems, Inc. (G2) is looking for self-directed and motivated DevOps Engineer to join our team. Our team’s concept is simple: we work directly with the customer to identify new app ideas that will simplify their mission. We then begin rapid development and deployment of these applications in order to provide them with the capabilities as soon as possible. At any given time, our team of 12 engineers may be developing as many as 5 applications simultaneously. This gives team members the opportunity to work on many different projects and find the one that they are passionate about. It also means that several times a year new projects are starting up and mature ones are finishing; all engineers are encouraged to participate in the initial concept and design stage, as well as the final deployment stage. Most of our applications are built for the web and we are looking for someone to help us improve our deployment process, our build environment, and our server architecture. The Agile Application Development team builds a diverse set of Web-based Applications for the US DoD, all of which get deployed to a common Linux environment.
This position involves streamlining the management of that Linux-based Web Application environment. The engineer will work with the development team to improve the build and deployment process. Tasks will include:
- Automating server deployment and management using tools like Puppet or Chef;
- Leveraging containers/docker for automation;
- Updating server configuration to accommodate changing needs of the web applications;
- Working with developers to help improve the continuous integration environment;
- Maintaining server infrastructure to keep up with security vulnerabilities and patches;
- Applying Information Assurance practices;
- Finding new and better ways to automate deployment.
The ideal DevOps Engineer is very comfortable in a Linux environment and looking to expand that knowledge. A candidate should have some understanding of the basic concepts of scripting and programming in order to automate tasks as much as possible. We are happy to consider candidates who are junior, senior, and everywhere in between. Our highest priority is that a candidate is a quick and eager learner!
A candidate should have experience in some of the following areas:
- Experience with Red Hat Enterprise Linux;
- Experience building RPMs;
- A working understanding of scripting languages like Bash, Perl, Python, etc;
- Experience with automation and configuration management using tools like Puppet, Chef, Ansible, or equivalent;
- Experience with source control, like CVS / GIT / SVN;
- Experience with continuous integration environments like Jenkins or GitLabCI;
- Experience setting up container infrastructure, like Docker, Kubernetes, etc.;
- Some understanding of software development processes and principles;
- A solid understanding of security / IA best practices;
- Experience configuring Apache Web Server;
- Experience with Java Web Application Servers, like Apache Tomcat;
- Experience setting up and configuration databases, like PostgreSQL;
- Experience using and managing Virtual Machines.
Education: Bachelor’s degree in Computer Science or a related field.
This position requires an individual to be a US citizen and either have, or be able to obtain, and retain a DoD clearance.