DEV Community

Intesar Shannan Mohammed
Intesar Shannan Mohammed

Posted on


What Skills Make a Great Software Engineer?

My take on this article that gained a lot of reaction from the community "What Skills Makes a Great Software Engineer?"

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)

intesar profile image
Intesar Shannan Mohammed

Is this agreable?

An Animated Guide to Node.js Event Loop

Node.js doesnโ€™t stop from running other operations because of Libuv, a C++ library responsible for the event loop and asynchronously handling tasks such as network requests, DNS resolution, file system operations, data encryption, etc.

What happens under the hood when Node.js works on tasks such as database queries? We will explore it by following this piece of code step by step.