# Linux Systems Administrator / DevOps Engineer

**Company:** [CodeForce](null/companies/w29HKGPswBNpG3edwgcdeL.md)
**Location:** Karachi, Pakistan
**Workplace:** hybrid
**Employment type:** Full-time
**Department:** IT Developement

[Apply for this job](null/view/087b33d0-075d-41e8-a8de-53bda1693150)

## Description

\# Linux Systems Administrator / DevOps Engineer

\*\*Company:\*\* Dataphone

\*\*Employment:\*\* Full-Time

\*\*Location:\*\* Remote

\## About Dataphone

Dataphone operates a large-scale communications platform providing VoIP, PBX, Contact Center, SMS, AI voice, and business communication solutions.

Our production environment includes Linux servers, Node.js/TypeScript applications, PM2, NGINX, PostgreSQL, FreeSWITCH, OpenSIPS, Docker, monitoring systems, and multiple customer-facing services.

We are looking for a hands-on \*\*Linux Systems Administrator / DevOps Engineer\*\* who can take ownership of this infrastructure and help us keep it reliable, secure, and scalable.

\## Responsibilities

\### Linux Server Administration

\* Manage production Debian/Ubuntu Linux servers

\* Server provisioning, configuration, upgrades, patching, and hardening

\* Manage CPU, memory, storage, processes, services, and networking

\* Troubleshoot production outages and performance problems

\* Manage SSH, users, permissions, sudo, and security

\* Monitor server health and capacity

\* Perform server migrations and maintenance with minimal downtime

\* Maintain backups and disaster-recovery procedures

\### Node.js / TypeScript Application Infrastructure

\* Deploy and maintain Node.js/TypeScript applications

\* Manage applications running under \*\*PM2\*\*

\* Troubleshoot application crashes and memory leaks

\* Monitor PM2 processes, CPU, memory, restarts, and logs

\* Configure PM2 clusters and process management

\* Perform application deployments and rollbacks

\* Troubleshoot application/server interactions

\* Work with developers to resolve production issues

\* Help establish standardized deployment procedures

You do \*\*not\*\* need to be a full-time application developer, but you must understand how Node.js applications run in production and be comfortable troubleshooting them.

\### NGINX

\* Configure and maintain NGINX

\* Reverse proxy configuration

\* SSL/TLS certificates

\* HTTP/HTTPS routing

\* Load balancing

\* WebSocket proxying

\* Connection and timeout configuration

\* Troubleshoot 4xx/5xx errors

\* Configure security headers and access controls

\* Review NGINX access/error logs

\* Optimize NGINX for production traffic

\### PostgreSQL

\* Manage production PostgreSQL servers

\* Monitor database health and performance

\* Troubleshoot connection issues

\* Monitor CPU, memory, disk, locks, and connections

\* Perform backups and restores

\* Understand indexes and basic query performance

\* Assist developers with database-related production issues

\* Support replication/high-availability configurations

\### VoIP Infrastructure

\* Maintain and troubleshoot \*\*FreeSWITCH\*\*

\* Maintain and troubleshoot \*\*OpenSIPS\*\*

\* Troubleshoot SIP registration and call-routing problems

\* Analyze SIP/RTP traffic

\* Use Wireshark, tcpdump, and sngrep

\* Troubleshoot NAT, RTP, codecs, packet loss, and latency

\* Monitor telecom infrastructure

\* Assist with scaling and load balancing

\### Docker

\* Manage Docker containers

\* Troubleshoot containers that fail or restart

\* Manage Docker networking and volumes

\* Monitor container resources

\* Maintain Docker-based production services

\* Assist with containerizing additional applications

\### Monitoring & Logging

Maintain and improve monitoring across the infrastructure.

Experience with:

\* Grafana

\* Prometheus

\* Loki

\* Netdata

\* Linux system logs

\* NGINX logs

\* PM2 logs

\* Application logs

\* PostgreSQL monitoring

\* FreeSWITCH/OpenSIPS logs

The goal is to identify infrastructure problems \*\*before they become customer-impacting outages\*\*.

\### Networking

Strong understanding of:

\* TCP/IP

\* DNS

\* HTTP/HTTPS

\* WebSockets

\* TCP/UDP

\* NAT

\* Firewalls

\* Routing

\* VLANs

\* Public/private networking

\* SIP/RTP networking

\### Automation

\* Bash scripting

\* Python and/or JavaScript/TypeScript scripting

\* Ansible or similar configuration-management tools

\* Git

\* Automate repetitive server-management tasks

\* Create scripts for monitoring, deployment, maintenance, and troubleshooting

\## Production Troubleshooting

This role requires someone who can independently investigate problems such as:

\* Node.js application repeatedly crashing

\* PM2 process consuming excessive memory

\* NGINX returning 502/504 errors

\* WebSocket connections dropping

\* PostgreSQL connections becoming exhausted

\* Server running out of disk space

\* FreeSWITCH CPU suddenly increasing

\* SIP registrations failing

\* Calls connecting without audio

\* OpenSIPS routing failures

\* Docker containers repeatedly restarting

\* Network latency or packet loss

\* SSL certificate expiration

\* High server load

\* Application deployment causing an outage

The expectation is:

\*\*Detect → Investigate → Identify root cause → Fix → Verify → Document\*\*

\## Required Skills

\### Must Have

\* 3+ years Linux administration / DevOps experience

\* Strong Debian/Ubuntu experience

\* Strong Linux troubleshooting

\* NGINX

\* Node.js production environments

\* PM2

\* PostgreSQL

\* Docker

\* Networking

\* Bash scripting

\* Git

\* Monitoring/logging

\* Strong production troubleshooting ability

\### Preferred

\* FreeSWITCH

\* OpenSIPS

\* FusionPBX

\* SIP/RTP

\* Wireshark

\* sngrep

\* Prometheus

\* Grafana

\* Loki

\* Netdata

\* Ansible

\* Redis

\* WebSockets

\* CI/CD

\* OVH/Vultr/AWS infrastructure

\## Ideal Candidate

The ideal candidate is \*\*not someone who only knows how to follow a checklist\*\*.

We need someone who can receive a problem such as:

\> "The API is slow and customers are getting intermittent 502 errors."

…and independently work through:

\*\*NGINX → PM2 → Node.js → PostgreSQL → Linux → Network\*\*

to determine where the actual problem is.

You should be comfortable logging into a server, examining processes and logs, running diagnostics, making a controlled change, verifying the result, and documenting the solution.

\## Work Style

We are looking for someone who:

\* Takes ownership

\* Works independently

\* Is a strong problem solver

\* Doesn't require constant supervision

\* Can work during production incidents

\* Communicates clearly

\* Documents changes

\* Understands the importance of uptime

\* Knows when to escalate an issue

\* Continuously improves infrastructure rather than simply maintaining it

\## Technical Assessment

Candidates may be required to complete a practical assessment covering:

1\. Linux troubleshooting

2\. NGINX configuration

3\. PM2/Node.js troubleshooting

4\. PostgreSQL troubleshooting

5\. Networking

6\. Docker

7\. FreeSWITCH/OpenSIPS fundamentals

8\. Monitoring and log analysis

The assessment will focus on \*\*real-world troubleshooting and problem-solving rather than memorization\*\*.

\## Compensation

Compensation will be based on experience, technical ability, and location.

Candidates with strong production experience in Linux, Node.js/PM2, NGINX, PostgreSQL, and VoIP infrastructure may qualify for higher compensation.
