ProgrammingThis forum is for all programming questions.
The question does not have to be directly related to Linux and any language is fair game.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
Hello!
I am doing BS(Hons.) Computer Sciences. Almost the majority of folks around me dive into Programming through .net or Java platform but I want to shape my career as not Java/.net programmer but as Linux programmer but don't know how to let it happen. I am now at right middle of my BS degree and want to prepare from now.
Learn the useful stuff: shell programming (BASH, Korn, whatever), standard utilities (like sed, grep, and others), awk, C, C++, everything you can learn about networking, system administration, SQL and data base design. Maybe throw Perl into the mix. Avoid things like Eclipse while you're learning -- it'll pay in the long term to know what you're doing (and why) rather than knowing how to use an application somebody else came up with.
If you're interested in web design, learn HTML (yes, the actual language, not how to use some WYSIWYG thing to produce a page), Javascript wouldn't hurt, PHP would be a good thing (along with SQL and data base design).
Java is just C++ without structures and pointers, so... (there will be an argument about this, but, yeah, Java is just C++ without structures and pointers). Learn C++, then migrate to Java if you find it useful for something (and, unless the folks that pay you insist, you probably won't find it too useful for much of anything).
Learn everything you can about how the operating system works, what all the utilities do (and why), study good and bad code written by others, use your imagination and keep digging until you understand. At the same time, don't tackle everything at once -- take it a step at time and fold in new with the old as you go.
Oh, yeah, don't laugh and Windows power users, it upsets them.
Learn the useful stuff: shell programming (BASH, Korn, whatever), standard utilities (like sed, grep, and others), awk, C, C++, everything you can learn about networking, system administration, SQL and data base design. Maybe throw Perl into the mix. Avoid things like Eclipse while you're learning -- it'll pay in the long term to know what you're doing (and why) rather than knowing how to use an application somebody else came up with.
If you're interested in web design, learn HTML (yes, the actual language, not how to use some WYSIWYG thing to produce a page), Javascript wouldn't hurt, PHP would be a good thing (along with SQL and data base design).
Java is just C++ without structures and pointers, so... (there will be an argument about this, but, yeah, Java is just C++ without structures and pointers). Learn C++, then migrate to Java if you find it useful for something (and, unless the folks that pay you insist, you probably won't find it too useful for much of anything).
Learn everything you can about how the operating system works, what all the utilities do (and why), study good and bad code written by others, use your imagination and keep digging until you understand. At the same time, don't tackle everything at once -- take it a step at time and fold in new with the old as you go.
Oh, yeah, don't laugh and Windows power users, it upsets them.
Best of luck!
Could not have said it better. I would only add find a cheap, dedicated test system, so you can try things out.
Arguably, outside actual kernel development there is no such thing as a Linux programmer, because everything else runs on multiple OSes. Pretty much the only long-term mistake that you can make as a programmer is tying yourself to proprietary stuff like .NET and Oracle. It seems to be fashionable to talk down Java, but it is cross-platform, well-supported, becoming Open Source, and Sun are committed to making it an effective runtime for dynamic languages - JRuby is actually in a couple of shipping products and on a few production Websites already.
Also, given Linux is a Unix work-alike, don't refuse the opportunity to work on of of those if it comes up.
I've done a lot more time on commercial Unix than Linux (of course Linux wasn't an option till recently...)
Well, the problem is that I have fallen in love with FOSS and wanna make this passion part of my work[that I've to do for earning livelihood]. But the most of the opportunities in SW market here are for people having their 'Skill Box' full of Java/.net expertise.
I have gathered some Linux administration skills in my box along CCNA[just for the sake of my interest not part of my BS].
I want to clear my hesitation in choosing career as "Application Developer" working on a Java project. It's also interesting for me but what if I get some work tuning back end services in a network playing with Linux boxes
Your exact qualification only really matters for about the first two or three years, so you shouldn't worry too much about it. After that, your career path will be shaped by the actual skills that you have, your own interests, and who you know.
This is particularly true of administrators - if you have any IT job in an organization and are interested in system administration then you will tend to end up doing more administration tasks until eventually someone will make it your official job. There is no qualification today that can give you the full range of skills, and very few organizations will trust an inexperienced person whom they don't know with critical administration roles.
If you are interested in networking and system administration, remember that for many businesses the critical applications that they buy Linux servers for are Java network or Web applications, and focus your studies that way. If you understand how these applications work, how they are deployed and maintained, and can write code for them then you have enough to get your first job. After that, you will find that you naturally do more projects in areas that interest you, and less of things that you do not have an aptitude for.
EDIT: Consulting firms will hire IT graduates as trainees for specialist security and networking roles. You cannot guarantee such a place, but if you can get some relevant work experience of any kind to go with your CCNA, you can maximize your chances.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.