Slashdot is powered by your submissions, so send in your scoop


Forgot your password?

Starting an Education in IT? 425

AriaStar asks: "It's overwhelming to start trying to learn all the different technologies needed to go into programming. It seems that every type of technology assumes knowledge of a different one, which in turn requires knowledge of another, until it's gone full circle. I am interested in everything from Unix to AJAX to Perl. Things like HTML, Javascript, and SQL are like English, but then again, they're basic. Where is the best place to start? What is a good path for someone who learns quickly and easily, but who is simply too overwhelmed, to take?"
This discussion has been archived. No new comments can be posted.

Starting an Education in IT?

Comments Filter:
  • look under the hood (Score:5, Interesting)

    by icepick72 ( 834363 ) on Saturday May 27, 2006 @10:35PM (#15418623)
    There's a lot to look into, but whatever you learn, take the time to figure out what's actually happening under the hood, especially if you use RAD tools. There are two groups of people: those that know how it works underneath, and those that don't. Those that do can output much more wonderful things. Certifications are a good way to make yourself get under the hood and truly understand.
  • PHP (Score:5, Interesting)

    by darkain ( 749283 ) on Saturday May 27, 2006 @10:44PM (#15418667) Homepage
    Personally, nowadays I'm giving people PHP as their first language. Well, first PROGRAMMING language. HTML is fairly easy and simple to understand, so giving them basic assignments of doing text output (like number generators for example) in PHP is a nice begining.

    Part of the reason I prefer to give people PHP, is because quite a few web servers support it now. Another reason, is because you don't need a compiler. The next would be the simplicity of string manipulation. And from there, you can get people into basic file handling and other things of that nature which will carry over nicely to other languages.
  • Best way to start... (Score:4, Interesting)

    by citking ( 551907 ) <jay@cit[ ] ['kin' in gap]> on Saturday May 27, 2006 @10:45PM (#15418671) Homepage to work closely with people who already know the stuff. Let me explain:

    I went to college for psychology and criminal justice. Since I was paying my own way, I went around looking for jobs. I tinkered in PCs before and was willing to learn anything, so I applied for and got accepted to a job with our ResNet (Residence Hall Network) department. All I knew at that point was installing Windows, some network stuff, and other odds and ends with computers.

    We had a small team, probably 14 students in total and had a non-techie but very nice and open supervisor. We were given specific areas to work in given our strengths but there was absolutely no problem with teaming up to learn something new.

    When one of the students left, leaving a half-finished VB project, I decided to try and tackle it. Working closely with my friend Sean, we worked out what was done and what needed to be done. Any resources I needed were supplied by other staff members or my gracious supervisor. In the end, I learned a whole new programming language (albeit, not the one that many Slashdot geeks are friends with). I worked with our web dev guy to try and learn PHP and Perl (I failed miserably) and worked with another guy to learn about imaging. I talked with the university's network admin about how routing worked, Novell stuff, whatever.

    In the end I picked up so much that I decided to pursue a career in IT. Now I am a helpdesk manager, I love my job, and I try and emulate my old supervisor as much as possible. I learn a lot from my students (my latest challenge is ASP) and I try and teach them what I know in return.

    Just like the OSS community I feel bound to take what I've been given and pass it on to others. I'm not certain what your particular situation is, but I think surrounding yourself with people who know the technology, languages, or protocols goes a long way to staking out your own learning experince.

    Don't be afraid to hit the local library either. They usually have the latest books (for some reason the latest PHP/MySQL book is always available!) Ask a lot of questions, and don't be afraid to set up a sandbox and just play. Last bit of advice: Don't get frustrated. I can recall many times when I was against a wall with some weird configuration problem or what have you only to find the solution after using Google or taking a walk.

    Good luck!

  • structured code (Score:3, Interesting)

    by Borealis ( 84417 ) on Saturday May 27, 2006 @11:35PM (#15418827) Homepage
    I don't truly believe it matters what you wish to learn first. Pick one and learn it, and all the rest will be easier. Much like learning a spoken language, once you know a few it gets to be easier to learn new ones. The analogy is true even to families of languages. Iterative languages tend to have common features that are distinct from recursive languages. Web based languages tend to ignore whole facets that form the bulk of some other languages.

    The one thing I do believe strongly is that once you learn a few of the programming languages, you take the time to learn structured programming and design. You don't truly realize how important it is until you learn it and then have to go back and try to maintain code written by some guy who taught himself Visual Basic and thinks he's uber programmer because of it.

    Seriously. The code you make after you learn structured programming and design will take about half to a quarter of the effort to maintain. The only problem is that you sort of have to learn to do code in the first place before it'll make any sense.
  • Why IT? (Score:5, Interesting)

    by pipingguy ( 566974 ) on Saturday May 27, 2006 @11:52PM (#15418875)

    Consider "real" engineering (mechanical, civil, even electrical). Many old-timers in these professions are retiring/have retired. Based on input from my discussion group, there are not enough people getting into this field to replace the out-goers.

    With the current generation's "pre-installed" computer knowledge, we need more people to get into the traditional engineering disciplines. It's hard and you might not be in an office every day, but this is going to be a booming area soon.

    If you have highly-developed computer/programming skills already, all the better.
  • Re:Where to start (Score:2, Interesting)

    by Marxist Hacker 42 ( 638312 ) * <> on Sunday May 28, 2006 @12:05AM (#15418909) Homepage Journal
    I still say assembly- there's a darn good bit of understanding you get when you're programming every memory location manually.
  • Re:Why IT? (Score:3, Interesting)

    by ADRA ( 37398 ) on Sunday May 28, 2006 @12:26AM (#15418951)
    Maybe there's a reason there are shortages in these fields. I have known dozens of engineers that ended up getting jobs in software development.

    I don't know why they didn't take a job in their field. Maybe the jobs are crap, maybe the pay just isn't worth it. Maybe the engineers are so old and wise that there are too few people graduating who can take up the slack?

  • Re:Where to start (Score:3, Interesting)

    by Ulrich Hobelmann ( 861309 ) on Sunday May 28, 2006 @05:03AM (#15419598) Journal
    Add Standard ML to the list. Everyone should know about functional programming with variant datatypes.

    It also has a good book on compilers, another topic any serious CS guy should know about (Andrew Appel's Modern Compiler Implementation in ML; avoid the Java one, it only shows how to get the ML stuff done in Java with three times the code).

    Alternatively some people prefer Haskell, which grows more and more popular [], and arguably has a nicer syntax.
  • Re:Why IT? (Score:3, Interesting)

    by dbIII ( 701233 ) on Sunday May 28, 2006 @06:00AM (#15419702)
    Consider "real" engineering (mechanical, civil, even electrical)
    Good point - you can alway move into IT later when your Masters project simulating something just turns into a computationally expensive random number generator run on a supercomputer.

    Oddly enough a mechanical engineering subject based around optimising models of dynamic systems to run on analogue computers gave a surprisingly good insight on how to write code in a lot of different situations. Also after milling machine G codes the hairiest regular expressions are not paticularly scary.

  • Re:Why IT? (Score:3, Interesting)

    by RPI Geek ( 640282 ) on Sunday May 28, 2006 @02:14PM (#15421119) Journal
    With the current generation's "pre-installed" computer knowledge, we need more people to get into the traditional engineering disciplines. It's hard and you might not be in an office every day, but this is going to be a booming area soon.

    I graduated from RPI last year with a dual BS in Mechanical Engineering and Computer Science. As such, I looked into the job market for both of these areas. A number of things drove me towards IT rather than engineering, but the two biggest were money and time. Let me explain.

    Money: I was very lucky because my uncle is a consultant who does IBM Tivoli installs & maintenance. He was willing to teach me Tivoli so that I could do the same. In return, he would bring me along on his contracts whlie I was learning and have me help him with them while taking a cut of my pay for teaching me. His eventual goal was for me to take the certification exams and start getting my own contracts within a year (his timeframe was off by a bit, but things are still progessing).

    Now that you know the backstory... So long as you keep current with Tivoli it's not hard to find jobs that pay >$100/hr. Comparing that to starting Mechanical Engineering salaries, and considering that I don't have a strong preference for either job, it's not a hard choice. I'll admit that I didn't take your shortage of Engineers into account, but the projected salaries for that field just didn't compare for even 5 years down the road and then other factors influenced my decision.

    Time: There's a lot of travelling involved, but I think it's a perk to go see new people and places all over the country (and in other countries if I ever feel like it). After the travelling, it's typically remote work from my home computer on my own timeframe until the contract ends. A 9-5 in a cubicle with a commute and 2 weeks vacation just doesn't compare to that. I can travel, and as long as there's internet access I can work an hour or two each day and get ahead on my work. I can go to the bank and the DMV when it's open without taking time off work, and I can schedule my errands for when there's no traffic. The hardest part is disciplining myself to work, but it's not an insurmountable problem.

    In a few years if I get tired of consulting and there's a huge demand for Engineers as you say, I'll pick up my textbooks to brush up on what I've gotten rusty with and go get an entry-level 9-to-5 with a steady paycheck. In the meanwhile I'll go see the country on the client's dime.

"If the code and the comments disagree, then both are probably wrong." -- Norm Schryer