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?"
look under the hood (Score:5, Interesting)
PHP (Score:5, Interesting)
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)
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)
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)
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)
Re:Why IT? (Score:3, Interesting)
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?
Comment removed (Score:3, Interesting)
Re:Why IT? (Score:3, Interesting)
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)
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.