ok, thanks i hope you are right!, but as for people who are saying google itself recive 50,000 resumes / month " that was before 2 years"
anyway, i'll do my best; stdudy, and get my degree and ..:rolleyes:
Printable View
Based on 30 years experience. Depends if you want to be part of a big team or work independently. I'm much more of a work independently kind of guy and small companies usually present that kind of environment. As I said, big fish in small pond is usually more rewarding than just another cog in the wheel. I come and go as I please, own quite a bit of stock in the company, get 6 weeks vacation, really don't report to anybody or have to account for my time, and make quite a bit more than a typical big company would pay. All I have to do is keep our software running and everybody is happy.
There is no such thing as Mastering C++. Not even the creator can remember all the functions he added. Which is kinda sad to be honest. There are over 1000's of functions. I know quite a few thousand but it's very very difficult. Take your time. You dont need to "Master" it. You just need to learn the basics and advance from there.
I didn't say anything about starting my own company, although I have.
You expressed surprise that a lot of us don't work for the big companies. All I'm saying is smaller companies are more rewarding to some of us. It's much harder to get noticed in a big company, you'll spend a lot more time in meetings, there are way more levels of management that really impede progress, and you tend to get pigeonholed into a certain category based on years of service or education rather than actual accomplishments.
I prefer to work alone rather than as part of a development team, and I prefer the leaner, maverick, get it done attitude of smaller companies, rather than the much slower paced, more timid approach a lot of big companies tend to take.
All I'm trying to do is explain why we don't all work for Microsoft or IBM.
your vision is pretty much ok !!
There is no guarantee that you will be working with C++, as you will be meeting the demands of your employer. C++ is a safe bet however, since knowing C++ well means that you know OOP along with a lot of concepts that you can carry with you over to Java, C# or whatever you do at work.
There is nothing sad about being honest with your ability to remember details or your level of competency. After all one of a programmers primary skills is the ability to reference. So not knowing it all is not an end-all. C++ is very broad and there are other languages that have a limited scope in comparison, where there are fewer excuses for being less knowledgeable.
... and you may add as many functions your muscles want, without telling a word to the creator.
No need to confess either to Bjarne Stroustrup or ISO C++ Committee. :D
[ Later edit ]
BTW. The creator of STL is Alexander Stepanov.
C++ is a great starting point in my opinion but beware ! The learning curve is very steep (especially when you start moving into templates etc).
For instance if you know (and I really do mean know i.e. down to how memory for structs, arrays, vectors etc is arranged) C++ then moving into C# is a snap if it usually takes people a while to adjust to the .NET way of doing things with garbage collection etc (I know I took a while to see the benefits).
Working for small companies definately gives you the best environment to work in.
Generally you can just get on with things with no code reviews etc.
This can either be good or bad. Good in the respect you don't have to report to anyone or justify yourself much but bad in the fact that you can develop very sloppy programming habits which then come up and bite you later on.
They don't pay very well either...
Working for a large organisation (I work for a bank) is a tough environment. It's very unforgiving, you're expected to justify all your coding decisions and morale tends to be quite low.
However they do pay much much better than small companies and are more open to contractors (which is where the real money is).
Starting off in a small company is my best advice. That's what I did and then progressed upwards.
Darwen.
A lot depends on your mindset. Some people are very good at learning theoretical stuff without necessarily needing a practical application to work on. Others (I'm one of them) need to have a practical use for something before they can really get to grips with it. I taught myself to program only because I had some practical problems I needed to solve, so it fell into place very quickly. I don't think it would have made much sense to me if I'd learned it at college or just by reading books (although I did read a lot of books).
I was exactly the same at school. I totally ignored logarithms because I couldn't see any point to it. After I left school I got a job as a sound engineer and quickly realised that a lot of things in sound (amplitude perception / frequency perception etc) occur logarithmically. Once I understood the reason for logarithms the whole thing just fell into place.