Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

I'm a first year student in CS and I absolutely love programming. Many people have told me it isn't so good once you start working due to bringing your work home (thinking about how to solve problems throughout the day), working many hours when the deadline is near, and so on. I've heard being a system administrator is a less stressful job, since you don't have to worry about it at home.

So my questions are (for experienced programmers):

  • Is it worth becoming a programmer?

  • Does your job satisfy you enough to overcome these problems?

Thanks in advance.

share|improve this question

migrated from stackoverflow.com Feb 18 '11 at 17:57

This question came from our site for professional and enthusiast programmers.

closed as not constructive by Mark Trapp Jan 26 '12 at 23:52

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.If this question can be reworded to fit the rules in the help center, please edit the question.

4  
I've yet to meet a sysadmin that doesn't have a "Beeper goes off at 2:00 am" story. If you're worried about taking your work home, that's not such a good direction to head in either. –  Inaimathi Feb 18 '11 at 18:09
4  
My advice: get into web development, become very good at it, and then set your own terms. –  Job Feb 18 '11 at 18:25
3  
Most of the potential problems you mention are common among all high-level occupations; much will depend on finding a good employer –  Pekka 웃 Feb 18 '11 at 18:54
4  
Almost any job is going to be stressful at times. If it is a job that interests you and you care about, you'll get stressed because you care about doing a good job. If it is a job that doesn't interest you and that you don't care about it will be stressful because it's tedious and boring. As far as system administration being less stressful than development: I've known more than one admin that has had their boss stand behind their shoulder and say "Get this system back up within the hour or start looking for another job." –  Charles E. Grant Feb 18 '11 at 19:06

18 Answers 18

up vote 25 down vote accepted

If you love programming, certainly. As in any field, there are better and worse jobs. But once you manage to get experience, and find a good workplace (which is absolutely possible IMHO), you will get to do what you love, and even get paid for it (and quite well, compared to the population average)!

I do think this is a priceless combination.

share|improve this answer
2  
+1 for getting to do what you love and even being paid for it. That's exactly how I tend to describe my current job. :) –  Mason Wheeler Feb 18 '11 at 18:08
2  
Unfortunately many people don't find a good workplace in their lifetime. If it worked for you doesn't mean it's guaranteed to everyone. –  user8685 Feb 18 '11 at 18:09
1  
@Developer, it isn't guaranteed indeed, but I do believe it is possible. I don't think I am especially talented or super lucky or anything - if I could do it, I believe others can too. –  Péter Török Feb 18 '11 at 18:13
6  
@Developer Art: However, doing something you hate for a living does guarantee that you won't find a job you like. Jobs doing something you love are a much better bet. –  David Thornley Feb 18 '11 at 19:14

I'm a first year student in CS and I absolutely love programming.

break;

If you like what you're doing, keep doing it. If those things bother you, there is enough variety in the types of things you can do after graduating, that you should be able to find a great fit.

share|improve this answer
20  
More like continue Programming;... :) –  ChaosPandion Feb 18 '11 at 18:05
2  
@delnan - I'm kind of a big deal. I don't follow the rules like simple folk. –  ChaosPandion Feb 18 '11 at 19:40

60hr work weeks, taking work home, being on call 24-hours, etc... all that is not a factor of being a programmer. Thats comes from people unable to say 'no' to an employer. That happens in any industry if an employee lets their boss treat them like a floor mat.

The basic question is... do you like programming? Is it in your blood? Then be a programmer. Just dont be a floor mat.

share|improve this answer

It'll be what you make of it. Coming out of college I heard the rumors of 60 hour work weeks etc... I was lucky and my first job was a place that 40 hours was the norm and beyond that we were paid overtime. I took that philosophy with me ever since at every employer I have worked with no repercussions. Managers will try to convince you otherwise, as they say you are salaried. Even your co-workers will insist otherwise. But if your skills are good then you will win that argument.

At my current place of employment I am constantly hearing the developers next to me talk about how they are putting in extra time. They believe it is expected since they are salaried. Well...anytime I need to work beyond my 40 hours (other than an very rare single day here and there) I go to my boss and get my overtime approved with pay. It doesn't reflect negatively on me at all, I get top-performer reviews while my peers who work free overtime don't.

You'll only be abused and burned out if you let them abuse and burn you out.

share|improve this answer
2  
It's likely part of the reason you perform well is because you aren't tired all the time. –  Jeff Davis Feb 18 '11 at 19:19

No job is perfect or fun all the time. Yes programming can be frustrating, but believe me being the system admin and getting beeped at 3 am is pretty frustrating too. Being an accountant is frustrating, being an airline pilot is frustrating, being an artist is frustrating. All jobs have their bad points. You have to pick one where the good points outweigh the bad. You say you enjoy programming, then you are probably on the right track.

share|improve this answer
1  
A CPA I know online said that the question isn't whether you like accounting, it's whether you're willing to do it for enough money. I'm getting paid quite a bit of money to do something I normally like doing, so I figure I'm ahead right there. –  David Thornley Feb 18 '11 at 19:15

