• 5+ years of non-internship professional software development experience
  • Programming experience with at least one modern language such as Java, C++, or C# including object-oriented design
  • 2+ years of experience contributing to the architecture and design (architecture, design patterns, reliability and scaling) of new and current systems.
  • Experience with React.js and node.js
  • Computer Science fundamentals in object-oriented design, data structures, algorithm design, problem solving, and complexity analysis
  • Able to work in a diverse team


  • Experience taking a leading role in building complex software systems that have been successfully delivered to customers
  • Knowledge of professional software engineering practices & best practices for the full software development life cycle, including coding standards, code reviews, source control management, build processes, testing, and operations
  •  Experience with distributed computing and enterprise-wide systems
  • Experience in communicating with users, other technical teams, and senior management to collect requirements, describe software product features, technical designs, and product strategy
  • Experience mentoring junior software engineers to improve their skills, and make them more effective, product software engineers
  • Experience influencing software engineers’ best practices within your team