skill set popularity on the job market

Hi all:

I like programming, particularly with C++. I know real programmers will spit on me, simply because programming doesn't rely on a language.

Yes, and No.
Programming is like forming your idea in the brain.
Programming with a certain language is like expressing your brilliant idea to the outside world and make real changes.


If anyone has experience learning a second language, you'll know what I feel. You probably can't comfortably and confidently express what you think in your second language, even if you have the great idea.


It's even more true with programming. Choice of a language can imply choice of a skill set, or even the choice of ultimate place you can go, in the programming world. For example, if you indulge yourself in the C world, you might not have chances to touch AJAX, for example. Instead, you will likely expose yourself to system level programming, such as drivers, embedded systems, etc.


I know as a real programmer, you need to, or rather being willing to, learn all interesting stuff. Honestly, I'm prepared to allocate 10 years to become a real programmer. But the goal needs monetary support. I need to find a job and make sure I'll still be alive 10 years later.



I'm a young programmer, and I would like to start my career with C++/C, multithreading, socket programming, winAPI, or even OS component implementation. But reality seems to suggest that those jobs are for experienced programmers. Relevant employers just seem to ignore students who are about to graduate.

A few friends of mine, who are interested in web development, scripting, etc, have found reasonably good jobs. We're all from a top-10 university in the country.

A potential emplyer wanted me to take a job of a test engineer. It seems to me that they are simply wanting to fill vacancies, and they just don't care the long term career development of job seekers. It makes perfect sense in the market led world, but just don't seem to be helpful to me.


I'm a bit lost, honestly.
In order to find a job, should I switch my focus and try to learn those endless, ever-coming, shallow web technologies? I'm not descriminating against those jobs, I'm justing thinking a real programmer comes from the system. The high level stuff can change easily as IT giants propose new platforms or technologies, but the underlying system works the same way for a long long time. And what's more, that is the REAL thing.


So, please shed any light on my lost mind.
Thanks!
Hi!

I'm also learning programming, but I'm not at your level.
I want to tell you that there is a market beyond mobile phones and PCs. There are lots of real-world things that run on microcontrollers such as process controllers ( eg. http://www.advantagerefrigeration.com/shop/images/P/t_Danfoss_EKC_315.jpg ) or frequency converters ( eg. http://www.controleng.com/fileadmin/images/ce/image_archive/146416-The_VLT_Micro_Drive_s_smart_logic_controller_integrates_the_drive_and_motor_for_optimum_application_performance_.jpg ) , car parts (such as fuel injectors), measuring devices (hand held network analyzer, multimeters with oscilloscope capabilityes and USB ports, hand-held thermometer that prints a log on wi-fi printer).

These are all preety complex, maybe it's not apache server, but that bulky black box has to consider temperatures, voltages, energy, current, and it also has to consider machine utrition and adapt it's control for optimum performance. It also needs not to ever freeze or blow up the process and work 365 days / year - 2 hours maintenance.

I personally am aiming for this field because non-critical adjacent software ( like remote monitoring programs ) are of horible quality and I speculate the entry should be easyer because there isn't any ultra nimble kernel haxxor already working on it.

About the test engineering. ( I switched from field service to QA recently ) And it helps to have real programmers to talk to. Usually you can switch from one departament to another, or at least buy be payed while you look for another job.
Some programmer big-shot refused my CV a while ago and told me that I should have or contribute to an open source project so he would have the least proof that I know any programming.

I hope this helps, please consider all of this as information only, and make your choices by your expericence.
Good luck!
Programming is not exclusive to Computer Science trained majors. When I graduate, my first job expectation was to develop device driver and write some low level code that power hardware devices but the reality shook me up. Employers if given a choice would actually take in electrical or electronics trained engineers instead. They feel they touch hardware more than us and thus when writing code, they can do it "better".

So we computer science trained majors are "relegated" to developing business specific application which is on a much higher level.

I think this is life and we just got to move along. And the last I check, the trend did not change much, most software interfacing to hardware are still pretty much under-taken by engineering trained engineers.
Thank you both for generously sharing your personal experiences! They are helpful.

@nand:
I once took a course in logic design, and found myself not really into it. However, I have to admit that the stuff you mentioned are complex, particularly when the system gets big.


@sohguanh:
Yeah, this is life. Even if I end up with a job doing nothing related to system, I think I'll still sharpen my skills and wait for the best opportunity.


I guess I might want to stop asking myself "what's good to learn", and just go and learn it!
Topic archived. No new replies allowed.