|
#0 A passion for solving puzzles.
If you're easily distracted or get frustrated when stumped, software engineering is not the field for you. Unlike many other fields, a career in software engineering will require you to almost continuously face new problems and challenges. Unless you're seeking a career where you build almost exactly the same thing year after year. But that would make you a programmer, not a software developer IMHO.
/ravi
|
|
|
|
|
|
...and a thick skull.
cheers
Chris Maunder
|
|
|
|
|
#0.0, Communication skills
I put this as a primary as side from the other. No matter what you know, if you have poor communication ("poor" in a sense being rude/arrogant/know it all ...), you work alone and probably you may be left as the last(only) person of the software as a user
The rest comes as you build your experience.
Wonde Tadesse
|
|
|
|
|
As a manager of developers, you can't hire someone who has ZERO communication skills.
So, having a pulse, knowing how to program, and getting through the interview.
But communications is a skill that a few of the best programmers I have ever met,
have yet to come close to mastering... And frankly, considering their skills, I would
rather they work on what they truly enjoy... I will communicate with them.
Again, it gets to the point of the type of work, and the environment. If you never
see/talk to the client or anyone other than your boss, it can't be the most important skill.
As you desire to get closer to the customer, I think the whole list inverts a bit.
Communication becomes job one, Working with others, etc.
Also, introverts are attracted to this career, and I think that is a good thing.
You can make a good living without being a "face" person. My old buddy said it best.
How do you respond to someone when there are about 18 different replies, and you
don't know how each reply is going to make that person feel, which affects how they
receive the answer. (He wasn't kidding. He was that smart. Being that smart made
him socially awkward. Great coder, though).
|
|
|
|
|
Communication skill is not in a sense of speaking, but in a sense to interacting with team/devs. Can (s)he fits with my existing team ... Off course there is going to be a communication but if its unpleasant, either you'll lose what you have(other devs) or you end up firing him or as I said it before[^]. Mind you (s)he may be a top notch coder/dev.
NOTE : It may be hard to determine in hiring process though.
Wonde Tadesse
|
|
|
|
|
So,
0) Not a complete moron when communicating
That's interesting. Putting it before everything else.
But it identifies a situation.
Communication Can be broken down:
A) Through Code/Comments ... Which we must all do
B) To Other Programmers/Managers... Which I guess I was assuming, but stating it is better
C) To Other Types of Techs (Tech Writers, Testers, QA People, HelpDesk, etc)
D) Then what I would call "Business Communication" for brevity...
Interesting. This gives me a second dimension to communication.
And it reminds me:
Ability to follow directions (with Knowing when/how to raise an issue about directions)
I think that should wrap up the core.
Again, the point is to show that as your interest in varying items expands or shrinks,
it could be used to drive you towards a more fulfilling career.
Joking:
- Hate People, Love Technology = Network Engineer
- Hate People, Hate Technology = My last 3 bosses
- Love People, Hate Technology = Sales
- Love People, Love Technology = Blog Writer <grin>
|
|
|
|
|
Kirk 10389821 wrote: But communications is a skill that a few of the best programmers I have ever met,
have yet to come close to mastering
It is a matrix (programmer versus communication) which is, of course, based on a normal curve
And there will be some that do fall outside of communication but could program. A good manager might be able to overcome that but a good manager can overcome many things. But, again, managers are dependent on the normal curve as well and consequently most are not good but just adequate.
|
|
|
|
|
0. A sense of humility, which lets them know that, even though they're the smartest person on the planet, lots of other people are also the smartest person on the planet.
None of those are marketing people, though. Smart people know that lying is not a smart thing to do.
I wanna be a eunuchs developer! Pass me a bread knife!
|
|
|
|
|
Kirk 10389821 wrote: a severe introvert can easily be a developer, but will have issues with the last two items
It a developer cannot be communicated with then they cannot be a developer. Can't be good developer. Can't be a bad one. Can't be one at all.
And if a good developer suffers severely from communication skills then unless they are paired with someone that has excellent management skills (presuming patience, good communications, etc) then they will perform badly regardless.
Kirk 10389821 wrote: Are there any other skills..
Delivers assigned work in a reasonable period of time with a reasonable level of quality without unduly antagonizing other employees and most certainly not employees.
So for example even if a developer has incredible skills if he/she keeps cussing out customers or starts bringing guns to work and muttering then get rid of them. Immediately.
|
|
|
|
|
Oaky, lets make sure we start with the basics that we are looking at either NORMAL people, or the typical geeks and core techie types.
And the other stuff about deliverables... And reasonable. One companies reasonable is another companies absurd.
Keep in mind, these are the skills younger people may have, and are deciding if they may do well at Development. And then what types.
Never hire a psychotic... Especially as a software developer or a camp counselor
Give them jobs in government where they belong ))
|
|
|
|
|
Kirk 10389821 wrote: 4) A desire to learn new things
Need to emphasize this, since I see some freshers with the "I know it all" attitude. That may be OK, but some of them exhibit the "You know nothing"/"Are you an idiot?" attitude too!
Another thing, mostly attitude-related is - the willingness to seek, accept and work on solutions from/with others, aka, teamwork.
modified 20-Feb-15 23:45pm.
|
|
|
|
|
I think no. 5 is much more important than, nearly, all the others, if you want to be a good software developer.
You need to be able to listen to what people tell you, and discuss things, until you have a good enough understanding in order to analyse.
One of the things that frustrates me with many an otherwise good developer is their ability to do something completely stupid because "that's what I thought the spec meant" - rather than asking the question(s) and thus being able to analyse the actual requirements.
Having worked with many, many developers over the years, the ones I would be happy to act as referee for, are all the good communicators.
I love it when a junior dev takes a spec I've written (usually on the back of a fag packet) and says "erk! Are you sure - wouldn't it be better if..."
9 times out of 10 they're wrong, of course, because I'm all but infallible - but that conversation teaches us both something every time.
PooperPig - Coming Soon
|
|
|
|
|
You're missing an important one:
0) The ability to restrain your desire to choke the living shit out of someone that richly deserves it.
Notice also that this starts your list with the proper 0-index.
".45 ACP - because shooting twice is just silly" - JSOP, 2010 ----- You can never have too much ammo - unless you're swimming, or on fire. - JSOP, 2010 ----- When you pry the gun from my cold dead hands, be careful - the barrel will be very hot. - JSOP, 2013
|
|
|
|
|
0) INTEGRITY
If you have an important point to make, don't try to be subtle or clever. Use a pile driver. Hit the point once. Then come back and hit it again. Then hit it a third time - a tremendous whack.
--Winston Churchill
|
|
|
|
|
If you throw a cat out a car window, does it become kitty litter?
Bad command or file name. Bad, bad command! Sit! Stay! Staaaay...
|
|
|
|
|
|
I don't think so.
Kitty litter absorbs cat pee, and I doubt that the direction of the flying cat's pee will be inward.
I wanna be a eunuchs developer! Pass me a bread knife!
|
|
|
|
|
No, it becomes the source of enjoyment for every dog in the neighborhood.
"the debugger doesn't tell me anything because this code compiles just fine" - random QA comment
"Facebook is where you tell lies to your friends. Twitter is where you tell the truth to strangers." - chriselst
|
|
|
|
|
Use elastic, then it's a cat-a-pult.
veni bibi saltavi
|
|
|
|
|
If you glue it's tail to some wood, does it become a cat ass trophy?
Bad command or file name. Bad, bad command! Sit! Stay! Staaaay...
|
|
|
|
|
If it hits a pillar on the way out of the car window.
I guess you could describe what you see as a cat a pillar
“That which can be asserted without evidence, can be dismissed without evidence.”
― Christopher Hitchens
|
|
|
|
|
If it hits a tree, it could be a cat a log!
Bad command or file name. Bad, bad command! Sit! Stay! Staaaay...
|
|
|
|
|
A cat a merangue - a peckish cat with a sweet tooth(this is becoming like Radio4).
“That which can be asserted without evidence, can be dismissed without evidence.”
― Christopher Hitchens
|
|
|
|
|
After it splatters on the road, would it be a bit cat-e-gory?
|
|
|
|