Backend Developer
Software Developer - II
Job ID: #
12359
Responsibilities
• Analyze user requirements to derive software design and performance requirements.
• Debug existing software and correct defects.
• Design and code new software or modify existing software to add new features.
• Write or review software and system documentation.
• Integrate existing software into new or modified systems or operating environments.
• Develop simple data queries for existing or proposed databases or data repositories.
• Software development using languages such as C, C++, Python, Ruby, Perl, JavaScript, etc.
• Has experience with agile development processes.
• Has experience with source code control systems, such as Git.
• Serve as team lead at the level appropriate to the software development process being used on
any particular project.
• Design and development of relational and non-relational database applications.
• Use of orchestration frameworks such as Spring and Kafka.
• Familiarization with queue management systems
• Develop or implement algorithms to meet or exceed system performance and functional
standards.
• Develop and execute test procedures for software components.
• Develop software solutions by analyzing system performance standards and conferring with
users or system engineers; analyzing systems flow, data usage and work processes; and
investigating problem areas.
• Modify existing software 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 measure outcomes and consequences of design decisions
• Java development using the Eclipse IDE (Integrated Development Environment).
• Development of Java 2 Enterprise Edition (J2EE) applications
• Experience using collaboration and software development tools (ie. Atlassian).
• Software development using continuous integration practices
• Experience with container technologies (ie. Docker).
• Unix shell scripting
• Development of event driven or data driven analytics
• 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.
Company:
Location:
Fort Meade, Maryland
Company Size:
Job Type:
Full Time
Date:
13 Jul 2023