Systems Administrator (Open LMS)
Open LMS is a Moodle-based Learning Management System that helps educators improve the learning experience and outcomes of millions of learners across the globe. In partnership with our community of educators, we continually innovate to better enable educators, parents, and learners of all types to teach, learn, connect, and communicate whenever they want and wherever they are. Most importantly, we help every student achieve their full potential through access to lifelong learning.
We also offer a full portfolio of education technologies including exclusive reseller relationships for web conferencing, accessibility improvement and innovative content offerings from both Blackboard and Learning Technologies Group.
For more information about Open LMS, please visit our website, and hit our YouTube channel to get a feel for our culture and meet members of the team.
Role Description
As a member of the Engineering team, you will combine software and systems engineering in a cloud environment to help build and run large-scale, distributed and fault-tolerant systems. This is a driven, creative, and energetic team that works in a flexible and agile fashion to deliver world-class products to the education market. You will become a core contributing member to the administration team delivering eLearning services to over a thousand clients, comprising almost 4 million users worldwide.
We promise you that it won't be boring. You will regularly encounter new challenges. You will be asked to expand your horizons and your skill set. Your hard work will not go unnoticed or unrewarded. Your voice will be heard and your suggestions will matter.
What you'll be doing
Specific responsibilities include:
- Configure solutions in AWS: EC2, RDS, EFS, S3, VPC, ElastiCache, CloudFormation, Route 53, SQS, SNS, Lambda, and CloudWatch which are key among other AWS offerings
- Using automation and tooling to continuously improve the reliability, scalability, and velocity of services deployed on AWS.
- Performance tuning and configuration of both Linux system and application parameters supporting highly concurrent web stacks.
- Install and troubleshoot learning management systems including Moodle™ along with related plugins, modules, and 3rd party configurations.
- Manage infrastructure through code using configuration management and IaC templating software such as Terraform, CloudFormation, Puppet, Chef, etc.
- Providing support to issues escalated from the Client Engagement Support team and interface with development teams to hand-off application issues.
- Engaging with development teams on the design, deployment, capacity needs and operations of microservices, and supporting them as they transition to production.
- Providing advanced technical support to clients via email, phone, or other methods by identifying problems, researching answers, and guiding users through appropriate steps to provide the best possible customer experience.
- Documenting procedures and knowledge base articles throughout problem resolution and architecture development processes.
- Monitoring the availability, performance and health of production systems in support of meeting service level objectives using monitoring systems such as Icinga, Prometheus, Grafana, CloudWatch, OpsGenie, and PagerDuty.
- Participating in emergency incident response on-call rosters. Practicing blameless postmortems that lead to improvements in resiliency and reductions in alert fatigue.
Skills and Aptitudes
Successful candidates will have these required qualifications:
- Analytical problem-solving methodology with an outstanding ability to communicate and document effectively
- A BS in Computer Science or a related field such as engineering or mathematics and 3+ years of work experience in Information Technology, or 5+ years of work experience in Information Technology overall
- Minimum of three years in Linux system administration with experience automating system processes with a variety of scripting languages or equivalent skills
- Practical experience analyzing and troubleshooting large-scale, multi-region deployments in a public cloud (i.e. AWS)
- Practical experience with IaaC, CI/CD, structured configuration such as JSON or YAML, and version control solutions (i.e. git)
- Interest in cloud deployment and management tools (e.g. Terraform, Puppet, Chef, CloudFormation)
- Familiarity with one or more programming or scripting languages
- A drive to optimize code and automate routine tasks
- Experience with LAMP stack: Linux, Apache, MariaDB/PostgreSQL/Aurora, and PHP
- Experience in database administration along with a fundamental understanding of structured query language
- Knowledge of standard network/application protocols like SMTP, DNS, VPN, and network configurations
Additionally, a top candidate will exhibit one or more of the following preferred qualifications:
- Demonstrable scripting experience, preferably in Python, PHP, or Ruby
- Demonstrable experience in SQL and database administration
- Demonstrable experience with network and/or application security technologies
- Prior experience within the education industry and/or with e-learning technologies, preferably including experience with Moodle™
This job description is not designed to contain a comprehensive listing of activities, duties, or responsibilities that are required. Nothing in this job description restricts management's right to assign or reassign duties and responsibilities at any time.
Open LMS is an equal employment opportunity/affirmative action employer and considers qualified applicants for employment without regard to race, gender, age, color, religion, national origin, marital status, disability, sexual orientation, or any other protected factor.