Senior Software Engineer
Apply NowDNI is seeking an Senior Software Engineer to support an Artificial Intelligent Support Services program. This is a fully-remote opportunity. The Senior Software Engineer serves as a technical leader responsible for designing, developing, integrating, deploying, and sustaining secure, scalable software applications. This role provides subject-matter expertise across the software development lifecycle and helps establish engineering practices that enable consistent delivery of high-quality solutions. Key Responsibilities• Lead the design and development of secure, scalable, maintainable software applications. • Analyze business processes, user needs, system flows, data usage, and operational requirements to define effective solutions. • Develop full-stack applications spanning front-end interfaces, back-end services, APIs, databases, integrations, and deployment infrastructure. • Apply software architecture principles and select appropriate frameworks, patterns, platforms, and technologies. • Build and maintain user interfaces using modern web technologies such as React, JavaScript, TypeScript, HTML, and CSS. • Design and develop back-end services using technologies such as Node.js, Java, Python, or comparable platforms. • Develop and optimize relational database solutions using PostgreSQL, SQL Server, MySQL, or comparable systems. • Integrate third-party platforms, cloud services, AI capabilities, identity services, and enterprise systems. • Establish coding standards, branching strategies, testing practices, code-review expectations, and configuration-management processes. • Design, implement, and maintain CI/CD pipelines and automated deployment processes. • Use infrastructure-as-code tools such as Terraform, CloudFormation, or comparable technologies. • Implement application logging, monitoring, alerting, tracing, and operational dashboards. • Lead troubleshooting, root-cause analysis, performance optimization, defect resolution, and production support. • Direct or coordinate system installations, upgrades, migrations, releases, and operational transitions. • Ensure solutions address security, privacy, accessibility, usability, reliability, and maintainability requirements. • Produce architecture diagrams, technical specifications, interface documentation, deployment plans, test plans, operating procedures, and support documentation. • Participate in Agile planning, backlog refinement, sprint execution, demonstrations, retrospectives, and release planning. • Provide technical estimates, identify risks and dependencies, and communicate delivery status to project and technical leadership. • Mentor engineers, conduct design and code reviews, and promote consistent engineering practices across the team. • Partner with product owners, users, security teams, infrastructure teams, and other stakeholders to resolve problems and deliver business value.