Hacker News new | ask | show | jobs
by w_t_payne 3112 days ago
How can you even ask this question? Different teams have such different dynamics, such different ways of working: different tools; different practices: I would be exceedingly surprised to find any commonality whatsoever.

The discipline of software engineering is no undifferentiated mass: but a cultural kaleidoscope of different textures and colors; and a person who excels in one environment can easily tank in another.

For safety critical embedded code: a meticulous personality is essential; only someone who is a stickler for rules and processes will survive, let alone thrive. In a fast paced and creative environment, this person would be absolutely terrible!

The size of the organization is also a critical in determining who thrives and who does not. In a small team, being an independent self-starter and problem-solver is critical; whereas in a large team, that sort of independence will quickly get you into real trouble.

Different organizations have different values and assign different priorities to the various qualities and attributes of the product and the people who design it.

My advice: be as humble and as flexible as possible; do your best to fit into your team and your organization; but do not be afraid to recognize when you are bending yourself out of your comfort zone: Be prepared to move around a few times to find the organization and the team that fits you, too. There is no shame in this, and you will be happier in the long run.