View Single Post
Old 11-08-2004, 04:17 PM   #4 (permalink)
Stompy
Banned from being Banned
 
Location: Donkey
Personally, I don't have a degree and I'm a self-taught programmer of 8 years, and I can't even begin to tell you the amounts of people fresh outta college with their CS degree that I've had to train - the "programming" classes they took were just syntax cram sessions where they created absolutely nothing of use - just things to calculate math equations and whatnot. While it gives you an example of how to use the language, things like that hold no place in real world jobs.

It's not that they didn't know anything about programming - they did, but, like I said, it was mainly all syntax and very basic design (basic OO, DB structures, etc). What was lacking was the general understanding of how to apply it to a practical use.

It's VERY hard to generalize in a single post exactly what you need to know, but the most common languages and platforms that companies use are frameworks like Java and .net, scripting like PHP, ASP, Perl, and desktop applications using Visual Basic or C# in .net along with a database of sorts (SQL Server, MySQL, Oracle, etc).

There's many things from desktop application design, to web applications, to backend applications that handle data processing, so on, so forth.

There are your more "complex" jobs out there that are done in c/c++, but usually you'll need a good few years of real experience before you'll even remotely touch those jobs.

There's other aspects like teams where the coding is split up into different areas - for example, one team does user interface, the other does back end modules, or one team designes the HTML/ASP while another does the database structure, etc - that you'll learn how to work with in time.

A lot of places use databases - so knowing how to properly create the right data structure is yet another skill you'll gain over time. You can get the basics (like indexes, etc) from school, but when you put everything together to get a task done is where the real world experince comes into play. For example, maintaining a database with many millions of records while at the same time creating queries that return results in the least amount of time because of the proper tinkering of indexes, foreign keys, data denomralization, etc..

There's things like general troubleshooting and debugging that you'll pick up over time.

But in all, you shouldn't have trouble finding place to pick ya up and train you a bit. Once you spend a week or two understanding what that company does, you'll get the hang of things.

After a year or so (depending on how things go), start looking elsewhere to expand your experience. Maybe go into e-commerce application design, or go work for another company that does something almost completely different of what the company you work for does.

Also, spread out your knowledge in languages until you find one that suits you best. Personally, I find c/c++ entirely way too tedious to do anything worthwhile in. Very difficult to maintain, so considering the company I work for now mainly uses Windows server platforms, I choose asp.net (c#).

I also do desktop application design at the same company, and while many people knock it, VB gets the job done (although I do want to rewrite our apps in C# using .net).

If you work for a company that uses Unix, you'll probably be comfortable working with something like perl or java.

Keep in mind there's more than one solution for a job.
__________________
I love lamp.

Last edited by Stompy; 11-08-2004 at 04:20 PM..
Stompy is offline  
 

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76