Live data from Hacker News

Top Surprises When Starting Out as a Software Developer

henrikwarne.com

1–10 of 79 posts

Re: Top Surprises When Starting Out as a Software Developer

#2
My biggest surprise - many developers, even in senior positions, are self-taught and cannot properly implement even basic stuff like binary search, don't understand basic performance considerations around algorithm complexity. Their mindset is "we are using high-level languages; specific algorithms and performance considerations are properly addressed for us by the language designers, we are doing real stuff and not some theoretical CS BS".

This varies by the company, but many companies are full of self-important people like this.

Re: Top Surprises When Starting Out as a Software Developer

#3
Nowadays it's much more difficult to be surprised, at least if you're interested in more than just getting grades (which actually rules out plenty of my colleagues). There's so much information online, plus the opportunity to work on OSS projects, etc, that none of that really surprised me when I got my first job a few months ago. Reading TDWTF alone prepares you for the worst ;)

Re: Top Surprises When Starting Out as a Software Developer

#4
post #2

My biggest surprise - many developers, even in senior positions, are self-taught and cannot properly implement even basic stuff like binary search, don't understand basic performance considerations around algorithm complexity. Their mindset is "we are using high-level languages; specific algorithms and performance considerations are properly addressed for us by the language designers, we are doing real stuff and not…

For me, it was the opposite of ignoring performance: the developers of the platform we work on have decided to use floats for accounting, because decimals were "slow".

Re: Top Surprises When Starting Out as a Software Developer

#5
I think it should go without saying, but there is one more point I'd add to this list: Learning never stops - don't be ignorant.

Suprisingly, I still deal with many developers that write procedural code with if/else statements, up to 4 or more levels deep, even after years of being developers.

Re: Top Surprises When Starting Out as a Software Developer

#6
post #5

I think it should go without saying, but there is one more point I'd add to this list: Learning never stops - don't be ignorant. Suprisingly, I still deal with many developers that write procedural code with if/else statements, up to 4 or more levels deep, even after years of being developers.

So you suggest that instead of several if/then/elses a clever recursive function call should be used, right? And the function should take its arguments by value, and have zero side-effects?

Re: Top Surprises When Starting Out as a Software Developer

#7
post #2

My biggest surprise - many developers, even in senior positions, are self-taught and cannot properly implement even basic stuff like binary search, don't understand basic performance considerations around algorithm complexity. Their mindset is "we are using high-level languages; specific algorithms and performance considerations are properly addressed for us by the language designers, we are doing real stuff and not…

Your implying that self taught developers are unable to comprehend basic parts of computer science is really an over generalization, I and many of my co-workers are self taught and we often find that graduates, whilst being intelligent and understanding the more esoteric areas of the profession, are unable to understand certain ideas as 'time is money, don't do it cool when a simpler way will work just as well' and are also incapable of understanding how to monetize aspects of a code base.

It's all well and good being self taught or university educated, but inevitably you need a mix of both disciplinary aspects to be able to function properly within a company.

Re: Top Surprises When Starting Out as a Software Developer

#8
post #6
post #5

I think it should go without saying, but there is one more point I'd add to this list: Learning never stops - don't be ignorant. Suprisingly, I still deal with many developers that write procedural code with if/else statements, up to 4 or more levels deep, even after years of being developers.

So you suggest that instead of several if/then/elses a clever recursive function call should be used, right? And the function should take its arguments by value, and have zero side-effects?

Why would you need a recursive function? It's just a matter of decomposing your functions into smaller parts.

Re: Top Surprises When Starting Out as a Software Developer

#9
post #7
post #2

My biggest surprise - many developers, even in senior positions, are self-taught and cannot properly implement even basic stuff like binary search, don't understand basic performance considerations around algorithm complexity. Their mindset is "we are using high-level languages; specific algorithms and performance considerations are properly addressed for us by the language designers, we are doing real stuff and not…

Your implying that self taught developers are unable to comprehend basic parts of computer science is really an over generalization, I and many of my co-workers are self taught and we often find that graduates, whilst being intelligent and understanding the more esoteric areas of the profession, are unable to understand certain ideas as 'time is money, don't do it cool when a simpler way will work just as well' and a…

I am not implying in any way that self-taught developers are unable of anything. I know a lot of great self-taught developers. However, many developers without formal CS training learn one or two technologies (e.g. ruby or another web framework) and believe this is enough; they even call themselves "hackers". That last approach surprised me.

Re: Top Surprises When Starting Out as a Software Developer

#10
post #6

Earlier quoted context omitted.

So you suggest that instead of several if/then/elses a clever recursive function call should be used, right? And the function should take its arguments by value, and have zero side-effects?

Why would you need a recursive function? It's just a matter of decomposing your functions into smaller parts.

I think trekkin was being snarky about people preaching Functional techniques. (I don't think said snark was warranted, for the record.)
Post reply on HN