|
|
Back to UserFriendly Strip Comments Index
|
Yeah! Exactly! What he said! | by Avium | 2009-05-08 10:20:04 |
| Agreed |
by jdelphiki |
2009-05-08 11:16:07 |
Of course, the small private college I went to (1980-84) taught most of its classes in BASIC. I also took Fortran and COBOL. But along with that, I had to take Data Structures and Discrete Computational Structures. I also took Logic, which counted as both a Philosophy and a CS credit. The interesting thing was that, even learning in BASIC, we were expected to use our brains to figure out the complexities of programming. In some ways, the restrictions of BASIC and the computers we were working on made things harder for us.
I got the pleasure of working in the computer room and it was pretty obvious which people were "getting" the work and which ones never would. You could tell by the questions they asked. And the problems they ran into. It all came down to that mental agility and a willingness to learn.
When I graduated, I started out working in a Fortran shop. My next job was a six year stint working on mainframe COBOL apps: first with batch programs, then with online apps using CICS.
A few years later (and at my next job), the company decided to write a data warehouse app on the PC. The original app was written in C language on the OS/2 platform. (At the time, Windows 3.11 hadn't come out and OS/2 was more stable, with multiprocessing capabilities). I was fortunate enough to have mentioned an interest in C language and was put to work on that app.
Eventually, they decided to do a new architecture for the app: a complete rewrite in C++ with a full OO design. They took six of us off the C app and/or the mainframe side of the house to learn C++ and OO development. On the job. Once again, the mental calisthentics completely floored some of the team. Probably four of the six...a full two-thirds...simply failed in their attempts to get their minds around C++ or the OO concepts. I was lucky that the OO concepts made sense to me. Helped me get my thoughts organized around pointers, et al.
Over the course of my career, I've learned or worked in a *lot* of different languages. The vast majority of them are languages that I had to learn on the job, with no formal training. (C++ was an exception. They sent us to a class, then sent be back to evaluate two others because the first one had been *ahem* obviously "deficient" in teaching the team). On top of the languages, I've also worked in more platforms/environments/methodologies than I care to even try to think about.
I'm currently working as a Java programmer and as a language, it really is "programming lite". Not hard to pick up at all. The only "difficult" part about Java is all the extra code/methodologies/etc. that have been written around it. It's not the language, it's the concept behind how someone somewhere decided to implement one of the jillions methodologies that have been applied to Java.
My first Java job was a short-term contract where I told them that I was familiar with Java (I had looked at it), but was no expert. They fired a guy with 12 years experience in Java because he was unable to adapt to their coding styles and the specific architecture they used. But they kept me for the full contract, even though I was, in my estimation, pretty lame at it all. The difference? Flexibility to new environments and technologies.
At my current job, I'm working on programming Java apps for cell phones. I'd never done anything even *remotely* like that, but they liked me anyhow. My first project, I had to finish an app where they'd dumped the off-shore programmers halfway through. Still reasonably new to Java, *never* worked on phones, and I have to learn all of this and figure out what was and wasn't done on someone else's app. Next project was to step into our main app and pick up the architecture for all of it. I've recently been pulled over to work on our app code for a different handset. I've been here for just about a year and a half. ;)
Behind it all is the ability to warp your brain around new things. The 12-year Java guy had never worked anywhere else (before he got laid off at his old job), so he'd never had to step into a new position and figure out how to fit what he knew into what the new company was doing.
I have jumped around so often and worked on so many different things that I can't *help* but be, at least, a *little* flexible. ;) My one big downfall is that I've really never worked at anything long enough to be considered an "expert" at it. Other than programming in general. ;)
I'm pretty sure I would fail an interview with the guy in the article because I don't retain an encyclopedia of trivia that I could write up on the whiteboard. But give me a computer and a stack of code, and I'll get it all figured out...regardless of the language/platform/architecture/methodology/etc. I mean, I'm *still* getting emails from recruiters looking for SmallWorld programmers...and I worked in that as a three-month contract (in hell) eight years ago!
I actually *do* have concerns for programmers coming out today. On one hand, they can recite a lot more syntactical trivia about languages, etc. than I probably ever would be able to. But if they've never learned the problem-solving aspect to programming...if they never had to figure out how to change someone else's rat's nest of tangled logic without rewriting the whole darned thing...if they never had to try to rearchitect spaghetti code in pieces, with a long-term, down-the-road goal in mind...if they never had to step in cold into an environment where nobody knows anything and there's no one there to help them learn the job... Heck, if they've never learned how to think, they're damaged goods to the industry. |
|
[ Reply ] |
|
My experience in many jobs | by MatthewDBA | 2009-05-08 11:24:35 |
|
Pointers are easy. | by Avium | 2009-05-08 11:51:18 |
|
I remember someone saying | by MatthewDBA | 2009-05-08 12:26:41 |
|
Pretty much | by SnArL | 2009-05-08 12:33:14 |
|
|
[Todays Cartoon Discussion]
[News Index]
|
|