I'm thinking about going into IT...Anyone want to answer my questions?

Well, I don’t know if this is IT per se but this is really been bugging me a little bit lately. I’ve been getting consitently geekier and geekier with my computer persuits lately. To start off, I’ve been using computers for around 12 years. I know my way around XP pretty darn well. Obviously I knew 95 and the others better. They were much simpler! But anyways. I’m one of those guys that really appreciates technology.

I also like solving computer problems. There’s nothing more disappointing for me than to do a computer upgrade with no bugs to work out! I remember the first time I replaced a hard-disk with Norton Ghost, and I was disappointed at how easy it was. hehehe.

But to get to the point. The reason why I want to get into IT is because first, I think its a good opportunity for the future. Somebody with such high-level computer skills is always in demand. Even better still is the fact that they can work just about anywhere in the world. That’s really cool. Secondly, I want to code.

Yeah, that has to be the dorkiest desire in the world right? But yeah, It just seems like it can be really rewarding. Seeing your creation work right, etc. I think I would enjoy it at even the most basic levels if I did it right. Why am I interested in coding?

Well, recently I started to become in the Cell processor, which led me to wonder about the architecture of the x86 PCs etc. I sort of learned how a processor works, and what a compiler does, etc. This is all really interesting to me now. I think I’d like to be able to be a part of some of this. Also, I’ve been doing a lot of reading about how the Mac was made, etc, and it seemed interesting too. Well, you get the point.
So a career in IT, right? Well, its a little too late…I’ll be graduating very soon, and its kind of pointless now, right? But is there any way I can develop these skills on my own learning by myself? Again the point of this is to be able to get a job. I don’t know how much credence people put into formal education in the IT world. Maybe none, maybe a lot. But I want to know if I could develop such skills on my own in a way that would allow me to open up these opportunities.

Finally IT is a broad term. I suppose my answer could be divided amongst all of the seperate sub-braches and whether they require some kind of formal university certificate, or simply work experience or programming experience, etc.

Because I was wondering if I worked on some open source-project for some time and did some good work, would it possibly be enough to get me a job somewhere?

Okay that’s about it I suppose. But if you know of a good way to teach yourself these things, I’d like to know. Also, which language should I concern myself with?

What if the Cell turns out to be something special? Say if all computers ran on the cell in the future, what language should I want to learn then, or what other preparations should I make?
Okay, all of this may seem incredibly naive that I think that I can do all of this stuff, and I mean no disrespect, but I’m not talking about overnight here, you know. I mean a long-term project that would one day, eventually lead me to such a career path. And the main quesiton I’m asking is do I need a degree, and if not, what should I do? I know enough about myself to know that this is my kind of thing, I think. I love understanding and solving problems.

Step 1 is to take a programming class. You might be graduating soon (college, I presume?) but you can still take at least one course. Some of the best programmers I’ve known were math or physics majors, not programming majors.

Acquire the following skills:

Unix/Linux OS
Java (J2EE) with STRUTS
Relational DB (oracle is a good bet)
Data warehousing principals
E-Commerce principals

A few years in the trenches and you’ll be writing your own ticket.

Good luck.

Let us know when you’re ready to hear about the ugly side of IT.

You’re implying there is a pretty side. :dubious:

Take some classes in programming, as was advised above. The best developer I know has her degree in Biology. Experince is far more important than a degree (I have no degree, for example).

It depends on the place. I haven’t been in development for years, but I do know that having some Open Sourced code floating around out there can be useful in getting a job (“I wrote blah and blah, it’s under GPL and you can see it www.blah.blh”). Helps people see what you’re made of.

Well, we’ll soon cure you of that.

Although I share with you your enjoyment of coding, and for all the same reasons, I must warn you that in the Real World you’ll very likely spend much of your time debugging other people’s leftover crapulence, rather than developing your own works. It’s something to consider anyway when you go to that job interview.

Also, there’s a tendency for each work environment to be either (A) hopelessly tethered to the past, depending for its existence on old Fortran, C, or Cobol code (you find this mostly in government institutions), or (B) eager like a puppy to chase after the next sparkly thing coming down the pike — like “.NET” for example, or Oracle 10 — almost oblivious to whether the damn thing works or not, or whether it might be gross overkill for the problems to be solved.

Somewhere in between is a happy medium, which I’m sure must exist somewhere.

