Job DescriptionWe're seeking a Software Developer to join our team!
Required Skills- Demonstrated experience developing Python applications with data science libraries
- Demonstrated experience with ML frameworks like scikit-learn, SpaCy, TensorFlow, PyTorch, Keras
- Demonstrated experience with Natural Language Processing techniques
- Demonstrated experience with AWS Services and Cloud based development
- Demonstrated experience working with REST services
- Demonstrated experience working with SQL, including Postgres
- Demonstrated experience with search syntax to include ICQL and Retrieval Ware
- Demonstrated on-the-job experience exhibiting analytical skills to assess customer requirements and create innovative solutions
- Demonstrated on-the-job experience exhibiting problem solving skills to include debugging and testing web applications
Desired Skills- Demonstrated experience in the practical application of engineering science and technology, including applying principles, techniques, procedures, and equipment to the design and production of various goods or services
- Demonstrated experience in design, such as design techniques, tools, and principles involved in production of precision technical plans, blueprints, drawings, and models
- Demonstrated experience in project management processes, procedures and tools
- Demonstrated experience in Project Management concepts and principles
- Demonstrated experience in Project planning and management skills, including scope of work, time estimation, and resource assignment
- Demonstrated experience in Technology Design, such as generating or adapting equipment and technology to serve user needs
- Demonstrated experience in Troubleshooting, such as determining causes of operating errors and deciding what to do about it
- Demonstrated experience in Systems Analysis, such as determining how a system should work and how changes in conditions, operations, and the environment will affect outcomes
- Demonstrated experience in Operations Analysis, such as analyzing needs and product requirements to create a design
- Demonstrated experience in identifying technology gaps in current capabilities and processes
- Demonstrated experience in developing a project plan and workflow based on a project management model
- Demonstrated experience in troubleshooting and problem solving both technical and non-technical issues with equipment, systems, networks, and computer operations
- Demonstrated experience in conveying technical information to non-technical individuals
- Demonstrated experience in troubleshooting and problem-solving issues related to development across multiple security boundaries including both high and low side environments
- Experience designing and developing tools that integrate with mission applications
- Experience designing and developing collaborative tools, data manipulation techniques, data visualization techniques, and directory services
- Designing, building, and maintaining ETL (Extract, Transform, Load) pipelines for data applications
- Developing, testing, evaluating, and integrating machine learning models, in particular Large Language Models, into production software
- Creating RESTful APls or microservices (using Flask, FastAPI, or Django) to expose data insights or models to other applications
- Experience providing the operations and maintenance of operational systems including cloud based activities
- Experience modifying existing software to correct errors or to improve performance
- Experience optimizing algorithms for efficiency and implementing monitoring tools like Prometheus or MLflow to track model performance, detect drift, and ensure software reliability in production environments
- Experience analyzing user needs and software requirements to determine feasibility of design within time and cost restraints for Sponsor consideration
- Experience consulting with customers about software system design and maintenance
- Experience developing and directing software system testing and validation procedures, programming, and documentation
- Experience conferring with other application's systems analysts, engineers, programmers and others to obtain information on project limitations and capabilities, performance requirements and interfaces
- Experience correcting errors by making appropriate changes and confirming the desired results are produced
- Experience compiling and writing documentation of program development and subsequent revisions, inserting comments in the coded instruction so others can understand the program
- Experience writing, updating, and maintaining applications or software packages to handle specific tasks
- As needed, consulting with managerial, engineering, and technical personnel to clarify technical aspects of the program(s)