Platform Engineering Roles

The purpose of this document is to outline the roles that exist within the I2DB Platform Engineering team. Each section should provide the title, description, and required skills for each role on the team.

Cloud Architect

The Cloud Architect is responsible for designing and building solutions primarily focused on Azure cloud, but also solutions in Google Cloud and AWS as well. They play a critical role in developing scalable, secure, and efficient cloud-based architectures that meet the organization's requirements.

Skills

  • In-depth knowledge of cloud computing platforms, particularly Azure, and familiarity with Google Cloud and AWS.
  • Strong understanding of cloud architecture principles, including scalability, availability, and security.
  • Proficiency in designing and implementing cloud-based solutions using Infrastructure as Code (IaC) tools like Terraform or CloudFormation.
  • Experience with containerization technologies like Docker and orchestration tools like Kubernetes.
  • Knowledge of networking concepts in the cloud, including virtual networks, subnets, and security groups.
  • Familiarity with cloud-native services such as serverless computing, managed databases, and data lakes.
  • Understanding of identity and access management (IAM) principles and implementation in the cloud.
  • Ability to optimize cloud resources for cost-efficiency and performance.
  • Strong problem-solving and troubleshooting skills to address cloud-related issues.

Tools

  • Cloud platforms, including CLI tools (Azure, Google Cloud, AWS)
  • Infrastructure as Code (IaC) tools (Terraform)
  • Containerization technologies (Docker)
  • Networking tools and services (Virtual networks, subnets, security groups)
  • Cloud-native services (Serverless computing, managed databases, Azure Databricks)
  • Identity and Access Management (IAM) tools and services

Database Administrator

The Database Administrator is responsible for managing on-prem and cloud-based databases. They play a crucial role in ensuring the availability, performance, and security of the databases. The Database Administrator handles tasks such as monitoring, upgrading, backup management, and database performance tuning.

Skills

  • Strong knowledge of database management systems, such as Microsoft SQL Server, MySQL, or PostgreSQL.
  • Proficiency in database administration tasks, including installation, configuration, and maintenance.
  • Experience with database monitoring and performance tuning to optimize query performance and ensure efficient database operations.
  • Familiarity with backup and recovery strategies to ensure data integrity and availability.
  • Understanding of database security principles and implementation, including user access control and data encryption.
  • Knowledge of database replication and high availability configurations.
  • Ability to troubleshoot and resolve database-related issues.
  • Familiarity with scripting languages like SQL, Bash, and PowerShell for automation tasks.
  • Experience with cloud-based database services like Azure SQL Database, Amazon RDS, or Google Firebase.

Tools

  • Database management systems (Microsoft SQL Server, MySQL, PostgreSQL)
  • Database monitoring and performance tuning tools
  • Backup and recovery tools
  • Database security tools and techniques
  • Scripting languages (SQL, Bash, PowerShell)
  • Cloud-based database services (Azure SQL Database, Amazon RDS, Google Firebase)

DevOps Engineer

The DevOps Engineer works closely with architects and engineers to automate deployments of solutions. They are responsible for designing and implementing CI/CD pipelines using tools like Azure DevOps and GitHub Actions. The DevOps Engineer plays a crucial role in streamlining the solution development and deployment processes, ensuring efficiency, reliability, and scalability.

Skills

  • Strong knowledge of software development methodologies and practices, including Agile and DevOps principles.
  • Proficiency in CI/CD pipeline setup and management using tools like Azure DevOps and GitHub Actions
  • Experience with infrastructure automation using tools like Terraform and Ansible
  • Familiarity with containerization technologies like Docker and orchestration tools like Kubernetes.
  • Understanding of version control systems like Git for source code management.
  • Knowledge of scripting languages like Bash and Python for automation tasks.
  • Ability to collaborate with development teams to integrate automated testing and quality assurance processes.
  • Strong problem-solving and troubleshooting skills to address deployment and infrastructure issues.
  • Familiarity with cloud platforms like Azure, Google Cloud, or AWS.

Tools

  • CI/CD tools (Azure DevOps, GitHub Actions)
  • Infrastructure automation tools (Terraform, Ansible)
  • Containerization technologies (Docker)
  • Version control systems (Git)
  • Scripting languages (Bash, Python)
  • Cloud platforms (Azure, Google Cloud, AWS)

