Click here to Skip to main content
15,886,806 members

Welcome to the Lounge

   

For discussing anything related to a software developer's life but is not for programming questions. Got a programming question?

The Lounge is rated Safe For Work. If you're about to post something inappropriate for a shared office environment, then don't post it. No ads, no abuse, and no programming questions. Trolling, (political, climate, religious or whatever) will result in your account being removed.

 
GeneralRe: Generation, what's left? Pin
Kris Lantz27-May-20 3:26
professionalKris Lantz27-May-20 3:26 
GeneralRe: Generation, what's left? Pin
kalberts27-May-20 3:32
kalberts27-May-20 3:32 
GeneralRe: Generation, what's left? Pin
markrlondon28-May-20 16:23
markrlondon28-May-20 16:23 
AnswerRe: Generation, what's left? Pin
Amarnath S26-May-20 21:32
professionalAmarnath S26-May-20 21:32 
GeneralRe: Generation, what's left? Pin
Kornfeld Eliyahu Peter26-May-20 21:50
professionalKornfeld Eliyahu Peter26-May-20 21:50 
GeneralRe: Generation, what's left? Pin
Amarnath S26-May-20 21:55
professionalAmarnath S26-May-20 21:55 
GeneralRe: Generation, what's left? Pin
Richard MacCutchan26-May-20 22:31
mveRichard MacCutchan26-May-20 22:31 
AnswerRe: Generation, what's left? Pin
kalberts26-May-20 22:41
kalberts26-May-20 22:41 
I promote one fundamental principle: Make sure that you understand how your tools work, at least at the level immediately below the one you are currently working on.

You don't need to be an expert on numerical methods to use a library of trigonometric functions, but you should know how they can be calculated by series expansions. When you use malloc(), you should be familiar with internal and external fragmentation, compaction etc. When using a compiler, you should have some familiarity with machine code in general, and how it relates to high level code.

And so on. An important use of this knowledge (and a suitable test on if you have it) is to make qualified judgements of which tool alternative to select. Why is a connectionless network protocol better, in a given context, than a connection oriented? (if it is!) Should we use a thread or a process based solution? Should we store/transfer data in a binary format or formatted as text - and why?

How well you should know the layer immediately below may vary. You would expect a Master to know it a lot better than a hobby programmer. But even the hobby programmer should have some understandig of what happens behind the curtains when he makes an API call, runs an executable etc. There is a major difference between knowing how a tool works and being able to build the tool; you need the first, but do not need the second (although it never hurts...).

When I mention this principle to developers of my own generation, they always return an affirmative nod.

Developers of the younger generation usually return a shrug, "Hey, it works! I don't care to know how."
When I ask why a given solution was chosen, I far more often hear "Well, it works..." rather than a qualified rationale.

Juniors seem to accept the automagical as perfectly normal. They are perfectly comfortable with having no clue whatsoever about what that API does. It performs a task. Why should I care about how it does it? Why should I waste resources on knowing how? When I need to learn some new tool myself, asking a junior for help to understand its workings below the surface is usually futile, they can tell me the name of the API and the parameters, but it stops at that level.

With that attitude, you are a user, not a developer. Today, we see a rush to become proficient users of as many tools as possible, without minimal understanding of the tools. However, if you spend resources on understanding the operation principles of half as many tools, you have a much more solid background for learning the other half when the need comes. (I would estimate that at least 80% of the tools and technologies I have been working with the last twenty years didn't exist when I got my degree. Yet I have had no essential problems understanding how they work.)

I wish we could get back into the training of new developers that a skilled professional knows his tools, know how they operate. He does not accept anything automagical. He knows not only what to do, but why he does it, chooses that alternative. Even though this implies that you spend resources on aquiring knowledge and understanding that you theoretically could do without (in the short term), in the long term it will certainly pay back.
GeneralRe: Generation, what's left? Pin
Nelek26-May-20 23:25
protectorNelek26-May-20 23:25 
AnswerRe: Generation, what's left? Pin
Richard MacCutchan26-May-20 22:45
mveRichard MacCutchan26-May-20 22:45 
AnswerRe: Generation, what's left? Pin
Nelek26-May-20 22:56
protectorNelek26-May-20 22:56 
GeneralRe: Generation, what's left? Pin
Kornfeld Eliyahu Peter26-May-20 23:35
professionalKornfeld Eliyahu Peter26-May-20 23:35 
AnswerRe: Generation, what's left? Pin
den2k8826-May-20 23:05
professionalden2k8826-May-20 23:05 
AnswerRe: Generation, what's left? Pin
kalberts26-May-20 23:34
kalberts26-May-20 23:34 
GeneralRe: Generation, what's left? Pin
#realJSOP27-May-20 4:27
mve#realJSOP27-May-20 4:27 
AnswerRe: Generation, what's left? Pin
fd975027-May-20 0:01
professionalfd975027-May-20 0:01 
GeneralRe: Generation, what's left? Pin
Kornfeld Eliyahu Peter27-May-20 1:05
professionalKornfeld Eliyahu Peter27-May-20 1:05 
AnswerRe: Generation, what's left? Pin
Duncan Edwards Jones27-May-20 1:14
professionalDuncan Edwards Jones27-May-20 1:14 
GeneralRe: Generation, what's left? Pin
Kornfeld Eliyahu Peter27-May-20 1:26
professionalKornfeld Eliyahu Peter27-May-20 1:26 
GeneralRe: Generation, what's left? Pin
kalberts27-May-20 2:01
kalberts27-May-20 2:01 
AnswerRe: Generation, what's left? Pin
Member 1298255827-May-20 3:17
Member 1298255827-May-20 3:17 
GeneralRe: Generation, what's left? Pin
Nelek27-May-20 3:35
protectorNelek27-May-20 3:35 
GeneralRe: Generation, what's left? Pin
kalberts27-May-20 4:19
kalberts27-May-20 4:19 
AnswerRe: Generation, what's left? Pin
#realJSOP27-May-20 4:20
mve#realJSOP27-May-20 4:20 
AnswerRe: Generation, what's left? Pin
W Balboos, GHB27-May-20 5:25
W Balboos, GHB27-May-20 5:25 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.