122 karma · joined September 19, 2013
"that which can be configured must be configured"
Just like there are few people with IQ exactly 100, there are few users for whom all the default settings are appropriate. One has to review all config panels to be sure, and I have never done so without finding one critical default or another that was just plain problematic.
Lesson: make defaults clear, as few as possible, and all found in one place.
Clearly, everyone commenting here must be doing so from the position of believing themselves to be good programmers with pure skill sets already in place. I have to include myself in that assessment, of course. But, note how we are all a little different. Or a lot. So I agree with those who emphasize attitude, although even in that there is a lot of wiggle room. What we have are anecdotes, not prescriptions - we can tell our stories but you know, really, everyone's path to mastery will be different. Different drives, different talents, different happy accidents. But, much time, much dedication, much passion, and not only freedom from the fear of making mistakes but rejoicing in them - opportunities for learning, and the shorter term the joys of debugging and problem solving.
For, if one does not love the journey for itself, one will never stay the course.
For myself, I fell into computers as a career entirely by accident, aided by a perceptive girlfriend's advice when I was down and out as a 2nd year Physics undergrad in 1967, forced to drop out by family issues. No degree, 19 years young, and basically a C student. She suggested I seek a job as a programmer.
Not surprisingly, none of the big 5 were particularly interested despite my perfect scores on their aptitude tests. (? what ?). But one passed me on to a different track at a sister company, and to my great surprise they hired me on the spot to debug their computers as they came out of manufacturing. I have no idea what they saw in me, but it was a revelation. I could do it. From day one. Room sized hand built discrete component monsters. Elliott 4100 series.
And ever since, that job included, I have always been surprised that people want to actually pay me to do what I love, and to ride out those unpredictable deep thought intermissions when nothing apparent is happening with me. That I am still fully employed, at senior technical levels, is I think a token of how I am perceived, and I take it t be my qualification for commenting here.
So. Passion. Joy of challenges. Endurance, persistence, and open to the luck of the draw wrt career path (mine looks like a classical Drunkards Walk - transistors to pixels, ALU to 4G graphical language design). Always learning, always doing new stuff, always going where no-one has gone before - and short of an academic career this pressing out on the boundaries has to be pretty special to computers.
And the tools. The original question. There is no prescriptive answer to that one. For every project, often even every phase, there are new things to learn and invent, and the invention part usually has to include custom tools. And, personally, I gave up learning the current technological SOA in tools just for the learning, because typically by the time they became the right one for a new task they were already outmoded and something else was in vogue. So my tool focus is whatever helps me do the work right now. Picking new tools and technology up quickly are the key. And I don't think that can be taught. It is one's mental toolkit that is the key, one's habits and tricks of thought and problem solving in their most abstract meanings. And I believe only love of the work brings those forth. Because we are all wired differently, some more differently than others, and we all have different satori moments which result in the laying down of the memes of Mind that shape those tools.
In short, stay awake, and pay attention, and love what you do. The rest will take care of itself.
Oh, yes, one more thing. Think of the poor folks who have to maintain what you did after you have moved on. Or, as was my painful jab for this, even if it is yourself six months later. Style is a tool unto itself.
Is it interesting work?: Games _are_ different, so the past 6 years have been quite interesting. What I do relates to the games as does, say, CoreAudio relate to music Apps on iOS. And then, one is working inside a company that makes game consoles. Playing them is in the job description. As is breaking them.
Is it in demand? I honestly have no answer for that. But - there are not many game console manufacturers any more. There's the behemoth surrounding us, but I believe they recently downsized a bit, no idea about PSP at all, and us - Nintendo. Specifically, Nintendo Technology Development. We're small.
"I don't know why this works"
Oops. After that they put me at the front end due diligence instead of the back end.
Now I am 66, still fully employed, latest thing you might have heard (of) is the WiiU Audio engine. For unrelated reasons I went through a battery of cognitive function tests a couple of years ago and came out sharper than I was at 19 by at least a full sigma. I have no plans to retire.
I would add Don Knuth to the the honors list. And Minsky. Tony Hoare. Ted Nelson. Alan Kay. The original Homebrew Club members are getting up there. And about 100 others I know but you probably won't recognize. A peer group in which I am merely average.
As to selectivity and numbers. Yes, there have been programmers since WWII. But mot that many. So my age group has far fewer members than the upcoming geriatric programmer generation. But I have noticed one very encouraging feature we share: barring serious health issues (and even in spite of in some cases), a high percentage are still very active and passionate. No comment on causality, could easily be that it takes a active mind of a peculiar bent to get into the field in the first place and these just last, or it could be that the mental excersize it takes to keep relevant keeps the mind young, or both. But I'm pretty sure I won't last long if I have to stop doing it.
I have been at this for over 45 years as a cross-disciplinary hardware and software designer ever since. Still techie, at 66 years old, still nicely gainfully employed, still young at heart (if with a few creaky bits now:). Still mostly self taught, still inventing stuff that did not exist before. Yes, along the way for my own satisfaction I got the B. Sc and most of an M. Sc, but neither were required by my employers. Also, as somebody already mentioned, I have been recruited to every change in my career, or founded start-ups (with funding based on my design abilities), by people who knew me. Other than that first chance, I have never got a job by submitting a resume. And even that first job was by referral from an interviewer for a different job, after we had chatted for a while. Every change always started with my phone ringing.
I do not attribute this career to inborn talent, although I certainly turned out to have some. I attribute it to wide eyed curiosity and a perpetual feeling of "what? you want to actually _pay_ me to do this?", and its concomitant continuous learning and inventing. And to nobody telling me what I wanted to do was impossible.
Carlos Castenada's Don Juan series (yes, I know it was fiction) - "one has no choice but to believe. What matters is what you believe".
John C. Lilly's "Center of the Cyclone".
These three, all around early-mid 70's, ended up moving me from the UK to Los Angeles. Strangely, each adds a different understanding to the others. Together, I guess it just makes me a bit strange. But it works.