It depends. I think what you should ask instead it: do I like to be a programmer?

You see, in every field you choose, your are going to face a lot of challenges. If that's not for you, you're probably going to give up early or be in a really difficult situation.

It's really a stressing job and sometimes one may think it's not worth it, but if you love what you do you'll get through it.

share|improve this answer

These things you have heard were more true at the height of the .com boom. Short-term, a business can get a big push by throwing everything their employees have into their work. Long-term, people burn out or move on. Smart businesses have a strong emphasis on work-life balance. Keep in mind that some programmers really just love their job and want to take their work home and put in long hours, as well.

Rarely is coding an emergency, unless the business is not managed well. This isn't always true for a sysadmin. If the server goes down, the sysadmin need to get it up. If it is the production server, that's money being lost for your business. If it is an internal server, people can't get work done until it is fixed. Sysadmins rarely can work from home, but programmers usually can if they need to. On the teams I've worked on, it's not unusual for programmers with young children or bad commutes to WFH as much as once a week as needed.

If you love coding, keep doing it. Make sure you keep your skills up enough that you can always have your pick of jobs. When you interview, be choosy about work-life balance (if that matters to you at that point in your life) and don't be afraid to say, "I really don't like to routinely put in much more than 40 hours week after week. Once in a while, I'm happy to throw in everything I have for a weekend, but I don't want to spend all my evenings and weekends on work," if that's the case for you.

I find programming can actually be a very flexible, family-friendly job. I have 3 kids, two of whom were born less than a year after graduation from college (twins). I have great work-life balance, and even home-school my oldest children. I should mention that I am an SDET (I spend about 50% of my time on software development, 50% testing), but I think a programmer could do similarly well with their work-life balance. I do also think I want to someday do the "60 hours a week, just for fun" programming lifestyle, but that needs to wait until the other pieces of my life calm down.

share|improve this answer

Everybody brings home worries from their job, if you don't do that you just don't care about your job, it's just a question of learning the separate your personal life from your professional one. If a sys admin is at home and there's a problem he will likely have to go back to work and take a look at it, while a programmer rarely has to do this.

Now, I have some questions for you: Do you enjoy solving problems? Do you like logic challenges? Do you like building stuff?

If your answers to these question are yes you will enjoy being a programmer.

share|improve this answer

I am a programmer by job description, I love programming, but I have held jobs where I barely get to program. Mostly, I just updated fields in an online scrum software 'real-time' (sic), attended hour long status/kick-off/design/analysis meetings, read scrum stories, read horribly written code, refactored others' code (thereby creating more refactoring work for the next day,) read proprietary asinine specs and suffered, became frustrated and updated resume, etc., The only 'programming' I get to do sometimes is when I try to implement programs to solve the questions from stackexchange network...

Long story short, 1. every job can be joyful if you do it with passion. 2. it is not always about programming in a programmer's job

So, ask yourself, "am I passionate about programming?" If yes, become a programmer. If not, don't become one. It will help lot of passionate programmers from refactoring horrendous code.

share|improve this answer

Working in general doesn't feel as good as doing something just for fun.

Getting paid for it though feels very, very good indeed.

But you get all sorts of environments you can work in small businesses, large businesses, formal or casual, process-driven or agile, jack-of-all-trades or specialised, it's unlikely that there isn't a single environment out there that doesn't suit you.

Most people who are unhappy doing this job are simply working in the wrong subtype of programming. Or they could just love moaning. :)

share|improve this answer

The difference between a programmer and a sysadmin, in terms of how your work "flows," is this: Programmers have projects, sysadmins have jobs.

What I mean by that is a sysadmin has a particular set of jobs (made up of tasks) that they do each day. Mostly they are independent jobs, and when they are done, they are done.

Programming projects tend to be drawn out over weeks, months, sometimes years. This means you have to be able to understand what you did a long time ago to figure out how to move forward. This can be stressful. However, it can also be satisfying.

If you like this sort of long-term strategy, programming is probably a better career. If you prefer to get things done and be done with them. A sysadmin is better.

Of course, there are many other differences. But related to the point of "taking your work home" Both do that, but in a very different way.

share|improve this answer

Many people have told me it isn't so good once you start working due to bringing your work home (thinking about how to solve problems throughout the day), working many hours when the deadline is near, and so on.

This is all true.

But as others have said: If you like to program, then it's very nice to get paid for doing something that you like to do. Most people on Planet Earth do not have such a luxury.

However, I'd like to add another point.

Programmer compensation, relative to other occupations, is generally commensurate with talent and skill.

  • We've all heard people grouse that they are not paid what they are worth.
  • Well generally speaking, over the long haul, programmers are paid what they are worth.
  • When programmers notice that, in the moment, at a particular company, they are not paid what they are worth, they leave and find another employer who will pay them what they are worth.
  • People in other occupations do not have such a luxury.
  • In fact, many people in other occupations are vulnerable to the sea change that programmers (through no fault of their own) are powering with increasing automation.
  • As I see it, I'd rather be employed in a field that's in demand rather than in an field that's vulnerable to increasing automation.
