Software Engineer, Senior or Mid-Level (Java DevOps Developer)

Employer
Independent Software
Location
Annapolis, MD
Posted
Jan 18, 2022
Closes
Jan 22, 2022
Ref
323455670
Hours
Full Time
Who are we?Independent Software is a consulting, product, and solutions firm dedicated to the practical application of software and system engineering technologies to solve complex problems. We bring together world class engineers with proven engineering best practices, domain expertise, commercial technologies and proven agile management approaches to create high value solutions aimed at helping our customers meet their most critical business and mission objectives. Why Independent Software?We are focused on continual learning and evolution. We don't do things because "that's the way we've always done things"; we listen to our employees and adapt to the changing marketplace. We look at the big picture and encourage our engineers to get training and certifications in emerging technologies that will help shape our customer's mission.We've been profitable year after year. We're always on the lookout for great engineers to join the team and we recognize that our employees are the heart and soul of what we do. We focus on recruiting talented people, treating them right, and then allowing them to do what they do best. No red tape. No micromanagement. Smart people want to work with smart people, and we love people who are passionate about what they do, and finding ways to do it better.What you will be doing!Independent Software is looking for a EITHER A MID-LEVEL or a SENIOR LEVEL SOFTWARE engineer todevelop and maintain Java services to run on a FOSS content services platform. As a DevOps engineer, leverage the Kubernetes container-orchestration system to automate and manage the deployment of the CKSHARE content management platform and its persistent backing services. Also, develop software in accordance with Infrastructure as Code (IaC) best practices to manage infrastructure components such as virtual machines and load balancers.This candidate will need to have the following skillsets to be successful in this position:Experience with middle-tier Java developmentExperience developing RESTful services in a Unix environmentExperience with using the Unix command lineExperience developing scripts using BashDesired Skills but not required:Experience with containerization technologies such as DockerFamiliar with Kubernetes container orchestrationFamiliar with container build tools such as BuildKit, Buildah, or KanikoFamiliar with NoSQL technologies such as MongoDB and ElasticsearchFamiliar with Kafka scalable messaging serviceExperience with SQL technologies such as PostgreSQLExperience with CI/CD tools such as Tekton or JenkinsExperience with the Atlassian Tool Suite (JIRA, Confluence, Bitbucket)Experience developing scripts using PythonExperience with IaC (Infrastructure as Code) principles and tools such as TerraformGeneral Requirements: The Mid-Level Software Engineer (SWE) shall possess the following capabilities:Analyze user requirements to derive software design and performanceDebug existing software and correctDesign and code new software or modify existing software to add newWrite or review software and systemIntegrate existing software into new or modified systems or operatingDevelop simple data queries for existing or proposed databases or dataSoftware development using languages such as C, C++, Python, Ruby, Perl, JavaScript,Has experience with agile developmentHas experience with source code control systems, such asServe as team lead at the level appropriate to the software development process being used on any particularDesign and development of relational and non-relational databaseUse of orchestration frameworks such as Spring andFamiliarization with queue management systemsDevelop or implement algorithms to meet or exceed system performance and functionalDevelop and execute test procedures for softwareDevelop software solutions by analyzing system performance standards and conferring with users or system engineers; analyzing systems flow, data usage and work processes; and investigating problemModify existing software to adapt to new hardware or to improve its performanceDesign, develop, and modify software systems using scientific analysis and mathematical models to predict and measure outcomes and consequences of design decisionsJava development using the Eclipse IDE (Integrated Development Environment).Development of Java 2 Enterprise Edition (J2EE) applicationsExperience using collaboration and software development tools (ie. Atlassian).Software development using continuous integration practicesExperience with container technologies (ie. Docker).Unix shell scriptingDevelopment of event driven or data driven analyticsAll the capabilities of a Level 1 SWE.Development of cloud-based solutions and technologies.Design or implement complex algorithms requiring adherence to strict timing, system resource, or interface constraints. Perform quality control on team products.Recommend and implement suggestions for improving documentation and software development process standards.Oversee one or more software development teams and ensure the work is completed in accordance with the constraints of the software development process being used on any particular project.Confer with system engineers and hardware engineers to derive software requirements and to obtain information on project limitations and capabilities, performance requirements, and interfaces.Coordinate software installation on a system and monitor performance to ensure operational specifications are met.Recommend new technologies and processes for complex software projects.Serve as the technical lead of multiple software development teams.Select the software development process in coordination with the customer and system engineering.Ensure quality control of all developed and modified software.Delegate programming and testing responsibilities to one or more teams and monitor their performance.The Senior-Level Software Engineer (SWE) shall possess the following capabilities:All the capabilities of a Level 2 SWE.Recommend new technologies and processes for complex software projects.Serve as the technical lead of multiple software development teams.Select the software development process in coordination with the customer and system engineering.Ensure quality control of all developed and modified software.Delegate programming and testing responsibilities to one or more teams and monitor their performance.Education and Experience:Mid-Level Software Education requirements:Master's degree in Computer Science or related discipline from an accredited college or university, plus three (3) years of experience as a SWE, in programs and contracts of similar scope, type, and complexity.ORBachelor's degree in Computer Science or related discipline from an accredited college or university, plus five (5) years of experience as a SWE, in programs and contracts of similar scope, type, and complexityORSeven (7) years of experience as a SWE, in programs and contracts of similar scope, type, and complexity.Senior-Level Software Education requirements:Master's degree in Computer Science or related discipline from an accredited college or university, plus five (5) years of experience as a SWE, in programs and contracts of similar scope, type, and complexity.ORBachelor's degree in Computer Science or related discipline from an accredited college or university, plus seven (7) years of experience as a SWE, in programs and contracts of similar scope, type, and complexityORNine (9) years of experience as a SWE, in programs and contracts of similar scope, type, and complexity.Clearance: THIS POSITION REQUIRES A CURRENT TS/SCI WITH POLYGRAPH CLEARANCE Top Reasons to Work at Independent Software:Great people deserve even better benefits, from comprehensive healthcare coverage and generous leave time to discounts with all of our vendors.You are not just a job title. That's why we tip the work-life balance scale in your favor. It's not about being billable, it's about being valuable.Whether you're working on-site or in our offices, your role at Independent Software is just as critical to our success as your coworker's.We're constantly researching and implementing the latest technology so you've always got the right tools at your disposal.As we've grown, we've retained that small company feel. When we say we have an open door policy, we actually mean it.Independent Software is comprised of wonderfully generous folks. We believe in supporting the causes our employees care about. Bring us an opportunity to help and we'll listen.Teamwork got us where we are today. Our collaborative environment allows you to maximize your true potential.The work we do is exciting, critical stuff. No matter your role at Independent Software, you're helping us keep the nation safe and secure.We have a history of great achievement and, with each year, our company gets even bigger and better. As we grow, so does the opportunity for our employees.We host a variety of fun employee and family events throughout the year to say thanks for all that you do to make Independent Software a technology leader as well as a phenomenal place to work.Benefits:Competitive salaryComprehensive health, dental, and vision insurance plans401(k) retirement plan with company paid match of gross salaryA generous Paid Time Off and Holiday packageLots of paid training! We encourage all employees to seek out training opportunities like conferences, certification courses and seminars.We truly believe the right work-life balance can exist, and it's here at Independent Software. Our work is extremely important, but your job is just a part of who you are. When you enjoy your life outside of our walls, you're at your best the next time you walk through our doors. We do all we can to assure that happens every day.Independent Software is an Equal Opportunity Employer EOE, M/F/D/V.

Similar jobs