MLOps Engineer

The MLOps Engineer works closely with researchers to assist in training and deploying custom ML models. They primarily focus on Azure Databricks for model training and serving. The MLOps Engineer plays a critical role in developing and maintaining the infrastructure and processes required for efficient and scalable ML model development and deployment.

Skills

  • Strong understanding of machine learning concepts.
  • Proficiency in ML model training and deployment using platforms like Azure Databricks.
  • Experience with data preprocessing, feature engineering, and model evaluation techniques.
  • Knowledge of programming languages commonly used in ML, such as Python.
  • Familiarity with ML frameworks and libraries like TensorFlow, PyTorch, AuotML, or scikit-learn.
  • Understanding of version control systems like Git for ML model versioning and collaboration.
  • Ability to work with researchers to optimize ML models for performance and accuracy.
  • Experience with containerization technologies like Docker for packaging ML models.

Tools

  • ML platforms (Azure Databricks, Google Cloud AI Platform, AWS SageMaker)
  • Programming languages (Python)
  • ML frameworks and libraries (TensorFlow, PyTorch, AutoML, scikit-learn)
  • Version control systems (Git)
  • Containerization technologies (Docker)
  • Cloud platforms (Azure, Google Cloud, AWS)

Project Manager

Engages with stakeholders to guide the project to a successful completion. The Project Manager is responsible for overseeing the planning, execution, and delivery of projects within the I2DB Platform Engineering team. They work closely with team members and clients to ensure project objectives are met. The Project Manager also facilitates backlog management and planning, following the team's Agile methodologies.

Skills

  • Strong leadership and communication skills to effectively collaborate with stakeholders and team members.
  • Proven experience in project management, including planning, scheduling, and resource allocation.
  • Familiarity with Agile methodologies and the ability to guide the team through the Agile process.
  • Excellent problem-solving and decision-making abilities to address project challenges and risks.
  • Proficiency in project management tools and software for tracking progress and managing project documentation.
  • Ability to prioritize tasks, manage timelines, and ensure project deliverables are met.
  • Strong organizational skills to handle multiple projects simultaneously.
  • Knowledge of project management best practices.

Tools

  • Azure DevOps
  • Microsoft Teams & Office 365
  • Zoom
  • REDCap
  • OneTrust
  • DocuSign
  • Box
  • Google Docs

Software Engineer

The Software Engineer is primarily focused on API integrations and enabling complex data pipelines leveraging Azure Databricks. They may also be involved in small-scale custom application development. The Software Engineer plays a critical role in designing, developing, and maintaining software solutions within the I2DB Platform Engineering team.

Skills

  • Ability to integrate with external APIs and services to enable data exchange and functionality between different systems.
  • Proficiency in designing and implementing complex data pipelines to process, transform, and analyze large volumes of data.
  • Strong knowledge and experience in programming languages such as Python, Java, and JavaScript, which are commonly used for software development.
  • Familiarity with software development methodologies, coding standards, and best practices to ensure high-quality, maintainable, and scalable code.
  • Understanding of Azure Databricks, a cloud-based big data and analytics platform, and its capabilities for data processing and machine learning.
  • Ability to analyze complex problems, break them down into smaller components, and develop effective solutions using logical and analytical thinking.
  • Knowledge of database concepts and experience in working with databases, including data modeling, querying, and optimization.
  • Proficiency in web development technologies such as HTML, CSS, and JavaScript frameworks to build user interfaces and web applications.
  • Experience with testing frameworks and tools to ensure the quality and reliability of software, as well as the ability to debug and troubleshoot issues.
  • Strong communication skills to document code, write technical documentation, and collaborate effectively with team members and stakeholders.

Tools

  • Programing Languages (Python, Java, JavaScript)
  • Azure Databricks
  • Integrated Development Environments (IDEs)
  • Version control systems (Git)
  • Testing frameworks
  • Documentation tools

System Administrator

The System Administrator is responsible for managing various 3rd party products such as REDCap, MDClone, and others. They handle tasks such as applying vendor-supplied patches, assisting with system-level configuration, and ensuring the smooth operation of these systems. Works closes with team members to coordinate system upgrades and outages.

