Answer the question
In order to leave comments, you need to log in
What should the average web programmer know from DevOps when applying for a job?
All my life I have been developing with the installation of all LEMP on my ubuntu and deployed via FTP to the procasion (or git pull to git post-commit hook). In general, lagged behind modern methods.
In May I plan to look for a new job and decided to train myself before the interviews. In the last month, I plunged into learning Docker. There is honestly, it is rather tight and slow, but there is progress (I no longer use LEMP on the host). Already asked a lot of questions here. And the next step is to try Ansible, Jenkins, Vagrant, which I have not dealt with.
And I also need to have time to get some knowledge on programming itself.
So the question is: should I spend a lot of time learning CD/CI? If so, what knowledge is the minimum must have? Or will they already teach in the new team what they use there? Are there any interview questions about this topic?
Answer the question
In order to leave comments, you need to log in
must-have:
Understanding how ssh keys work in order to be able to set up access to a Linux machine or to git (bitbucket/github/etc)
Basic understanding of git and what hangs on top of it (github, bitbucket, etc) so as not to get confused in pull requests , understand why they are and how your work is organized - a name convention for branches, how a review is done.
If you write for Docker, then the Dockerfile is mainly the responsibility of the developer. Where to launch it is the second question.
You should be able to deploy your application on a local machine, and understand how to deploy it on another machine.
Jenkins\Teamcity is a tool where devops tries to automate what you deploy on your local machine. You advise him where and from where you read the configs, perhaps the devops have some centralized methods for this. But you need Jenkins\Teamcity at the advanced user level. You can ask the devops to show you the base on the spot.
In general, you must have a good understanding of the entire stack in order to install and configure the machine where your application runs from scratch. You should know the requirements for your application better than devops - because you are the one who writes the application. You know its approximate performance, its memory requirements, its bottlenecks.
The task of devops is scaling and automation. Devops was given a separate position because there were many applications that needed to be deployed not on a dev machine and in production, but on several test environments, on several regressions, on several productions (fail-safety, and so on), and a decent amount of work has accumulated man-hours. But this does not mean that devops should generally understand your application, and even more so business logic, better than a developer.
Didn't find what you were looking for?
Ask your questionAsk a Question
731 491 924 answers to any question