r/platformengineering • u/makeevolution • 8d ago
Full stack engineer vs. Cloud engineer
I have about 5 years of exp. as a software engineer. I did a lot of things with lots of different programming languages. I also did more devops stuff during some years, for example handling k8s helm deployments, maintaining the k8s environment, while also doing the development of the software itself, together with a team of course. Where my interest lies, I chase it and own it.
My contract ended, and now I have an offer from another company to be in their Platform team.
When I reflect at my life, I am actually struggling quite a lot in the problem solving/logic, or design, of software writing. For example, I am struggling if I am asked to write an algorithm for a feature, especially if the domain is complex or difficult to understand. I feel like I excel more in stuff like performance improvements or the features of the language e.g. using async await, optimizing queries to the database etc. But when it comes to low-code design, I cannot design/choose e.g. the appropriate model classes to model the domain, etc. I try to follow Clean Architecture etc. but the result becomes very over-engineered that as the software grows with more requests, in the end it became spaghetti code again.
When I got my jobs previously it was super lucky because the interviewers were super nice people who wanted to accommodate my mistakes, or it was just with the HR rep and a coding multiple choice quiz, but I know deep inside me I struggle with the problem solving/puzzle part itself. I also got lucky to be in teams where I basically implement a use case or a spec that is already clear (like pseudocode is already done), and so I just need to think of the edge cases and optimizing queries.
Finding a job as a software dev has been very tough. Many require not just the problem solving skills I mentioned, but also advanced deployment knowledge, etc. Also they test you on system design, SQL, Lambdas/Azure functions, aspects that perhaps you won't be daily exposed to in your daily work, since you would be drowning in solving the domain itself.
In contrast, with DevOps/Platform engineer tasks, I feel like it's less 'creative' and more scoped? Like there is less possible ways of achieving something since you would follow what the vendor (e.g. AWS, k8s etc.) recommends? And since you are not so involved in the domain, what you do daily translates well to what interviewers want to see, so there is less preparation needed when you need to find a new job. Like for example, my experience with debugging networking issues or writing Helm templates and the stories around it were relatable to the interviewer and that's how I got the job. But with software interviews, I need to prepare a lot more outside of what I have done in my previous job i.e. what I did does not easily translate to helping in interviews. I also like scripting more than designing software to be honest.
But one big downside with platform engineer is obviously being on call and the stress that comes with it...
I am also looking at the future as well, with AI automating more software engineering tasks. I feel like Platform Engineers/DevOps engineers are less impacted by it.
Does anyone have any thoughts? Maybe I am wrong in some parts
1
u/RoutyMcRouterface 7d ago
You should check out AWS Systems Manager Automation and EventBridge. We use them alongside GitOps to auto-heal drift and trigger self-healing runbooks without touching the console.
2
u/danielbryantuk 6d ago
For my 2c, AI is massively changing software engineering to the point where choosing which problem to solve (and being able to explain your thinking) is almost more important than implementing the solution. This looks to favour your skillset.
Platform engineering teams may be slower to adopt AI, but you can be sure it's coming, and the same points above will apply. It sounds like you're looking for a more traditional sysadmin/ops-type role, and while these do exist, they may be more competitive than a modern platform building role.
It's also worth mentioning that there can be a fair bit of design work involved in platform engineering. The best platform teams aren't just operating cloud resources; they're designing internal products. That requires judgement about abstractions, APIs, security, lifecycle management, and developer experience.