Software Developer II

AVN CorporationCharleston, WV

About The Position

The Full Stack Software Developer (Level II) will be responsible for the end-to-end development, enhancement, and maintenance of robust and scalable web applications and software systems. This role requires a strong understanding of both front-end and back-end technologies, enabling the independent design, coding, testing, and deployment of complex features and functionalities. The developer will collaborate closely with cross-functional teams, mentor junior developers, and contribute significantly to architectural decisions and the continuous improvement of our development practices. Work in advanced software technologies, a fast-paced, entrepreneurial environment developing truly innovative software solutions for federal and commercial customers. This position develops cutting-edge solutions in the following focus areas: Enterprise Web Development Cloud-Native Design, Kubernetes-Orchestrated Microservices, Containerization (Docker), and Infrastructure as Code (Helm, Terraform) Automation of Deployment Pipelines and CI/CD Workflows in GCP and Hybrid Environments Artificial Intelligence (AI), Machine Learning (ML), Natural language Processing (NLP) Big Data and Data at Scale High Performance and Distributed Computing Architectures Geographic Information Systems (GIS)

Requirements

  • Strong problem-solving and analytical abilities.
  • Excellent written and verbal communication skills.
  • Ability to work effectively in a team environment.
  • Eagerness to learn new technologies and adapt to evolving best practices.
  • Attention to detail and commitment to writing clean, maintainable code.
  • Demonstrated ability to contribute within a team setting while being an effective self-starter able to manage daily activities to achieve long-term goals.
  • Pursuant to a government contract, this position requires U.S. citizenship status.
  • Bachelor's degree in Computer Science, Software Engineering, Web Development, Management Information Systems, or a related technical field. Equivalent practical experience and/or completion of a reputable coding bootcamp may be considered.
  • 3+ years of progressive professional experience in full-stack web application development.
  • Proven experience in designing, developing, and deploying scalable and robust web applications across the entire stack.
  • Demonstrated experience working with and contributing to large, complex codebases.
  • Experience participating in code reviews, providing constructive feedback, and adhering to coding standards.
  • Solid understanding and practical experience with Agile development methodologies (e.g., Scrum).
  • Experience with relational and/or NoSQL database design, optimization, and management.

Nice To Haves

  • Experience with specific cloud platforms (e.g., Google Cloud Platform, AWS, Azure) and their relevant services.
  • Familiarity with containerization technologies (e.g., Docker) and orchestration platforms (e.g., Kubernetes).
  • Experience implementing and maintaining CI/CD pipelines.
  • Knowledge of performance optimization techniques for web applications (e.g., caching, lazy loading, code splitting).
  • Experience with search technologies (e.g., Elasticsearch, Solr).
  • Familiarity with DevOps principles and practices.

Responsibilities

  • Front-End Development: Strong proficiency in HTML5, CSS3, and JavaScript. Expertise in at least one modern front-end framework/library (e.g., React, Angular, Vue.js), including state management and software architecture. In-depth understanding of responsive and adaptive web design principles and their implementation. Proficiency with front-end build tools (e.g., Webpack, Vite). Solid understanding of user interface (UI) and user experience (UX) principles, and the ability to translate design mockups into functional, intuitive interfaces.
  • Back-End Development: Strong proficiency in at least one server-side programming language and its associated framework(s) (e.g., Node.js with Express.js, Python with Django/Flask, Java). Expertise in designing, developing, and consuming RESTful APIs. Solid understanding of server-side architecture patterns (e.g., MVC, microservices). Experience with authentication and authorization mechanisms (e.g., OAuth, JWT).
  • Database Management: Proficient in designing, implementing, and optimizing schemas for relational databases (e.g., PostgreSQL, MySQL) and/or NoSQL databases (e.g., MongoDB, Redis). Strong SQL querying skills and/or experience with relevant NoSQL query languages. Understanding of database schema design and performance optimization techniques.
  • Development Tools & Methodologies: Expertise with version control systems, specifically Git, including branching, merging, and pull request workflows. Experience with Agile development methodologies (e.g., Scrum). Familiarity with Continuous Integration/Continuous Deployment (CI/CD) pipelines (e.g., GitHub Actions, Cloud Build, Cloud Deploy, etc.). Experience with containerization technologies (e.g., Docker) and understanding of container orchestration (e.g., Kubernetes) concepts. Understanding of the software development lifecycle (SDLC).
  • Cloud and AI Integration: Practical understanding of cloud-based AI platforms (e.g., Google Cloud Vertex AI) 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.
  • System Design & Architecture: Ability to contribute to the design of scalable, maintainable, and performant web applications. Understanding of common software design patterns and architectural principles. Basic awareness/familiarity with cloud platforms (e.g., Google Cloud Platform, AWS, Azure) and their relevant services for web application deployment and scaling.
  • Problem-Solving & Debugging: Advanced analytical and problem-solving skills, with the ability to diagnose and resolve complex issues across the entire stack. Proficiency in using debugging tools and techniques.
  • Security: Basic understanding of web security best practices (e.g., secure coding practices). Awareness of common attack vectors and mitigation strategies.
  • Knowledge Sharing: Actively participate in code reviews, offering constructive feedback and ensuring adherence to coding standards and architectural principles. Contribute to internal knowledge sharing initiatives, documentation, and technical presentations to foster team growth.
  • Process Improvement and Innovation: Identify and propose improvements to existing development processes, tools, and methodologies. Research and evaluate new technologies, frameworks, and tools to enhance productivity, scalability, and application performance. Contribute to the continuous improvement of the team's CI/CD pipelines and deployment strategies.
  • Collaboration and Cross-Functional Support: Collaborate effectively with product managers, UX/UI designers, QA engineers, and other stakeholders to translate requirements into technical specifications and ensure successful project delivery. Provide technical support and troubleshooting for production issues as needed. Assist in defining technical requirements and breaking down complex features into manageable tasks.
  • Quality Assurance and Testing: Participate in informal and formal testing to ensure code quality. Assist QA engineers in understanding complex features and reproducing bugs.
  • System Monitoring and Performance: Participate in monitoring application performance, identifying bottlenecks, and suggesting optimizations. Contribute to logging and error reporting strategies to ensure robust system observability.
  • Ad-Hoc Tasks: Undertake other duties as assigned to support the overall goals of the development team and organization.
© 2024 Teal Labs, Inc
Privacy PolicyTerms of Service