Senior AI Engineer

AvidXchange

  • Charlotte, NC
  • Permanent
  • Full-time
  • 1 month ago
Job OverviewAs a Senior AI Engineer you'll help design and implement solutions that utilize machine learning/deep learning models to solve business problems. You will be a part of a software engineering team focused on implementing use cases that can only be solved with Artificial Intelligence. You efforts will form a critical pillar of the company's SAAS based software to help company's pay bills and get paid. Bring your experience to the table to collaborate, analyze, design, develop, test, maintain and implement amazing software. Prepare to learn and grow as you employ your best efforts to create something genius and work along side other great engineers, product strategists, architects, and data enthusiasts.What you'll doArtificial Intelligence and Intelligent Systems
  • Design and develop non traditional data models geared towards predictive modeling or solving complex representational and interpretation needs.
  • Utilize statistical or mathematical methods to conduct exploratory data analysis and build evidence in support of solution approaches.
  • Utilize or extend where necessary existing machine learning libraries and frameworks.
  • Keep abreast of developments in the field of Artificial Intelligence
  • Focus on enhancing or extending traditional application models with intelligent systems design.
  • Guarantee the quality and state of the ML Software Delivery (model lifecycle) and guide the team to improve it.
Collaboration and Leadership
  • Lead projects, including the planning and prioritization of tasks
  • Ability to context switch and manage multiple projects
  • Mentor team members and provide guidance on execution
  • Build open communication with your Product Owner, Quality Test Automation Engineers, fellow Software Engineers, Development DBA and Scrum Master to understand and transform business requirements into business-savvy features.
  • Aid product management in the creation of product road maps ensuring objectives are achievable.
Traditional Software Engineering
  • Evaluate key metric and design solutions for improvement opportunities.
  • Solve problems, debug and optimize code to ensure optimum performance and security.
  • Implement optimal architecture, efficiency, maintainability, and scalability parameters in cooperation with developers and architects
  • Team up with QA to review, approve and design test cases- ensuring the customers' expectations are fulfilled.
  • Manage code quality and ensure appropriate unit test coverage.
  • Perform code reviews with focus on senior engineers to ensure code follows documented standards and best practices
  • Perform full life cycle application development, including researching available technical options for features, providing guidance and feedback on the findings and building proof of concepts to confirm the best approach.
  • Mentor other Engineers (even cross functionally) with focus on creating Seniors that operate at the level of a Principal Engineer.
  • Work with Solution and Enterprise Architects in the design, review, and implementation of new architecture solutions.
  • Assist Architecture to create or change standards and prescribed best practices
  • Consult with Architecture to create application design and ensuring architectural guidance is followed in team solutions
  • Work with Architecture to produce future state architecture and incorporating new coding and technology solutions into the team products
What we're looking for
  • Bachelor's degree in Computer Science, Computer Engineering or related field required and 7+ years of software development experience OR a Master's degree in Computer Science, Computer Engineering or related and 5+ years of software development experience with multi-tiered systems
  • Exceptional knowledge of TSQL, R, Python
  • Experience using tools such as TensorFlow, Keras, or PyTorch
  • Experience in a cloud environment
  • Experience in building and productionalizing machine learning models
  • Deep knowledge of of Statistical Learning methods
  • Deep knowledge of Artificial Intelligence concepts and system design.
  • Deep knowledge of exercising sound coding practices, such as unit testing, object-oriented programming, design patterns, and SOLID principles.
  • Thorough knowledge of handling code versions via source control systems (such as Git) in continuous integration environments
  • Hands-on experience following Agile software development processes (Scrum/Kanban)
  • Employing secure coding practices including familiarity with OWASP top ten

AvidXchange