Vacancy caducado!
Position Overview: Lead Software Engineer. This is an ideal opportunity for someone who is motivated and passionate to make an impact in creating a robust, leading-edge learning management system, for providing training to our customers. Roles and Responsibilities:
- Build secure, scalable, server products and web-based solutions providing connectivity solutions
- Develop applications and APIs to connect our user facing products with distributed business applications and databases.
- Define the technical approach for product features, optimize for speed, performance, effectiveness, and reliability.
- Interact with DevOps, QA and Cybersecurity teams through product releases.
- Develop and influence designs/plans across multiple partner engineering teams.
- Lead and mentor other team members to improve code quality, scalability and reliability.
- Participate in the architectural discussion, code reviews, leading the products to next level using well-suited software design patterns and principles.
- Educational background in software engineering or related program (MS degree preferred) or equivalent experience.
- Minimum 10 years of software development experience or proven competency developing and supporting various product categories including Server-side core services, Full Stack applications with front end technologies such as React and server-side technologies including PHP, Node.js.
- A background in Moodle and Totara
- You are experienced with modern coding, testing, debugging and automation techniques
- You care about front and back end web technologies, from the UI to the database
- Ability to work in a dynamic and fast-paced environment.
- Comfortable working in a collaborative / team-based approach.
- Familiarity with Software Development Lifecycle (SDLC) processes.
- Strong verbal and written communication skills.
- Experience implementing, customizing, and integrating third-party applications.
- Hands-on experience with writing code in JavaScript/TypeScript, PHP building RESTful APIs, data driven applications, event/message driven interfaces and debugging apps using various tools.
- Research, share, and recommend new technologies and trends
- Define all aspects of development from appropriate technology and workflow to coding standards
- Oversee progress of development team to ensure consistency with initial design
- Troubleshoot and solution caching, scaling, and front-to-back performance issues