What are the responsibilities and job description for the Linux Engineer position at MTK Technologies?
Role: Linux Engineer
Location: Cincinnati, OH
Duration: Fulltime
Job Description:
We are seeking a skilled and motivated Linux Engineer to join our growing team. The ideal candidate will have a strong background in Linux system administration, infrastructure management, and troubleshooting. This role is perfect for someone with a passion for working in a dynamic environment and the ability to take ownership of infrastructure operations.
As a Linux Engineer, you will be responsible for deploying, managing, and supporting Linux-based systems, ensuring high availability, reliability, and performance of the infrastructure. You will work closely with cross-functional teams to troubleshoot, optimize, and automate tasks to improve overall system efficiency.
Key Responsibilities:
- System Administration: Administer and support Linux-based servers and infrastructure, ensuring optimal performance, security, and uptime.
- Installation and Configuration: Deploy and configure Linux-based servers and applications across multiple environments (dev, test, production).
- Monitoring and Troubleshooting: Proactively monitor system performance, logs, and alerts to identify and resolve system issues, optimizing for scalability and reliability.
- Automation: Automate routine tasks such as system monitoring, backups, patching, and deployments using scripts (Bash, Python, Ansible, etc.) or automation tools.
- Security Management: Implement and enforce security best practices, manage firewalls, user permissions, and ensure that systems are hardened against vulnerabilities.
- Performance Tuning: Continuously improve system performance through tuning and optimization techniques.
- Backup and Recovery: Manage backup systems and disaster recovery processes, ensuring data integrity and availability.
- Collaboration: Work closely with DevOps, Development, and Network teams to support infrastructure needs and improve overall system operations.
- Documentation: Maintain detailed documentation of system configurations, processes, and troubleshooting steps.
Required Qualifications:
- Education: Bachelor’s degree in Computer Science, Information Technology, or related field (or equivalent experience).
- Experience:
- 5 years of experience in Linux system administration (preferably with RHEL, CentOS, Ubuntu, or similar distributions).
- Experience with automation tools (Ansible, Puppet, Chef, etc.).
- Proficiency in shell scripting (Bash, etc.) and/or programming languages like Python.
- Systems Knowledge: Strong understanding of Linux file systems, networking, storage, and system services (Apache, Nginx, MySQL, etc.).
- Virtualization: Experience with virtualization platforms such as VMware, KVM, or Docker.
- Cloud Platforms: Familiarity with cloud computing environments (AWS, Azure, Google Cloud, etc.) is a plus.
- Monitoring and Logging: Experience with monitoring tools (Prometheus, Nagios, Zabbix, etc.) and logging systems (ELK Stack, Splunk, etc.).
- Security: Solid knowledge of security practices and tools (SSH, firewalls, SELinux, etc.).
- Version Control: Familiarity with Git or similar version control systems.
- Problem-Solving: Strong troubleshooting skills with the ability to diagnose and resolve complex issues.
Preferred Skills:
- Cloud Experience: Experience with cloud-native services, infrastructure as code (Terraform, CloudFormation).
- Containerization: Familiarity with Docker and Kubernetes for container orchestration.
- Continuous Integration/Continuous Deployment (CI/CD): Experience with Jenkins, GitLab, or similar CI/CD tools.
- Scripting Languages: Experience with languages like Python, Ruby, or Go.
- Database Management: Experience with databases like MySQL, PostgreSQL, or NoSQL databases (MongoDB, Redis, etc.).
- Backup Solutions: Experience with backup and recovery solutions (Veeam, Bacula, etc.).