ProgrammingThis forum is for all programming questions.
The question does not have to be directly related to Linux and any language is fair game.
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.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Introduction to Linux - A Hands on Guide
This guide was created as an overview of the Linux Operating System, geared toward new users as an exploration tour and getting started guide, with exercises at the end of each chapter.
For more advanced trainees it can be a desktop reference, and a collection of the base knowledge needed to proceed with system and network administration. This book contains many real life examples derived from the author's experience as a Linux system and network administrator, trainer and consultant. They hope these examples will help you to get a better understanding of the Linux system and that you feel encouraged to try out things on your own.
Click Here to receive this Complete Guide absolutely free.
Programming jobs as such (in the conventional market) can be pretty dull and non-innovative because programmers are generally not called upon to make design decisions.
Since you don't appear to want a 9 - 5 regular job then I suggest you pursue higher studies (PG or doctorate) if you haven't already. More career opportunities open out for you.
You get a better start to your career at a higher level and you can be more creative.
Don't judge a programming job by the way you enjoy coding on your own. Jobs can be extremely demanding in the programming line and you might not get too much creative license if you work under somebody who tells you what to do.
I have been a software engineer for about 15 years now. Having been a consultant/contractor for 10 of those I have had the pleasure of meeting many people like yourself in the process of deciding which direction to go or to do it at all.
I can say fist off that it is a VERY sedentary job. You sit all day. Unless you are like one of the guys I work with now who props his machine up on a stand and stands there working :-)
You will have to do other things in your life to be active if you choose software dev as a career. Also don't be mislead that it will be a 9-5 jobs all the time. Software engineering is still a "young" industry in relation to many others. So there are a lot of poor decisions that are made which usually ends up on the developers shoulders to get things done on time. That translates into some late days/nights writing code. It should not be a constant thing, and if it is find another place to work, but it is surely not a STEADY 9-5 type career. NOTE: I don't know ANY career that is, only some JOBS. :-)
As someone said when you first start you will most likely not be asked to design the apps, although I always involve the junior guys in design so they will build the skill. As you gain experience you will be more involved in the decisions revolving around design. Also as you gain that experience you will get more and more involved in the other decisions that come with development, environment, technologies used, etc.
If you like creating things and solving problems it is very rewarding.
As for which direction... I'd have to ask what is your goal?
If it is to have a career and make money I would say pick up .NET ( C# ) or Java. Those are the two big hitters out there right now. Also if you always want to be "employable" pick up C++. There is always work out there for C++ developers, on different platforms.
In general learn as much as you can. Knowing assembly for example has helped me on many occasions as well as C, C++ and the other higher level languages that I know. You will most likely "settle into" one language/arena in the end but having a good understaning of multiple languages will help you.
If, as you say, you are interested in the "web" side of things you can have a great time of it also. That depends on how much of the creative ( GUI ) type development you like. There is a lot of GUI development when it comes to web development. HTML, XML, XHTML, and all the other "ML" languages out there are the basis there. Couple that with .NET or Java again and you will have a good career.
If you decide that you don't want to "sit around" all day :-) and just want to get into software dev for your own pleasure then the door is wide open. You can pick up C and/or C++ and do a lot of open source stuff, right down to contributing to the linux kernel. You can pick up some MS technology or java and have fun with that also.
It is a good career for the right person and no one can tell you if you are that person or not for sure. You will have to be the one to make that decision.
In general it is a good profession/career for the right person and can be very lucrative as well as fun.
I'm just leaving high school to go to college to gain qualifications in order to get onto a University course in software engineering... I've recently began teaching myself C and C++ programming in my own time and just love writing code. Though the programmes that I write are not exactly useful in any way at the moment, I love to throw the text book aside and challenge myself to write a program including the things that I have just studied. I think that you should think about the enjoyment that you get out of writing the code etc, when thinking about a career in it. Can anyone tell me how they began programming, were you originally self taught or did you learn through a degree course?
Short answer: If you like to program, and you like to solve problems, go for it.
That said, I have to agree with several previous responses that programming is a fairly sedentary job. You do not necessarily always wind up at your desk or in a cubical, but it is not really a physical discipline.
As far as 9-to-5 goes-- there are programming jobs like that. There are also jobs where your physical presence is not required. You can log on from the beach, do your work remotely, and as long as your projects finish on time, your superiors may not care either way. Situations will vary.
I started out doing consulting work for ERP systems right out of college. I ended up flying out to a customer site and programming during the week, then fly back home on the weekends. After a while, I got tired of that, and joined a local software firm doing development work on administrative software for schools and local governments. That was OK, but I found I really didn't care for it as much as I thought I would, and I transferred to a customization department within the same company. Now I tailor software to individual school's needs, and we spend a lot of time doing data conversions from other systems to our systems. A lot of people think the data conversions are really boring, but I actually like doing them. They are not always easy, but if you treat them like puzzels, I find that most of them can be solved a lot easier than you would think (mostly with a mix of standard shell tools and some database specific tools).
I also found out that I like calling up customers and helping them with their problems directly rather than "programming in a vaccuum".
Last edited by carl.waldbieser; 09-18-2005 at 10:42 PM.
All through high school I intended on going into CS or electrical engineering until one day I took the 8 hour Meyers-Briggs personality test. I took my test results to my career counselor and asked out of curiosity how they lined up with my plans. It turns out that I have the opposite personality of 80% of the CS career field. This got me thinking and made me realize that although I like to program, I don't like following rules and there were a lot of other things I was interested in that I didn't think twice about because "I was going to be a programmer". I think that was one of my best decisions; not becoming a programmer even though for a long time I thought that was what I wanted to do.
I might be biased because regardless of what job I have I don't like being restricted or being told what to do. By having programming as my hobby I can do whatever I want or just do something else altogether. I think in a lot of cases doing something you see as a creative outlet in a structured environment for a living somehow taints your creativity.
I still pursue CS studies once in a while, but I know I'm not one to follow policies and enforced styles, so I just program independently and give my stuff away for free. Again, I don't know if I'm the one to listen to because I don't have a "5 year plan"; I just try to do everything in a way that leaves me the most options at any given time, then select the options that are best when the time comes.
I'd say take several personality tests to see what the natural tendencies are for your personality. Sounds kind of silly (like horoscopes and all that nonsense), but having your friends make fun of you for taking a personality test is a small price to pay for finding the right career.
PS If it isn't obvious, I plan to go into a psychology related field.
You cant automatically assume that your hobby or intelectual interests will be suitable as a job for you. Interest in the subject or in a subset of your presumptive job description is not neccesarily enough. On the other hand most jobs where you have a chance to be creative and feel listned to with the occasional challenge can be fun if you tackle them the right way. Im sure being a programmer is a very different job depending on your employer or exact job description. If i were you i would try and call up some companies and go for a visit if it is possble.
As a note i just dabble with the occasional programming language for fun. My job is in no way technical.
1. Find what you like and do best. (the hardest part)
2. Compare the salaries and time to get certain amount of money for the jobs you are good at and like them.
3. Imagine you're doing this for a loooong time (how will you feel after working for let's say 10 years).
4. Check what is connected with your choice: maybe you'll have to move to other town etc.
5. Decide and GO FOR IT !