Skills

  • Strong knowledge of system administration principles and practices.
  • Proficiency in managing and maintaining 3rd party products and applications.
  • Experience with applying patches and updates to ensure system security and stability.
  • Familiarity with system-level configuration and optimization.
  • Understanding of networking concepts and troubleshooting.
  • Knowledge of scripting languages for automation tasks.
  • Ability to diagnose and resolve system-level issues.
  • Familiarity with security best practices and the ability to implement and maintain system security measures.
  • Strong problem-solving and troubleshooting skills.

Tools

  • System administration tools
  • Patch management tools
  • Network troubleshooting tools
  • Scripting languages (e.g., PowerShell, Bash)
  • Security tools and practices
  • Monitoring and logging tools

System Engineer

The System Engineer is a Linux specialist responsible for supporting various on-premises and cloud-based solutions powered by Linux servers. They play a crucial role in ensuring the stability, performance, and security of the systems. The System Engineer collaborates with clients and team members to design, implement, and maintain infrastructure solutions.

Skills

  • Strong knowledge of Linux operating systems, including system administration, troubleshooting, and performance optimization.
  • Proficiency in scripting languages such as Bash or Python for automation and system management tasks.
  • Experience with virtualization technologies like VMware.
  • Familiarity with containerization technologies like Docker and orchestration tools like Kubernetes.
  • Understanding of networking concepts, protocols, and troubleshooting.
  • Knowledge of storage systems and technologies, such as SAN, NAS, and RAID.
  • Ability to work with monitoring and logging tools to ensure system health and performance.
  • Strong problem-solving and analytical skills to diagnose and resolve system issues.
  • Familiarity with security best practices and the ability to implement and maintain system security measures.

Tools

  • Linux operating systems (e.g., Alma, CentOS, Red Hat)
  • Scripting languages (Bash, Python, PowerShell)
  • Virtualization technologies (VMware)
  • Containerization technologies (Docker, Kubernetes)
  • Networking tools and protocols (TCP/IP, DNS, Virtual Networks)
  • Monitoring and logging tools (???)
  • Storage systems (SAN, NAS, RAID)

Technical Lead

The Technical Lead is responsible for providing technical guidance and leadership to the Platform Engineering team. They play a crucial role in overseeing the technical aspects of projects, ensuring adherence to best practices, and driving the successful delivery of a variety of solutions. The Technical Lead collaborates with stakeholders and team members to understand project requirements and assist in translating them into technical solutions.

Skills

  • Strong technical expertise in relevant programming languages and technologies.
  • Proficiency in conducting code reviews and ensuring code quality.
  • Excellent problem-solving and analytical skills.
  • Strong communication and leadership abilities.
  • Ability to collaborate effectively with cross-functional teams.
  • Experience in mentoring and coaching team members.

Tools

  • Azure DevOps
  • Communication and collaboration tools (e.g., Microsoft Teams)
  • Document management tools (e.g., Google Drive, Microsoft SharePoint, Dropbox)
  • Risk management tools (e.g., OneTrust)
  • Reporting and analytics tools (e.g., Databricks, Power BI)
  • Development tools and frameworks used by the team (e.g., Python, Java, JavaScript, Azure Databricks, Git)

User Support

The User Support role involves providing help desk support to the customers of various applications and services within the I2DB Platform Engineering team. User Support is responsible for addressing user inquiries, troubleshooting issues, and ensuring a positive user experience. They also manage user guides and training materials to assist users in utilizing the applications effectively.

Baseline Skills

  • Strong customer service skills to provide friendly and efficient support to users.
  • Excellent communication skills, both written and verbal, to effectively address user inquiries and provide clear instructions.
  • Proficiency in troubleshooting and problem-solving to diagnose and resolve user issues.
  • Familiarity with help desk ticketing systems to track and manage user requests.
  • Ability to document and maintain knowledge base articles and user guides.
  • Patience and empathy to assist users with varying levels of technical expertise.
  • Basic technical skills to understand and troubleshoot common software and hardware issues.
  • Time management and organizational skills to prioritize and manage multiple user requests.

Tools

  • Ticketing systems
  • Communication tools (e.g., email, chat, phone)
  • Knowledge base and documentation tools
  • Troubleshooting tools and utilities

Updated on August 7, 2025