I don’t know if my experience is applicable, but my first degree was actually in astrophysics. I was able to switch to computer science later on by taking a few undergraduate courses in the field and then applying to graduate school. It probably helped though that I’d been noodling with computers since I was 12, so programming per se was not really new to me. (Things like algorithm analysis and graph theory were new on the other hand.)

That’s a heavier commitment though than what you might want. A new degree would obviously take a lot of time.

Yes, there’s a lot of variation in the qualifications that are sought after.

Iffy. Perhaps if it were a successful and complete open-source project, and if you could get a good reference from the established leader of the project. And if you could establish how your work for that project were relevant to the job you were applying for.

Whether it could get you a job or not, it’s not a bad way to accumulate useful experience anyway.

Of course the best way to learn programming is to just do it. Write code, watch it fail, bang on it till it works, learn from the experience. Repeat infinitum. It’s good to have a hobby project or two that you care about getting right, and that you yourself find useful or entertaining. Otherwise, when coding, it’s too easy to just give up when the going get tough.

I wouldn’t worry too much about which language you learn. You know about the popular ones in use today (Java, C++, Perl, Python, etc.). Pick one suitable for your hobby and learn all about it. Much of what you learn will cross over to other languages.

Whatever languages and hardware you learn now will likely be obsolete in ten years. In a way that makes things hopeless, but it also keeps life interesting. Cell is far too new to take seriously yet. (I remember when Transmeta was going to conquer the computing world. So far, nada.)

“Going into IT” is like saying “Becoming a doctor” - what kind of doctor? Pediatrician, neurosurgeon, dematologist, etc.?

What sort of IT? Programming/development? (subdivide that into Java, the various flavors of C, databases, etc) Project management? Help desk? Network/infrastructure support? Security?

Each of these certainly share the common thread of involving computers, but are all different paths to take. FWIW, I’m a security administrator, and an education in Java/STRUTS or C++ would be a waste of my time. Flip that around, and if you’re a programmer, an education in the Sarbanes-Oxley Act, the Gramm-Leach-Bliley Act or roles-based access control would be all but useless. It really depends on what you want to focus on.

Novell/AIX sysadmin here, with side specialties of Microsoft SMS, MSSQL, routing protocols and Groupwise mail. I also survived six years of tech support at an internal Helpdesk.

Here is one of the more important things to remember… Down, Not Across. :wink:

This will make perfect sense a week into your first tech support job/development contract.

Okay, thanks for all the replies… One question though. Is it absolutely necessary that I take a class? I’d like to learn on my own if possible. Maybe even on the hobby level, just to see how it turns out for me, but I can understand how you’ll never learn as much or as deeply as with a class, but on the other hand I can think of things that I’ve learned on my own (what I know about computers so far is totally self-taught through learning on my own through documentation on the internet, for example.) and I feel that knowledge aquired in such a manner is almost always more complete though it may take me longer.

But don’t worry. My true desire is mobility and possibly some level of freedom to have the opportunity to be in demand. Most countries have a need for IT people and make it easier for such people to get a work permit, etc. And also, I think what you guys say is true for nearly any job. Basically any job is a lot less glamourous than what you may think of it in the beginning or than what people promise you. Sure become a lawyer. The work of a lawyer is nowhere near the expectations. So the order of importance is 1st, mobility 2nd, adding skills.

The fact that I may be suited to it is helpful too, but I know that work is work. And most of the time it isn’t fun.

But is there no way at all to get into it online? I mean just starting off with the bascic “Hello World” and build up from there…
Oooooo, I almost forgot! I remember about MIT making all of their classes and materials available online. Could that be a possible source?

Okay thanks for the help guys, keep the advice coming!

But anyway, I plan on getting a Mac soon, so I’ll have that Unix to tinker with. I’m excited about that. I am thinking that I’ll start with Java? Could someone recommend some kind of toolkit for me to play around with? I don’t know what I’d need. I think it would probably be the most practical way for me to get into it by adding things to websites. I suppose that would be a good start for a practical way for me to get into things.

But in the end, I just have a feeling that I have the “hacker” mentality. The good hacker, not bad, in case you want to know! I’ve been dealing a lot with Excel lately, and I’m the type of guy who likes to write a complex formula just to get something simple done, you know? I may have a column of numbers that I’d like to sort between positive and negative Although the list may only be twenty numbers long, which would be very easy to do by hand, I still like to write some kind of formula to do it for me! I suppose that’s the write attitude…

