DEV Community

loading...

Discussion on: I am a devops engineer, Ask Me Anything!

Collapse
freakynit profile image
Nitin Bansal

Don't you think devops culture actually makes developers less knowledgeable about underlying infra, thus limiting their knowledge which they could have used to optimize their apps/services further?

I understand that no one is stopping devs from learning all that by themselves, but, weaving this learning into daily work helps better, isn't it, instead of abstracting/offloading it away completely?

Also, sometimes for even the simplest of deployments, devops teams tend to force deployments through CI/CD pipelines, leading to much increased times for code iterations. Is it right ?

Collapse
aratik711 profile image
aratik711 Ask Me Anything

Hi Nitin,

Yes, I do agree that the devops culture limits developer from gaining insights into the underlying infrastructure directly but devops is not about developers working individually and devops working individually. It is more of a give and take. As much as I have worked, the developers have always been informed of the underlying architecture, infrastructure and it's limitations. Whenever there is an issue the RCA is shared with the developers and many times the developers are also involved in the RCA process.

The developers do gain insight into the infrastructure but have limited access to the troubleshooting and debugging on the infra. And that is the whole point of devops. Let the developers do what they do best, that is coding. Leave the rest to devops. But I do agree that the coding will be even much more efficient if developers had an internal view of infra as we have. But that is again a double work to be done: coding and infrastructure. It should be more of a give and take. Understanding the coding constructs also helps us (devops) build a better infrastructure.

To your second question: According to me CICD is meant to save your time, efforts while development and to prevent inconsistency across environments. CICD may look like a long, time consuming process now but it surely helps to maintain equality across environments. For an individual development front, I believe a small pipeline should work, it reduces your efforts and maintains consistency. In the end it all depends on your work environment. If CICD benefits you then use it. If you think it is more of a hurdle, work on it, see how you can reduce time and complexity. CICD should assist you to deliver faster and not reduce your productivity.

Collapse
freakynit profile image
Nitin Bansal

Yup, right. It's a win-win situation for both the teams if they work closely enough to share the learnings, and assist each other in their efforts.

Also, CI/CD surely should be helpful. If it's not, probably you shouldn't be using it.
I guess this applies to every framework and technology out there. No one should be forced to do things a certain way just because others are doing it that way, or it is been done that way uptil now. If it fits the role, use it, else, ignore.

Thanks Arati :)