Slashdot Mirror


Rediscovering Your Inner Code Geek?

tachijuan asks: "I'm an old time hand in the PC world (started with trash-80 in late 70's). Along the way I've gone from the geek in school with the only computer to a CS degree to a position as a senior systems administrator at a major university to industry. And that's where I went to the dark side and became not a geek. About 10 years ago, the corporate rat race caught me and now I'm an exec at a midsize company. After 10 years of no code, it seems like I've never worked on anything serious (still do Perl, PHP, shell, etc scripting at home). Now, I feel the need to change this. How does an old UNIX coder/SysAdmin turned professional corporate cog get back into coding? I've looked at all sorts of languages (C#, C++, Delphi, VB(eh gads), Squeak, IO, etc.) but my problem is that I have unlearned most of the S in CS and the learning curve for the API's to both UNIX and Windows has become...daunting. Short of going back to school, what would you soon to be fellow geeks recommend as a good kick start?"

7 of 58 comments (clear)

  1. Get a hobby by bscott · · Score: 5, Insightful

    Treat this like a project; get yourself a Killer App for the task.

    Find something that you just WANT to do - or something worth doing, for example a charity or community group - and let that force you to learn what you need to learn.

    You initially got into this computer thing 'cos it seemed cool and fun; and at the time, it was. Now you're trying to get back into it but without quite the same motivation. You want it to be fun and easy like it was the first time? Well, you've learned a thing or two since then, so use those life-skills...

    I bet you don't even have to leave your chair to recognize something, or someone, in your life that needs Fixing. To the extent that there's a technological solution to the problem, let yourself find and implement the answer. If you get it right, you can probably sell the idea too.

    --
    Perfectly Normal Industries
  2. Python will get you back on track fast by Nice2Cats · · Score: 4, Insightful

    If there is ever a language that you can get up and running with quickly, it is Python. Runs on any platform, has a great library, and what is more, if you have to take a month off from your code, you can still figure out what you were doing.

  3. Re:Just do it :) by 0x0d0a · · Score: 3, Insightful

    "the learning curve for the API's to both UNIX and Windows has become...daunting. Short of going back to school, what would you soon to be fellow geeks recommend as a good kick start?"

    *I* want to know how much UNIX C APIs have changed since the 70s. It can't be *that* much.

  4. Re:Just do it :) by PhuckH34D · · Score: 3, Insightful
    The best thing to do then is, IMO, to chose a project, and just start. You can learn all the relevant things on the way. And after that project is finished, you can start on a new one...
    One thing that I've learnt as a programmer is that you don't need to know all the API's that exist, but just start on a project, and learn whatever you must for that project, and after that just move on.

    --
    You're old school? I beta tested the motherf***ing abacus!
  5. Re:Just do it :) by Cthefuture · · Score: 2, Insightful

    This was exactly my thought.

    None of the API's are any more daunting than they were back then. Makes me think this person wasn't really ever a serious programmer. At least not one that spent very much time programming the standard stuff. They mentioned system administrator. Sounds like it has been more than 10 years. My guess is that they never did more than diddle around with the computer. Small-time programming.

    So what's so daunting? Java and .NET are big but they provide all sorts of functionality. They aren't complicated. Just start looking at the documentation for whatever it is you want to do.

    Are you trying learn C/C++ and it's the language that's daunting? Maybe trying to learn object-oriented programming?

    I don't understand.

    --
    The ratio of people to cake is too big
  6. Re:Just do it :) by smallfries · · Score: 3, Insightful

    This is similar to what I thought when I read the tag at the top. How can it be daunting? Surely if he wants to become a geek then the *key* part is the challenge, if there were no challenge then it wouldn't be geeking. Geeks thrive on doing the hard stuff because they can. Maybe he's just a wannabe poser... As for something to get started on, well, like the parent says the API's are complicated just big. Pick something that you want to do, and do it. Yes it'll be a bit hard to get started but that is the point, and if you really do want the challenge then you'll enjoy it

    --
    Slashdot: where don knuth is an idiot because he cant grasp the awesome power of php
  7. Find your passion by justanyone · · Score: 2, Insightful

    As a middle aged engineer that is still coding (I'm 37), I find it a continuing battle to remain technical. It is easier to resist after this much practice, but the temptation to move to management is always there.

    HP had this trouble; IBM did too. Their products were failing and their people unsatisfied because the only path to advancement from a coding geek was to managing coding geeks. They formed a career path for engineers. The elite of this group are called 'fellows' that can do what they want. Everybody's happy.

    Managment inevitably comprises meetings, reports, schedules, documentation, coordination, and personnel management. This usually swamps anyone doing it just for the technical architect roles it provides. I've thought, "Hey, Power! I could make the major decisions for my team and we could design things right for a change!"

    If your passion is in the arts of engineering design - making tradeoffs between size / cost / complexity / reliability / beauty / functionality - you have learned something about yourself. If you mostly like meeting with people and making decisions, that's fine too.

    It sounds like you want to get more technical again. Great. If you have any technical oversight role, go to the design team and start talking and (more importantly) start listening to what they actually do. Look at the code. Ask lots of questions. Reduce the complexity from the mind-numbing to the, "Yah, I can see that.".

    If you cannot do this at your current position, you always find a position that lets you do that, and let them train you. Or, you cna get a masters in computer science, starting with night classes so you don't have to give up your day job (something online, maybe).

    The other, possibly best option in my book, is to find a subject you're interested in deeply that has an open-source project associated with it, start building it, look around, and use your talents for engineering and management together to help the project out. If you know how to create docs, do. If you know how to created lists of features that are organized well, do. If you know how to code in that language, or want to learn, pick a small feature you'd like to see, and do it, submit the code. Importantly: DON'T GET DISCOURAGED IF YOUR CODE SUCKES TO BEGIN WITH. It probably will. The project may not accept your code, but that's fine. Think about why it worked, or didn't, and do it again.

    Most important is to find your PASSION. What excites you? Learn about it. If you know lots of things and want to share, try contributing to Wikipedia.org, or Wikibooks.org, etc. If you love teaching one on one, there's lots of volunteer organizations you can try it with, but beware that it can have lots of tedium, too.

    Like the weather, everyplace has just about the same amount of suckiness. The trick is to find which place lets you do the things you most like to do regardless of the technical, management, and emotional overhead costs ('weather').