My take on this article that gained a lot of reaction from the community "What Skills Makes a Great Software Engineer?" https://dev.to/simeg/what-skills-do-you-think-makes-a-great-software-engineer-1b14
This is based on my two decades of experience in the tech industry as an engineer. I built all kinds of products, including fintech, mobile app catalog for Palm, cloud/security for VMware, container orchestration for my first startup, and now doing API security for Apisec, my new startup.
Disclaimer: I'm not trying to disagree with the original write-up but instead just built on top of it.
The article emphasized soft skills like being freindly, a learner, and a team player. I agree these are important.
First, let me classify there two kinds of works in product organizations:
Type-1/easy-work (I'm trying to avoid A-player and 10x): develop minor enhancements, minor integrations, simple tools, and basic UI functionality.
Type-2/hard-work: develop the core engine, intellectual property, security, UX, internet scaling, on-premises, databases, black-box, B2B, etc.
Most products require both kinds of work. Type-1 work is usually driven by the market, including your customers, support, sales, marketing, etc.
Type-2 kind of work is different. It requires engineers with deep problem-solving experience, solving micro problems and as well designing the entire system a certain way. An excellent example is no-code, AI, cloud, infrastructure-as-code, security-as-code platforms, and scaling.
These things are hard to build, maintain, and extend and require seasoned and excellent engineering skills developed over a long time.
We recently published a free API security testing site on GitHub. If you have an API, you can get an instant security testing report EthicalCheck
I love to hear your thoughts. Feel free to ask questions or leave comments.
Top comments (1)
Is this agreable?