SysAdmin - Infrastructure

SysAdmin - Infrastructure team

The infrastructure team is looking for a Sys Admin to help deploy and configure new servers, automate and verify backups plus document standards, processes and solutions used. Someone with a keen eye for security who will support our Infrastructure, CI/CD, Monitoring and Automation.

Current Responsibilities

The current job consists of main 3 types of responsibilities:

  • Infrastructure Management
    • Deploying and configuring new servers with Terraform & Ansible
    • Maintaining infra metadata in Consul
    • Automation and verification of backups
    • Docummenting standards, processes, and solutions used
    • Ensuring security of hosts and other onlines resources
    • Reviewing and reducing cost of existing infrastructure
    • Ongoing maintenance like:
      • Software upgrades
      • Cleaning up disk space
  • Continuous Integration Development
    • Maintaining the Jenkins instance
    • Configuring and developing build job definitions
    • Builds for Linux, MacOS, Windows, Android, iOS
    • Managing application signing setup (Fastlane, Match, Gradle, XCode)
    • Configuring integrations with external services:
      • GitHub, SauceLabs, TestRail, Coveralls, Diawi, Apple Store, Play Store
  • Monitoring and On-Call
    • Analyzing metrics & logs from Grafana and Kibana
    • Analyzing warnings from Consul, Icinga, or ThreatStack
    • Responding to downed services
  • Miscellaneous Automation
    • Things like generation of web pages (ex.: contacts.status.im )
    • Aggregation of build data from PRs (ex.: ghcmgr )
    • Collecting of data ( sourcecre.status.im )

General Requirements

Knowledge of specific technologies is not mandatory. It is more of a general guide to what will be encountered in our infrastructure.

  • Cloud Providers
    • Familiarity with one is enough to learn the rest
    • We use Google Cloud, Digital Ocean, Alibaba, AWS, and ScaleWay
    • Terraform for all provisioning
  • Networking Fundamentals
    • Good understanding of firewalls is a must
    • Includes application layer protocols as well
  • Linux Fundamentals
    • Multiple Linux flavours, but mostly Ubuntu for us
    • Process management, systemd, Docker, cron
    • Package management, APT, PIP
  • Windows Fundamentals
    • Windows Server Core administration using PowerShell
    • Used only to build desktop version of the app
  • Monitoring and Logging
    • Prometheus, Cortex, and Cassandra for metrics
    • Rsyslog, LogStash, and Elasticsearch for logs
  • Database Administration
    • We use both SQL and NoSQL, any type of one is nice
    • Mostly PostgreSQL, SQLite, MongoDB, LevelDB
    • ElasticSearch and Cassandra for logs and metrics
  • Security Concerns
    • Good understanding of OpenSSH is crucial
    • OAuth is prevalent throughout our infra
    • GnuPG for encryption of secrets and backups
  • Continuous Integration
    • Jenkins in our case, but most CI solutions are the same
    • Java/Groovy for job definitions
    • End-to-end testing, reporting
    • GitHub pages deployments and GitHub Actions
  • Build Processes
    • Nix is not required but a nice to have, heavily used
    • Gradle, Maven, Yarn, FDroid - for Android
    • XCode, Fastlane, Gems, clj - for iOS
    • AppImage, Qt, DeployQt - for Linux
    • VS Build Tools, MinGw, Scoop - for Windows
    • Brew, CMake, XCode CodeSign - for MacOS
  • Programming Abilities
    • At least a few languages showing ability to learn
    • For us it’s mostly Go, Nim, Python, JavaScript, Groovy, Bash
  • Decentralized Software
    • Fundamental to messaging and other functions of the App
    • Ethereum, Status-go, Nimbus, IPFS, Swarm
4 Likes

How to apply for sysadmin listing?

1 Like