To someone who isn’t familiar with these roles, it’s easy to think that DevOps and systems reliability engineers (SREs) might have the same job. After all, both of them involve automation, coding, scaling, and reliability to one degree or another. Both roles are trying to make an organization more efficient. It’s reasonable to wonder if there’s any daylight between DevOps vs SREs.
Doesn’t it seem like every day there’s a new mishmash of responsibilities into a job title? One day soon, someone will be hired as a DevOpSysSecInfraArc engineer.
The deeper you get into the tech sphere, the more unintelligible the job titles seem to be. Plus, the same title at different companies often encompasses different responsibilities. Ask twenty data scientists what they do and you’ll get twenty different answers.
The median DevOps engineer’s salary is $103,994 in base pay, with around $28,514 in additional pay through bonuses, commissions, and profit sharing according to Glassdoor. Salary.com estimates the average is closer to $125k, while BuiltIn puts the average closer to $128k in base pay, with an additional $15k in cash compensation.
It’s time for some speculation on my part I believe that the job duties of “back-end” and “DevOps” engineers will coalesce to include almost everything that “the user doesn’t see”. There will still be room for specialization, but these roles will become less distinguishable overall.
DevOps principles, and CI/CD specifically, are generally presented as a more efficient way to run a software development organization. While I hold the belief that CI/CD is more efficient and effective than manually testing and deploying code, I’d like to talk about something we don’t bring up quite as often.
“DevOps” is one of the most misunderstood terms in the software development industry. To be clear, I’m not the arbiter of truth when it comes to the definitions of words. That said, I’m here to say two things:
Where I work, we use a repo-per-namespace setup and so it often happens that I want to restart all pods and deployments in a single Kubernetes namespace. Maybe I want to see the startup logs, or maybe I want to shut down production for a few seconds. Don’t question my motives.
My worst enemy is processes that a developer spun up years ago on a server everyone has forgotten about. I don’t know how to find these systems reliably, I don’t know where they came from, what depends on them, and if they are safe to delete. For example, the dreaded 15 6 2 1 * /home/lane/backup.sh. You may recognize this as a Unix cronjob, a job that is scheduled to run on a server periodically.
This is a tutorial on how to set up an Electron app on Travis CI, so that new versions are deployed to GitHub Releases with a simple pull request.