Logo
ECS

Software Architect

ECS, Fairfax, Virginia, 22032


ECS is seeking a Software Architect to work in our Fairfax, VA office / remote. ECS is seeking talented professionals to join our successful and growing team in building the next-generation Continuous Diagnostics and Mitigation (CDM) Cyber data solution. The CDM Program is the Cybersecurity and Infrastructure Security Agency's (CISA) dynamic approach to strengthening the cybersecurity of Federal networks and systems through better awareness and visibility into their security posture and cyber threats. ECS is responsible for designing, building, deploying, operating, and maintaining a complete 'Data Services' solution which includes the collection, normalization, visualization, and sharing of cyber data from more than 100 Federal agencies. The CDM Data Services product is an integrated suite of multiple Commercial Off the Shelf (COTS) products, software configuration packages, and custom code which work together to operate as an integrated solution tailored to meet Department of Homeland Security (DHS) requirements. We are seeking professionals who thrive in a dynamic, fast-paced, and highly collaborative environment where problem-solving, critical thinking, and a holistic approach to serving the mission are key. Our program operates within the Scaled Agile Framework (SAFe). An aptitude and enthusiasm for continuous learning, improvement, and cyber security is a must The Software Architect role will be responsible for designing and implementing scalable, reliable, and high-performance software systems. This includes evaluating and recommending tools and technologies as well as defining technical standards and guidelines to ensure best practices in software development. Collaboration with product management to align the architecture with program goals is essential, along with active participation in coding, debugging, and problem-solving activities as needed. Developing and maintaining core components of the software architecture to optimize performance and scalability is also a key responsibility. The successful candidate will work with other software architects and developers to promote continuous improvement of the solution and development, test, and release processes; ensuring maintainability, scalability, testability, and security of the solution. Responsibilities include conducting architecture and code reviews to ensure high-quality output and adherence to standards, fostering a collaborative and innovative team culture, and achieving project timelines and deliverables. The Software Architect will work across several core component areas, including dashboard development, containerized Python applications, CAASM configurations, and data pipeline services is also crucial. The Software Architect will work closely with the Development Manager, Product Owners, system architects, and other stakeholders. The focus will be on high quality designs, architectural frameworks, technology stacks, scalability, performance, and overall system integrity. Ensuring that the architectural vision aligns with business goals and technical requirements is paramount. This role demands deep expertise in software architecture, design patterns, and strategic planning, guiding architectural decisions and long-term technical direction. In addition to architectural reviews, the Software Architecture Manager will be responsible for technology evaluations to ensure the architecture supports current and future needs. Identifying and mitigating risks related to architectural decisions will be essential to ensure the system's resilience and future proofing. Salary Range: $79,000 - $141,000 General Description of Benefits US citizenship with ability to obtain Public Trust Suitability Bachelor's degree in Computer Science, Engineering, or a related field (or equivalent practical experience) 6 years of experience in roles requiring hands-on software architecture and development activities, including code and architecture reviews, with progression toward leadership, coaching, mentoring software engineers 4 years of experience with solution design, software architecture concepts and best practices, cloud native services, large scale data platforms, and microservice / container orchestration 4 years of hands-on programming and debugging in Python or Java, shell scripting, application containerization, data storage and retrieval from a variety of sources including REST APIs, message brokers, structured and unstructured data stores, and file systems 2 years working with large volumes of data in Elasticsearch, or equivalent, considering performance and scalability in the role of both consumer/producer of data and cluster/node/shard configuration Experience working with containerization and orchestration tools (Docker, Kubernetes) and strong knowledge of their utility in building resilient, scalable, and portable applications Effective communication and leadership skills including cross-team collaboration Experience producing technical documentation to communicate system designs and technical analysis Strong knowledge of software architecture principles, design patterns, and best practices