"There is no right answer ... and always a better way."
I prefer, "There are many right answers, some better than others."
"Show and discuss your code, without emotional attachment."
Not my experience. I have always had emotional attachment to my code. My love for my code is what has enabled me to grow. Passion is half the battle.
"People who learn one hot language just to get a job mostly find themselves ten or more years later as one-trick ponies on outdated software platforms."
If a programmer has delivered 100 great projects with the only language he knows, does that make him a "one-trick pony". Just because there is a new favorite language du jour doesn't mean that all other software ceases to exist. There are plenty of COBOL and BASIC programmers still doing very well.
"Since they have no real interest in learning anything else,"
Since when does "not learning more languages" = "not learning anything else"? I know plenty of people who have used basically the same technology for 20 years and have learned plenty of others things. OP discounts domain knowledge, deep industry knowledge, and business saavy. Believe me, you can solve lots of diverse real world problems with a very small technology footprint.
OP's advice scares me a little bit because he equates "learning" with "learning technology". If you're not careful, the next thing you know, you will have learned a lot but insulated yourself into an ivory tower.
I prefer much simpler advice. Keep finding customers (internal or external) and help them solve their problems. Lifelong learning will be a byproduct that will take care of itself.
"Show and discuss your code, without emotional attachment."
Not my experience. I have always had emotional attachment to my code. My love for my code is what has enabled me to grow. Passion is half the battle.
I got the impression that he meant that it's easier to receive constructive feedback when you're less attached. Not every line of your code is perfect, so if you're able to stand back a bit from your code then you'll be more open to improvements. It's something I still have trouble with sometimes, but I usually try to be less attached to my code.
I prefer much simpler advice. Keep finding customers (internal or external) and help them solve their problems. Lifelong learning will be a byproduct that will take care of itself.
Uh, not to be pedantic, but the title is "How to become a software engineer/programmer". He has already explicitly limited the scope of his post to technology, so in this context, "learning" does equate to "learning technology".
I prefer, "There are many right answers, some better than others."
"Show and discuss your code, without emotional attachment."
Not my experience. I have always had emotional attachment to my code. My love for my code is what has enabled me to grow. Passion is half the battle.
"People who learn one hot language just to get a job mostly find themselves ten or more years later as one-trick ponies on outdated software platforms."
If a programmer has delivered 100 great projects with the only language he knows, does that make him a "one-trick pony". Just because there is a new favorite language du jour doesn't mean that all other software ceases to exist. There are plenty of COBOL and BASIC programmers still doing very well.
"Since they have no real interest in learning anything else,"
Since when does "not learning more languages" = "not learning anything else"? I know plenty of people who have used basically the same technology for 20 years and have learned plenty of others things. OP discounts domain knowledge, deep industry knowledge, and business saavy. Believe me, you can solve lots of diverse real world problems with a very small technology footprint.
OP's advice scares me a little bit because he equates "learning" with "learning technology". If you're not careful, the next thing you know, you will have learned a lot but insulated yourself into an ivory tower.
I prefer much simpler advice. Keep finding customers (internal or external) and help them solve their problems. Lifelong learning will be a byproduct that will take care of itself.