Maximus is looking to hire a Software Engineer/Applications Programmer 2 to support the Energy Data Exchange (EDX) platform at the National Energy Technology Laboratory. The primary mission is to empower researchers by helping them utilize the EDX platform and its APIs, integrating their work with the infrastructure, and managing containerized applications in the Google Cloud Platform environment.
Responsibilities:
- Translate design mockups into functional web components with logical state management
- Design and implement RESTful APIs with secure authentication and authorization mechanisms
- Perform advanced schema design including complex joins, indexing strategies, and database migrations
- Integrate third-party services, APIs, and cloud-based AI platforms into a unified application architecture
- Deploy and manage containerized applications utilizing containerization and orchestration platforms
Requirements:
- Due to contract requirements candidates must be U.S. Citizens. Applicants who are Green Card holders or who require sponsorship cannot be considered
- Ability to successfully pass a government-sponsored Public Trust clearance process
- Bachelor's degree in Computer Science, Engineering, or related field. Equivalent practical experience may be considered in lieu of a degree on a year-for-year basis
- 3+ years of professional experience
- Strong understanding of modern JavaScript frameworks (e.g., ReactJS, VueJS) for building dynamic user interfaces
- Proficiency in writing clean, semantic HTML5 and responsive CSS3 for cross-browser compatibility
- Proficiency in at least one server-side programming language (e.g., Python with Flask, Node.js with Express, Java with Spring Boot)
- Experience with relational database systems (e.g., PostgreSQL, MySQL) and the ability to write efficient SQL queries
- Competence in using Git for version control, including branching strategies and resolving merge conflicts (e.g., GitHub, GitLab)
- Experience working within Agile frameworks to meet milestones while balancing multiple project requirements
- Ability to translate design mockups into functional web components with logical state management (e.g., Redux, Pinia)
- Experience in optimizing frontend performance to ensure fast load times and smooth user interactions
- Experience in designing and implementing RESTful APIs with secure authentication and authorization mechanisms (e.g., JWT, OAuth2)
- Ability to integrate third-party services and APIs into a unified application architecture
- Competence in handling data serialization and parsing using common formats like JSON
- Proficiency in using Object-Relational Mapping (ORM) tools (e.g., SQLAlchemy, Sequelize, Hibernate) to interact with databases programmatically
- Ability to perform advanced schema design including complex joins, indexing strategies, and database migrations
- Understanding of database normalization and maintaining data integrity across distributed systems
- Practical understanding of cloud-based AI platforms (e.g., Google Cloud Vertex AI, Azure AI Services) to integrate AI capabilities into applications
- Experience interacting with Large Language Model (LLM) APIs (e.g., OpenAI, Gemini) to implement features like natural language processing or automated content generation
- Familiarity with prompt engineering techniques to optimize the performance and accuracy of AI-driven features
- Basic knowledge of vector databases and embeddings (e.g., Pinecone, Weaviate, pgvector) for implementing semantic search or retrieval-augmented generation (RAG)
- Familiarity with containerization tools (e.g., Docker) to create consistent development and production environments
- Practical familiarity with orchestration platforms (e.g., Kubernetes) for deploying and managing containerized applications
- Experience writing basic unit tests to verify the correctness of individual functions or components
- Advanced debugging skills using specialized tools (e.g., Chrome DevTools, VS Code Debugger, IntelliJ Debugger) to identify and resolve complex logic errors