Hello guys :)
I've been here for a while and I really appreciate the help you gave me. So I wanted to thank you for the time spend on my sometimes silly topics. :)
Anyway, there are some questions in my mind that I'll be glad to clear and are not directly connected with the programming. And maybe it's not the right forum to ask them, but...
I live in Europe, currently I have 2 years of experience with Java and C++, and a few projects.
Soon I'll have to choose were to get my university degree and... at all, do I need it.
So I'm turning towards you with the ask of advice. Tell me your opinion, where are the best universities in this area ? In the U.S.A, or in Europe ? Where you think is best for a developer to live ? Where are the best salaries ? A friend of mine told me that in the U.S.A the university degree is not a must. Another one told me that it's the best place for a developer to live, with great salaries.
What do you think, do a developer need a diploma to succeed in his company ? Are the companies hiring only ones with a bachelor/master degree ? Do we need them, or do we need master at all ?
What do you think about the people and the lifestyle in that country ?
I have many questions, thought, I don't know who to ask. And you know, the proper information gives the right to choose.
Developer salaries are typically very high here in the US. A degree is not required, but it sure helps. If you don't plan for a degree you'll need to provide a portfolio of some very complicated work in order to get in the door. A certification (however worthless people may feel they are) will increase your chances of securing an entry level programmer job. While a masters is great to have, many companies prefer a bachelors simply because in the time it takes to obtain a masters, you could of obtained a bachelors and 2-3 years of hands on experience. If you go for a bachelors, work on the masters on the side while you work on your career. Most of the best universities realistically are in the US, but I'm sure people will argue the fact. If possible, I recommend working on a bachelors simply because you will gain a variety of skills. Even if you only plan to program in C++, it makes you that much more of an attractive candidate.
As far as the people and lifestyle......... US corporate america is probably the worst on the planet... quite frankly you are nothing more than an expendable cog in the great corporate machine... if you fail.. they replace you easily with the same model or perhaps a newer one. Personal life typically does not blend well with corporate american unless you manage to get in the door with a european based company say... assurant or some other monsterous company. You will spend most of your life in the US trying to succeed and battle the other 60 million materialistic and crazed lunatics vying for control of the office, your kids, and of course the damn roads :). Aside from that, the US has incredible opportunity for one to succeed both in their career and personal life. So if your trying to weigh your options, don't simply consider the high salaries here... while they are high... you get clobbered with cost of living.... hope this helps lol.
Here are three reasonable plans for me. If I were you I would go for plan A.
Plan A. Study computer science and work as a programmer in the same time. University location/name doesn't matter - choose the one closest to your job location. University life is awesome if you have a programming job in parallel. You will have money and no problem to find yourself a girl (or a guy), you will have lots of fun. If you will take exams easily (however, you might not have top grades), and you will be enjoying where others are struggling.
Plan B. Dedicate yourself to studying computer science full time, no job in parallel. Worth it only if you want to do theoretical work. In this case choose the best university in your country and study hard to get in. Better than going to the US, you don't want to get stuck with a high education loan, especially if you want to be in the academics.
Plan C. Don't go to university at all. You might lose some of the fun out there! However you will be richer for the first 10 years. Might or might not be best if you plan or making a great career and be rich.
Thank you for your answers, guys. They'll definitely help me.
My country is not very big and rich, it's in Europe. I wonder if it's worth it to go to some university in America or England, or some other big country.
Or just to take my education in my country, both bachelor and master, and work on career all these years.
I'm only 15, so don't take this to be neccessarily good advice, but this is what I plan to do:
Self-learn python, C and C++ for the next 3 years (until I'm 18); take a course in python and C++ (just to have something to show for it, like a BA as tition said), get a small-time job programming on my days off or something (I already know of a place; I just finished 2 weeks of work experience there and they seemed kind of impressed; I made a form with PHP so that they could do their paperwork online. Also they only have one programmer (a Java developer), so I could probably get a job there.) and then after University I'll start freelancing or something. I hope it works out, anyway.
I agree that experience > education; being taught by a teacher, in my opinion, would only teach you to write programs in a particular style. Also, you've got to do projects that they specify, meaning you have very little freedom and creativity; whereas with a tutorial, you have no deadlines to worry about, and you can take it as fast or as slow as you want.
I can only speak for what I've seen where I live, so don't assume it applies where you live, but it very probably does.
Employers are only interested in one of two things: that the applicant is a graduate from a relevant career (e.g. computer science, systems analysis, software engineering, etc.) or is in the middle of one, and the work experience in a given language. Except for buzz-wordy things of the kind that you only took a class to have something else to put in your resume, and stuff like computer repair, certifications of any kind are ignored.
If you need to take a course, then take a course. If you want to take a course just to show that you've taken it, then don't waste your time and money.
As for which careers, consider this. 90% of the jobs out there (where I live it's very close to 100%) are to maintain a run of the mill accounting software written in whatever was new and shiny at the time (nowadays it's .NET and some Java here and there; ten to twenty years ago was C++; before that, I'm not sure, and before that was COBOL). Of the careers I mentioned above, take whichever you like. Normal people (remember you're very unlikely to be hired by another programmer) don't know the differences between those three, so all they see is "this guy probably knows his stuff". And you actually do. You don't need a degree in computer science to write the kind of software you'll be writing.
Well, if you self-learn C++ and then try to get a job using it, they're going to ask what proof you have that you know the language well enough for the job. If you've got a BA or an MA in it, then you've got that paper to show you have learnt the language well enough. If you've not, then you'd have to bring in a schmorgasbord of complicated programs to prove that you can do the job.
The kind of thing I want to do would be more like working for a company like Microsoft or something (but not microsoft). Maybe IBM...
Then I'll get so good I'll program jets and tanks and they'll take over the world.
Yeah...
Well, if you self-learn C++ and then try to get a job using it, they're going to ask what proof you have that you know the language well enough for the job.
No. They ask how much experience you have with it (be it professional or overall).
There are exceptions (Google paula bean), but normally you wouldn't try to get a job that requires three years' experience in C++ when you don't know what a pointer is. Some companies ask for references to verify your experience.
Now, a typical course in anything is between 50 and 160 hours (that would be every weekday from 9 to 5, for four weeks). In comparison, the same schedule for three years is 6260 hours.
Well I just did 9-5 for two weeks (work experience, it was quite dull though); I think I can do four.
And I do know what a pointer is... =[
Sort of. It's the -> and *this operators I haven't learnt yet. I only know of the "this" you got with JavaScript; to reference the object (for example rather than submit document.username as a parameter to a function, you'd pass (this) instead; or this.value or something like that). I'm hoping they will be similar, but I think it's unlikely.
From what I think I've learnt (pointers seem to be one of those things for me; something I can't grasp in one sitting, which I need several goes at to understand); if I want, for example an integer variable named... var1 to be equal to the address of a pointer named point1; I would use int var1 = &point1. I think. And if I want var 1 to be equal to what is pointed to by point1, I would use int var1 = *point1. Again, this is what I can remember. I'll have another look into pointers now.
Well I have 3 years to figure all of this out. I hate to say it, but I'll cross that bridge when I come to it.
I think in some cases procrastination is justified.