share|improve this answer

Even if you don't like it, it is worth a lot, because most people:

  • Don't have the scientific curiosity required

  • Fear things they find cryptic

  • Are frightened to turn into a geek

  • Are also frightened to "not be good enough"

To me, among all applied sciences (unlike maths which aren't directly applied), CS is the one I prefer, simply because:

  • You can practice it just by having a computer, even a crappy one

  • You can experiment other sciences, because a computer is a mathematical tool

  • Every simple task a human can do, can be mimetized with a computer.

  • It is the one that best represents the way "intelligence" works at a very low level.

For all those reasons, working in programming is at the same time infinitely interesting and rewarding, because the service you give, hardly no other computer-less person can match with quality and speed.

On the other hand, CS is very young, and I think it still has a lot of problems that will need to be solved in the future.

One day I heard a teacher said "computer science is evil because it solves problems that it creates", like cell phones for example. I will always think those claims are the most negative I ever heard about innovation.

The true thing about CS, is that we could live a lot better by things we can still invent, but have no idea how it could really make our life better. That's where you understand what a true invention is.

share|improve this answer
  • sure it is
  • if theese are problems for you, yes. for me they aren't (compared to a usual job where i always have to be nice to everyone, smile and do something that is way below my capabilities and nothing interesting at all just to have my wages at the end of the month...)
share|improve this answer

If you think programming might not be what you want to do, a good idea would be to consider what other options there are for you. Is there anything else that really interests you that could potentially work as a career after you graduate.

Having to take work home is a downside to a lot of different jobs, but there are also programming positions that are much more likely to only involve your 9-5 hours if you're willing to take less money (government is one example).

I think if you really enjoy doing it, then you shouldn't reject that as a career unless you find something that works better.

share|improve this answer

System admins are the guys that are always on call. If you want to have a quiet home life programmer is the best in the tech field. Granted this is a profession where you will spend time working on this stuff at home but as long as you find a good company to work for it wont be excessive. If you go to work at a startup the hours may be insane but you'll be working on cool stuff, if you get a job at a big corporation the hours are likely to be better but you'll most likely find yourself working on tech that is legacy and even your greenfield projects will most likely run on software that is 2-3 versions behind. The trick is to find a company right in the middle, small enough that you get your hands dirty with some bleeding edge stuff and big enough that there is redundancy in your role so you're not the only programmer.

share|improve this answer

System Administrators, especially junior ones are required to be on call all the time. If you like getting calls in the middle of the night to remotely log in to machines and bounce servers, more power to you. Developers much less so unless they are front line support, and still some SA is the one calling them after not being able to solve the problem.

Developers have to continuously study their craft, learn new frameworks, languages, techniques and tools. Much like doctors and lawyers have to continuously learn. System Administrators not so much. Most server environments like Enterprise Linux ( pick any distro ) or any other Unix, don't change for YEARS!

share|improve this answer

Well, I have this case. How would you feel if you worked at a place like this:

  • Bad management would lead to every single project to be tagged as urgent. No strategic plan, no certainty about anything, just a sense of urgency and a matter of crazy politics influencing the corporate decisions. Therefore the boss would call the whole office just to scream and complain that we were not working hard and fast enough to meet the so-short deadlines we had, but never to work on a plan.

  • The president of the company would be so hormonal that he would ask for results in less time with less resources thus threatening employees of being fired.

  • A programmer working on up to three projects at a time.

  • A bunch of users asking for results all the time.

  • A boss who would not defend his group against external annoyances and would happily accept whatever requirement that came from management or other offices even though the whole software development group would be too busy to do anything else.

  • Computer programmers also doing sys admin due to "lack" of resources. When something went down, the boss would immediately scream at one of the programmers so that things would go up again. When projects were lagged behind just because of us doing sys admin instead of working on the projects, the boss would, with no excuses, ask for results from those projects, thus leading us to work extra-hours for no pay.

  • The boss would threat an employee of being subject to legal punishment in case he/she would oppose to sign a document that doesn't concern him/her directly.

  • Employees were asked to pay a fee so that their short-term contracts would be renewed. No pay means no "supporting" the group thus no renewal.

  • A secretary that would take the boss' place in screaming at everybody what they should do.

  • A general feeling of uncertainty about the implementation of the developed products due to constant changes in phylosophy.

The "good" things:

  • Medical insurance.
  • Good pay ($ 1,000 month is considered good).
  • You may get a steady position if they decide.

I resigned some months ago from that job due to the huge risks I was about to face, although I had some financial benefits due to my years of work there, but I see many of my older friends to bear with that just because they need money to support their families. However, some people tell me I didn't make a good decision since, at least in my country, it's becoming more and more difficult to find a job.

However, I feel that I have been affected psychologically to the point that even at this point I still feel frustrated and dissapointed and I'm considering pursuing another career.

Tell me: IS IT THE NORM TO HAVE WORK ENVIRONMENTS LIKE THIS???

share|improve this answer

Not the answer you're looking for? Browse other questions tagged or ask your own question.