Live Workshop: How to Measure ROI of Developer Experience
Register now!

DevOps Renaissance Man Offers Sage Advice from the Frontlines

Clement Chang knows how to hold court. He speaks eloquently and moves fluidly from topic to topic, ranging from technology to psychology to global politics. With sector interests that include web 3.0, precision medicine, and AI, Clement eventually settled on a career in the mysterious realm of DevOps.

What follows is a highly classified interview with Clement Chang - DevOps Elite.

Question: What development tools do you use from a DevOps perspective?

Clement Chang: The main ones are Jenkins, Visual Studio, ELK stack, which makes monitoring easy, GO, and lots of Unix and Python. There is no way I can deal with many problems that fast without Python.

Clement Chang's folder with classified informations around location, dev tool box, favorite movie, etcClement Chang's folder with classified informations around location, dev tool box, favorite movie, etc

Question: What is your secret DevOps weapon?

Always blame IT if you can't find the problem. But seriously, my secret weapon is thinking of solutions at a high level; seeing the big picture allows you to propose solutions that systematically work in the long run. Also, building trust with developers is everything, so sticking to the SLA is essential. Try to get that met no matter the cost.

Question: What's the most exciting thing about cloud development?

Cloud offers the most advantage in the DevOps space. Cloud development levels the playing field for a lot of companies. Companies that would not have the resources to maintain a promising DevOps pipeline now have access to the said pipeline. Cloud allows companies to offload some less critical tasks, so it doesn't clog up internal resources (solving the scalability issue). Also, they can earn some extra money by offering their internal cloud to the public during downtime. Financially, it is a brilliant solution to many problems in the DevOps space.

Question: What challenges does every cloud developer face?

The hardware and software that we rely on daily are built by people and are thus not infallible. For DevOps, the most challenging part is finding those issues and fixing them promptly. Failures of internal tools, dependencies, UI, or physical hardware can lead to system failures. There are many potential points of failure with a large (and increasing) quantity of components in the average DevOps stack. That makes pinpointing the problem difficult and time-consuming. You also have to factor in resource restrictions, scalability issues, and company policies that limit the number of solutions we can have. So the job is not as easy as it seems.

Question: Is code migration from local developments to production environments a common issue?

Yes, things that can go wrong often will go wrong. If not tightly managed, misconfigurations in virtual environments can lead to deployment problems and security defects. For this reason, container technology is so critical to the DevOps space.

Question: What has been one of the more formidable challenges you've faced in your career?

My project calls for creating a script that checks for problems the devs can make before it reaches the time-consuming build/check-in/testing process. Coming up with all the ways developers can screw up (it does happen in unexpected ways) takes a lot of creativity and brain cells; it feels like I am building a compiler. It took me a few months and a bunch of testing to complete.

I heard from the senior devs team that they once had a file I/O problem on the disks that caused many issues. The disks had so much I/O that they crashed. Note that these are car-priced disks built for high I/O. I had to work with the disk vendor to solve the problem and reorganize the workflow.

Question: As a DevOps specialist, how important is it to have a development environment closely mirror the production environment?

The mirroring of dev and prod environments is critical. Humans build code and hardware, and if humans make it, it will go wrong sometime/somewhere. Emulating the production environment reduces the possibility that things will go wrong. It certainly reduces the risk that devs will get a panicked call at midnight.

If you're a cloud developer/pro with a cool success story to tell, I'd love to interview you. Please contact me at johnp@okteto.com
John PapageorgeMarketing / Dance InstructorView all posts

A Fly Fisherman Returns From the Wild to Develop in the Cloud

Bradley has been in the coding game since 1997 when he started bravenet.com, which he ran until 2003. The site featured simple pre-Facebook tools, such as guest books, message boards, and classified ads. At the height of success, Bravenet.com was the second largest website in Canada and 50th largest website in the world....

June 14, 2022
Avatar of John PapageorgeAvatar of John PapageorgeJohn Papageorge

Making Sense of Cloud Development in a Complicated Kubernetes World

Burr Sutter has been developing applications for 30 years. He started with ChUI (green screen, amber screen, DOS) applications in the early 90s. Since then, he’s rode the wave of every innovation through Windows GUI apps, client-server, dynamic web apps, SOA, ESBs, enterprise integration patterns, AJAX, and mobile apps. ...

June 07, 2022
Avatar of John PapageorgeAvatar of John PapageorgeJohn Papageorge