But Bytegeist. I am thinking, however that going into web development would probably be a direction that I can get started in and be interested. I’m not too interested in writing drivers for example. But starting off with applets… that wouldn’t be a bad way to get my feet wet, no? I could add them to webpages. I have taken an HTML class before, and honestly I always felt that learning it on my own was always better. What also really pissed me off about my HTML class is that we were learning to do things in HTML that always seemed like it would be better to do with other stuff. I also have done a little work in Flash, and made a flash website before. This was all part of my pathetic attempt.

So from all of that. What would I need to know to become a competitive web designer? I am thinking that Java wouldn’t be a bad place to start.

Anyway thanks for all the tips so far.

[hijack]Novell/AIX and SMS? Isn’t that kind of an odd combination?[/hijack]

When I was younger and I actually enjoyed what I did.

Now it’s tickets, SOX requirements and screens with red alerts all day. And somehow management genuinely feels that this is “progress”. My technical skills have turned into clerical skills, somehow. This seems to be the norm for most IT folks in our company anyway. My next job will NOT be in IT (only if I really, really need the money).

If you are going into programming, it’s truly becoming a Bill Gates world. You better know VB and .NET.

As someone who works for a “Very Big Outfit” and exclusively uses non-Microsoft stuff (Java, Oracle, Solaris, Linux, etc.), that seems like a very foreign statement to me…

Well I am certainly glad to hear there are some survivors out there. I’m going by the help wanted ads.

Need is a strong word. I know at least one developer without a degree. Maybe two. But you path will be much much easier with a degree. As a hiring manager, I would not even consider you without a degree.

Good luck with your career path.

Knock yourself out.

MacOS X comes free with Xcode, Apple’s IDE, with which you can code to your heart’s desire in C, C++, Objective-C, and Java. All the libraries you need are also included. Xcode isn’t installed by default, but look around for it in the box somewhere. In my copy of OS X, Xcode is on a separate CD from the operating system — but I hear now that new Macs are coming with DVDs instead, in which case everything is probably on just the one disc.

You might also want to register for a free membership in ADC. At a minimum, this lets you download updates to Apple’s development tools, which are not otherwise distributed via the Software Update utility — which updates only the operating system and other, non-development applications. Apple also offers their Web Objects technology that you might want to check out while browsing the ADC pages. Web Objects costs a bit of money though, so I haven’t bothered with it myself.

In addition, MacOS X comes with Perl and Python already installed. I’d also recommend installing Fink, which will let you further install just about every Unix tool there is, including many dozens of programming language implementations. (Favorites of mine I keep around are OCaml, Scsh, and Ghostscript, but that’s just my affectation. Not very helpful for your purposes.)

In Web programming, Perl and Python are good for text processing on the server side. Like processing a form, for example, or generating HTML on-the-fly. PHP and Zope might be better choices for this, but I’m less familiar with them. Java of course is good for live content within a page, when you want to write something like a game or interactive puzzle that can be played over the Web.

JavaScript is good for adding user interface niceties to a Web page: having menu choices light up for example, or validating user input. Note though that a lot of people disable JavaScript in their browsers (it’s the technology underlying many pop-up ads), so you can’t count on a wide audience.

And you’ve already been playing with Flash, so you know that system. But the Flash development tools cost money. Not that I’m a cheapskate or anything. I suppose I might be giving that impression in this post. You have to admit though, it is hard to beat free.

Anyway, it sounds like you have a good plan for learning to program. Congratulations incidentally on buying a Mac. Clearly you have the wisdom to go far in whatever field you choose.

ccwaterback wrote

FYI, here are the counts of job postings for California in the last 24 hours on HotJobs with the technologies in question (as search words):

570 Oracle
538 Java
499 .NET
389 Linux
156 Solaris
123 Visual Basic

I’m all for a non-MS world, I’ve been a UNIX guy since the early 80s. It just seems to me the VB/.NET curve is heading up while the JAVA/UNIX curve is heading down, or flat at best. I sure wish it wasn’t so.

Can’t tell where you’re located. But in some locales, the competition for IT jobs can be ferocious, and there are a lot of people with great academic credentials and work experience in the market. The market is not the same as in the heydays of the dot-com. You say you’re graduating. From what? It might be hard for you crack the IT job market without some formal training in CS.