TMC Technologies is in search of a Software Development Engineer II to support our federal client in Pocatello, ID. The candidate must be a US citizen and possess an active Top Secret clearance to start due to federal contract requirements. The Software Development Engineer will be responsible for the design, development, testing, and management of the application development projects in support of IT infrastructure. This includes the programmatic integration of third-party components, the introduction of new custom capabilities, modification of existing code, process improvement recommendation, and automation of operations and maintenance tasks. Duties include technical project milestone reviews, code architecture sessions, resource estimation, and development best practices knowledge transfer
Responsibilities and requirements of the Software Development Engineer II role include:
- Responsible for program design, coding, testing, debugging, and documentation.
- Recommend and utilize the appropriate programming language for each component or workload based upon performance requirements, supportability, integration with existing components, maintainability, and other selection criteria deemed applicable.
- Possess full technical knowledge of all phases of applications systems analysis and programming.
- Analyze business functions or processes to understand the needs for which applications are being designed.
- Able to conduct large scale development efforts.
- Develop all components and services using industry best practices such as test driven development, centralized source code management, code reviews, and automated testing.
- Utilize continuous integration / continuous deployment (CI/CD) workflows to the maximum extent possible for all published components.
- Produce DevOps best practice templates and guides to serve as examples to other development teams interested in transitioning to DevOps development workflows.
- May be asked to provide assistance with the creation and maintenance of trusted computing components, such as operating system images, application templates, platform as a service infrastructure, etc.
- Provide subject matter expertise during the review of potential technologies proposed for integration with the environment.
- Fully document development efforts using a combination of code comments, project issue tracking, change requests, and formal documentation.
- Understand agile software design and be able to create/consume stories within a sprint structure.
- Ensure that software deployments minimally impact production workloads running in production environments. All developed components should be produced in accordance with industry best practices for high availability environments.
- Performance of analysis and tests, as needed, to aid the design process and to document the end item business functionality and performance requirements.