Research Programmer
As a Research Programmer at Boston Fusion, you will utilize your knowledge of software engineering best practices, machine learning fundamentals, and computer science skills to build, document, and test components on company research projects.
Day-to-Day:
- Collaborate with project teams to provide technical and software design support to company research projects and provide input on technical design
- Utilize knowledge of current computer science methods, algorithms, and research to design solutions that meet project requirements
- Manage large-scale databases for AI/ML algorithm development and training
- Train, test, and evaluate AI/ML methods for program specific goals
- Troubleshoot, debug, maintain, and improve existing software with guidance from project leaders
- Maintain knowledge of commercial and open-source off-the-shelf software packages, libraries, and frameworks that can be utilized in software design
- Maintain knowledge of current AI/ML models and approaches
- Write software tests to validate code integrity
- Effectively communicate technology used, alternative technologies, and emerging technologies to project team members, project managers, and BFC staff
- Occasional travel to attend and present at customer meetings and essential industry conferences
- Prepare technical briefing materials/summarize technical work and progress of projects
- Collaborate with company leadership and senior technical staff to conduct proposal research and proposal writing
This job is right for you if you have (Minimum Qualifications):
- A BS or MS degree in computer science, mathematics, engineering, or related fields and 2 years experience
- Experience on large-scale programming projects (may include capstone programs or internships)
- Ability to develop solutions to technical problems of well-defined scope
- Excellent communications, writing and presentation skills
- Ability to work under minimal direction
- Ability to prioritize and manage time effectively across multiple efforts
- Excellent analytical and problem-solving skills
Demonstrates basic competency in one skill in every category:
- Machine Learning concepts (e.g., supervised, unsupervised, active, and reinforcement learning; neural networks; generative, discriminative models)
- Machine Learning Frameworks (e.g., Scikit-learn, tensorflow, Pytorch, Keras)
- Software engineering principles (e.g., object-oriented programming, software design patterns, continuous integration)
- Software project management (e.g., GitLab, version control tools)
- Python
Desired Technical Qualifications:
- Classical Artificial Intelligence (planning, searching, logic, uncertain knowledge and probabilistic reasoning)
- Natural Language Processing (e.g., name entity recognition, sentiment analysis, word sense disambiguation, part-of-speech tagging, summarization, language generation, question and answering)
- Containerization
- Transformer-based architectures
- Databases (e.g., mysql, mongodb)
- Streaming architectures (e.g., Kafka, Pulsar, RabbitMQ, ActiveMQ, Spark)
- Experience with procedural languages (e.g., java, C++) and/or functional programming languages (e.g., MATLAB)
- U.S. citizenship
- Must be able to obtain and maintain a DoD security clearance