Helping people with computers... one answer at a time.
Coding is not just about coding. To function well in the work world, a student also needs to learn the many other skills taught at school. Yes, there are a few things I would have done differently.
I have a 16-year-old son who is very passionate about computers and programming and not so passionate about school. He would rather just be allowed to sit and do code all day.
Would you say that I should just go with my gut feeling and let him do this instead of having the focus on Dogwood Diplomas and college where we are fighting all day long to get him to do his schoolwork? Of course, I will still have him do his Math and English.
•
In this excerpt from Answercast #23, I discuss many of the things learned in a school environment that will help with a future work career in coding. It's best to keep up with all subjects in school.
•
One of the things I've learned over the years is best reflected in an article I wrote some time ago called "The one thing that I wished I'd done differently".
The short answer is: as much as it's tempting to let him do only or primarily coding, the fact is that the real world needs more.
When he gets into a situation where he's actually doing his passion as a job (for other people), there's so much more to the work than just writing code.
The one thing that I wish I had done differently was pay more attention in English class. I absolutely hated English class and the reason was that the class was taught in such a way that I was being forced to write about and learn about things that I didn't care about. But... the fundamentals were still critically important.
As I look back and see not only what I've turned into (primarily, a writer), but what I was doing while I was writing code (while I was working at Microsoft writing software), it was communicating with other people, communicating in the written word with other people.
That's why I keep focusing back on English class for me, specifically.
The fact is that no matter where your son ends up working, there is much more to his job than just writing code.
There will always be so much more at the job than just writing code, and to be honest, one of the things that will set him apart as a potential employee is not just his ability to code, but his ability to do all those other things that are involved in doing the job.
Sometimes, people refer to them as soft skills. I hesitate to classify things that way though yes, there's a lot of stuff in school that has nothing to do with the eventual job.
On the other hand, all that stuff in school is teaching you:
So, while it's hard for me to say you need to go ahead and pound on him and make him do the work in school, I think more importantly, he needs to realize that there is significantly more to life than coding.
There is significantly more to being a software engineer or programmer than just writing software. All that other stuff that he's doing in school will turn out to be critically important.
I know it's a lesson I learned much too late. It's a lesson that I wish I
had learned early on. It's a focus that I wish I had taken when I was still in
school: to take a look at some of the other disciplines besides
just pounding out code.
Next from Answercast 23- Can I combine two hard disk drives into a single logical drive?
Article C5417 - June 3, 2012 « »
June 5, 2012 10:04 AM
I went to college to be an electrical engineer. Made a good living at it, too. But over the years, my career has zigged and it's zagged, and I've done a variety of stuff only somewhat related to engineering. The one common factor to ALL of those jobs was that I was a troubleshooter. A problem solver. A professional hand-holder. And while engineering is what got me started, it was a wide range of experiences that made me adaptable to utilizing my problem-solving skills even in jobs that had nothing to do with electronics. So much so that I created my own company (which still pays me well) specifically designed to resolving other companies' problems. As the world has evolved, I'm less attuned to electrical application, but more skilled in applying engineering principles (analysis, attention to detail, observation) to unrelated fields, including such diverse skills as repairing a company's Customer Service program. While a lumberjack may focus on the trees, it helps to know where the forests are, and also what faciliatates their growth and survival. A variation on the inability to see the forest for the trees. There is no such thing as TOO much education, but a lack of it can only hinder a person.
June 5, 2012 11:26 AM
My brother had the incredible bad luck to be laid off from his programming job at the same time as something like 6,000 other programmers, all thier jobs outsourced. It took him several years to find another job due to the market being just swamped with talented people. He was finally hired by a small firm, not for his skill in programming, but for his ability to work with the non-techincal staff. That job eventually led to work with a larger firm and better pay. But the reality is, if all you can do is code, no matter how good you are, your work can be outsourced.
June 5, 2012 12:30 PM
Whilst agreeing generally with all of the present postings, I recognise Mike's career as being very similar to mine, particularly the trouble-shooting.
Generally as an "amateur programmer" etc, I tackled the programming that my "professional" colleagues thought impossible or very difficult.
In hindsight, having studied Latin and Freench at school was extremely useful, given the precision of symtax etc required in programming.
Also, what is the son programming - is it a real-world situation responding to "customer demands"; or is it purely tackling a task of his own making - similar to the bird-box joinery?
To produce really successfull programs, one must be able to view the requrements from the user's viewpoint - what may seem simple and easy to the programmer, may be utterly confusing and perverse to the potential user.
So inter-action with the potential users of all sorts, from the presentation of the input end, to the layout and titling of the outputs is extremely important.
And then there is the testing of the programs - a huge field in its own right.
A programmer will tend to stay within the parameters of the program when testing - but the users will accidentally or otherwise, go outside them.
At a simple level, using alpha "O" in place of numeric "0".
With Credit and Debit cards, is the input required in the 4 blocks of four numeric characters; or should spaces be omitted; should the program automatically detect and adjust for these?
How many of you have seen the programs where the number MUST be inputted without the spaces and without explanation, followed by a confirmation presentation showing it with the spaces present?
June 6, 2012 6:40 AM
It is a long and valuable answer. When I read "focus on programming" I assume this is a focus area, not devoting the whole life "only" to programming. Programming computers is a great field for learning logic and acquiring the confidence of every problem has a solution. Of course the boy will have to learn write, socialize, swim, love, etc, etc, in the way. but this is obvious for me. Regards
06-Jun-2012
June 29, 2012 10:51 PM
Reading this article and the thoughtful comments obviously from readers with years of life experience brings a smile to me. Thank you so much for sharing. I studied business but eventually I become an non-institutional educator, training niche population. Imagine how amused I get each day listening to teenagers or young adults share with me their beliefs and values.