The Senior Technical Advisor (STA) develops data review and dissemination tools for the Clients internal and external customers. The tools are generally web based and allow users to review data in tables, graphs, and maps and perform analysis on the data. The STA draws upon best practices in graphical user interface design and development, generalization of applications components to accommodate different data sets, modern web programming frameworks, service-oriented architectures, Model Viewer Controller (MVC) approaches and efficient data retrieval methods for the web.
The individual will be required to work alongside the Clients developers and understand best practices in TypeScript, GIS, modern web programming frameworks, service-oriented architectures, and efficient map rendering for the web.
Duties and responsibilities
Responsibilities include:
Data Dissemination Applications
In conjunction with our Client, develop dissemination applications for external websites in accordance with usability and IT security standards for external facing web applications.
Design, develop, test, and deploy the external web application frontend using modern web technologies.
Address certain areas such as performance and user requirements and conduct acceptance tests to maximize performance and remove software defects.
Monitor and support existing external web applications.
Assume responsibility for utilizing GitLab version control system.
Provide in-line code documentation and produce design and system documents as specified in the Census Enterprise Software Development Lifecycle (SDLC) model as work progresses.
Support unit testing of system components with traceability from the test cases, through design, and to user requirements.
Participate in code and peer reviews, formal walkthroughs, backlog refinement, demo/retrospective, sprint planning, and daily standup meetings.
Support development of specifications and technical documentation such as system design documentation as directed by the Client to support development efforts.
Interface with internal customers throughout the Contract period as directed by the Client
Data Storage, Retrieval, and Processing with Python
In conjunction with the Client, develop, maintain, test and validate Python code for data ETL, optimizing personnel and computational resources.
Analyze, model and format external data for efficient data tabulation and retrieval from multiple file formats including flat files, data sets and APIs.
Support automated and manual unit testing of software code.
Review the existing software systems and make recommendations to improve the design.
Address certain areas such as performance and user requirements and conduct acceptance tests to maximize performance and remove software defects.
Participate in code and peer reviews, formal walkthroughs, backlog refinement, demo/retrospective, sprint planning, and daily standup meetings.
Support development of specifications and technical documentation such as system design documentation as directed to support development efforts.
Interface with DEMO customers throughout the Contractor period as directed by the Client.
Utilize GitLab version control system and process.
Provide in-line code documentation and produce design and system documents as specified in the Clients SDLC model as work progresses.
Conduct periodic knowledge sharing activities including presentations or working meetings on their work in implementing new and/or complex systems.
Train the Client's staff routinely to ensure existing staff can recreate and maintain created codebase.
In compliance with Agency standards, utilize generative AI.
Support transition to cloud-based web servers.
DevOps Support
Develops software in a variety of front-end and back-end languages and technologies with activities coordinated through the GitLab DevOps platform. GitLab provides DSD developers the functionality to store, manage, review, and manage code in alignment with established software development lifecycle phases. GitLab also allows for automation of software scanning, testing, and deployment activities using the GitLab Runner application across DSDs server infrastructure.
Supports current development activities by further expanding the use of the DevOps platform, working closely with developers, IT security experts, and product managers to improve the overall developer experience.
Software Development Life Cycle Support
Involved in producing software that uses Agile development practices across multiple teams.
Facilitate Agile ceremonies as needed by the development teams.
Participate in Agile processes as needed.
Utilize Software Including:
Angular, latest version, with Angular Material and TypeScript
ESRI ArcGIS API, MapLibre, and Leaflet GIS APIs.
Census public data API
AgGrid table library
Highcharts Chart library
Qualifications
-
US Citizenship required (Contract requirement)
-
Bachelors Degree in Computer Science, Engineering, GIS or a related field is required (Masters preferred).
-
8 to 10+ years of experience in programming or software development.
-
Track record performing initiatives to introduce new technology and methods to improve development of existing or future projects.
-
Optional certifications include GISP or Certified Mapping Scientist, GIS/LIS
-
Sharp critical thinking skills, strong written and verbal communication skills, ability to analyze spatial data, problem solving skills, and project management skills.
-
Experience with software development, familiarity with GIS practices and concepts.
Track record of providing excellent customer service and strong communications skills.
Ability to obtain and maintain a public trust clearance.
Must be a US Citizen (Contract Requirement)
- Classification: Salaried Exempt
- Eligible for Fully Remote Status Consistent with Company Policy and Client Needs