Hacker News new | comments | ask | show | jobs | submit login

> Too many software engineers get into a mindset of “just make it work.” For me, making it work is only half the battle.

I had a conversation with a mentor talking about hiring. He said that he typically saw two types of engineers:

Those who can start something.


Those who can finish something.

The former can tackle problems that seem to have no solution, start from scratch and build something that just works. They are energized by greenfield development and close consultation with customers/users.

The latter can work within larger organizations, know about idiom for the technologies used, think about the right level of abstraction, and provide polish for the codebase.

Teams typically need both kinds of engineers.

I found out what kind of engineer I am years ago. That's led to roles that make me happy.

Agree that fp and oop are good investments.

I like doing both, but I especially like really understanding and improving an existing code base, finding/following/encouraging best practices, contributing back to the engine, etc. Writing something from scratch can be fun too though if I am given the time to do it in a way that I think is "right" vs just banging out a prototype with corners cut as quickly as possible and leaving it as is.

I like doing what you describe as well, improving an existing codebase, but its not something most businesses see as valuable. Instead you end up adding more hacks on top of the existing crappy codebase to get features out on time, making it even worse.

I cannot stress enough how true this is when talking about types of engineers.

However, both types are not mutually exclusive. There may exist some overlap between them, but of course, an engineer may feel more comfortable being one type more than the other.

Applications are open for YC Summer 2019

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact