InsideArachnys – Q&A with Weichung Shaw, DevOps Engineer
Welcome to InsideArachnys, a series of interviews where we speak to the people behind the Arachnys platform. This month, we caught up with Weichung Shaw, one of our DevOps Engineers in London.
Hi Weichung, can you tell us a little bit about yourself and explain your role at Arachnys?
I’m a DevOps engineer. I transitioned to DevOps from Software Development, and before that from QA Engineer, all at Arachnys. Responsibilities include improving, monitoring and maintaining our cloud infrastructure, plus the development of CI/CD pipelines and other stuff that would enhance developer productivity.
You completed a Masters in Computer Science at the University of St Andrews. How much of what you learnt in that course do you find yourself applying in your role now?
My Master’s was in fact a joint program with one year at the University of St Andrews, and another at the Université de Lorraine (Nancy). The focus was on Machine Learning and Formal Methods respectively, which are quite specialized fields that are unfortunately tangential to my current role. What the programs definitely did train me to do was to efficiently dig into the code of upstream open source projects and really find out what is going on (because the official documentation is often not sufficient). That has been hugely helpful both as a software dev and as DevOps.
What are you working on right now and what languages/technology are involved?
At the moment I’m working on making our AWS estate more organized and sensible, plus improving our autoscaling configurations. There are always ways to make it more efficient, both in terms of the monetary cost and maintenance effort. Likewise, there are some deployments in our Kubernetes clusters that are not benefiting enough from autoscaling. In my role I most often need to rely on knowledge in Terraform, Kubernetes and Docker.
What’s the best thing about working in tech? What gets you out of bed in the morning, or what aspect of being a software engineer provides the most buzz for you?
Ha I like this question, because half to my surprise I actually do enjoy the field. Firstly, there’s no question that the job market in tech is good. Secondly, I find some joy in solving mysteries, and debugging software or infrastructure issues is a special kind of investigation, where it is usually possible to get good confirmation on whether your conclusion is right (through reproducing the issue, using debuggers, digging into the stack trace, or metrics, or logs etc). I imagine the same cannot be said for things like criminal or art forgery investigations. Thirdly, I am not un-gifted in technical reasoning, and like to think with details.
What advice would you give to software engineers based on what you’ve learned so far in your career?
Try to always question (in your head, not in meetings) the current assumptions and conclusions, whether they be your own or other people’s. The conclusions may have been right, in which case by questioning it you’ll understand more about its justification and nuances. The conclusions may have been wrong, in which case you’re obviously well served by questioning them.
And finally, who do you look to for inspiration? Can you recommend any great books/people to follow/TEDtalks/podcasts?
I don’t actually consume such content much, sorry! But, maybe this is relevant – I sometimes look to the Gitlab helm chart for inspiration on how the helm chart of a complex app (with many components) can look like. We actually found out we had roughly the same idea regarding how to handle database schema migrations.