What kind of person is best suited to software development?

Page 1 of 1 [ 3 posts ] 

starkid
Veteran
Veteran

User avatar

Joined: 9 Feb 2012
Gender: Female
Posts: 5,812
Location: California Bay Area

24 Jul 2020, 11:20 pm

Software development (and other positions in IT) used to be associated with autistic people, but that's not so appropriate anymore because of the workplace focus on working in software development teams. Also I've noticed in job advertisements for this kind of work that there is mention of soft skills requirements related to social behavior. They want people who can communicate well verbally. I don't think that was focused on before. Large companies like Google and Facebook also seem to focus on creating social activities for their employees.

Of course it was kind of a stereotype, but it had truth to it—autistic people seem to like and do well with technology, and being a capable programmer requires lots of attention to detail.

So how would you describe the sort of person who is well-suited to software development now? Is there a specific category of people, like autistic people and nerds were a specific category for old-school programming?



rhyneandrew
Emu Egg
Emu Egg

Joined: 8 Jan 2015
Age: 38
Gender: Male
Posts: 4

17 Aug 2020, 11:36 am

Hey, great question! I've been a software engineer for over a decade at this point, so happy to answer.

Generally, I don't know how important being "social" is as a software engineer. I've found that the most useful traits are:

1. Grit - The ability to bang your head on the desk until you figure out how to solve annoying and unexpected technical problems. I'd say this is what differentiates good and great software engineers.
2. Curiosity - You like solving puzzles and reverse engineering stuff.
3. Love of simplicity and order - This is another very important trait that separates good and great engineers. Lots of engineers make things "too complex", e.g. they "overengineer". The best engineers find the simplest solution to the most complicated problems.
4. Kind and patient - Being kind and patient with your peers when there is a differing opinion and you "know you are right" is super important.

Stuff that doesn't really matter:
1. Leetcode / algorithm whiteboarding. This happens during interviews at some companies but it's not really that important at most jobs. You'll pick this stuff up as needed.
2. Being a social butterfly - There is a reason that the software engineer stereotype exists.

Hope this helps!



Fnord
Veteran
Veteran

User avatar

Joined: 6 May 2008
Age: 67
Gender: Male
Posts: 60,712
Location: Stendec

17 Aug 2020, 2:07 pm

Ability and Ambition.

You need ability to handle just about every programming language available, as well as abilities in networks, scripting, databases, security protocols, and even a little cryptology.  A few esoteric skills can be useful, but are not essential (mine include amateur radio, astronomy, statistics, and more).

You need ambition to apply these abilities to the job for which you were hired -- that is, no web surfing, no MMORPGs on another monitor, and no social apps that are not directly related to your work.  Also, if you lack the ambition to learn new abilities, you may as well get a job in retail.

It also helps if people:

• hold themselves accountable for their own actions, and don't try to blame others for their mistakes

• keep their philosophical, political, and religious opinions to themselves

• complain quietly, and to only those people who can provide a resolution, or not complain at all

• contribute more than their fair share to support "Free Donut Friday"

Other than that, rhyneandrew posted some really good stuff too.


_________________
 
No love for Hamas, Hezbollah, Iranian Leadership, Islamic Jihad, other Islamic terrorist groups, OR their supporters and sympathizers.