Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I'm new in the field of programming. I really enjoy it as a career, but I'm not sure I can handle sitting at a desk for eight hours a day. I don't mind it for short stretches of time of course, but I can't do it day in and day out.

Is there a field of programming that possibly has jobs that require less time spent at the desk?

share|improve this question

closed as not constructive by Mark Trapp Jan 29 '12 at 20:59

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.

7  
Just get up and walk around every now and then... Take a walk during your lunch break. You could also try a Tredmill desk – Morons Oct 19 '11 at 13:12
72  
If you can write a gooey in Visual Basic, maybe look for something on a CSI team. – Brandon Moretz Oct 19 '11 at 13:14
6  
Go the self-employed route and sit wherever you like while you work - desks, tables, floors, counters, you name it. – John Straka Oct 19 '11 at 13:17
8  
Coaching and/or teaching – user2567 Oct 19 '11 at 13:39
4  
Don't worry, if you do it long enough you'll wish you had MORE time at your desk to do work instead of meetings and fighting fires with other s/w engineers. – Doug T. Oct 19 '11 at 14:43

17 Answers 17

up vote 16 down vote accepted

There are environments where you won't be sat at a desk all day. Many research or engineering environments will have you working both at your desk and in the laboratory or on the engineering floor.

For instance, where I work I have an ordinary desk where I do administration and intensive or off-line programming tasks, but I also have two experimental stations that I support. Whenever I need to test code on 'the machine' I have the option of using Remote Desktop Connection or going down and working in the experimental 'hutch'.

In my previous three jobs I similarly had a desk, but much of the work was done down in the workshop or on the shop floor, testing, optimising or coding on the machines we were developing. I've even been sent out to the US, Germany, Taiwan and China to support and develop software further on machines in the field after they have been delivered to customers.

Even in my first job after university, which was more desk-bound than anything since, I was sent out to customer sites to deploy software and help with troubleshooting.


Incidentally, while much of my career could be described as embedded systems, as Thomas Owens suggests, don't assume that embedded means microcontrollers, in-house designed circuit boards or hard core operating systems like QNX or OS-9.

Much of industry runs on PLCs as Wolfger suggests and industrial PCs running operating systems like Linux, Windows Embedded or even just plain old Windows. These systems integrate 'hard real-time' subsystems with 'soft real-time' control systems. Where the top-most layer can be the most complex and challenging, especially when trying to represent a complex machine with a simple, easy to use user-interface.

share|improve this answer
1  
Interesting. What industry is your company in? What do they produce? – FrustratedWithFormsDesigner Oct 19 '11 at 13:55
4  
I work in the UK scientific industry, helping to develop software that scientists use at our facility to do their experiments, and help support several experimental stations at the facility. In the past I've worked in military, robotics, mechatronics and laser micro-machining industries, so a mostly 'soft embedded' with a little 'hard embedded' thrown in. – Mark Booth Oct 19 '11 at 14:29
1  
Thanks for clarifying! Now I too know the industry to apply for a job in if I ever want to get (a little bit) away from a desk! :) – FrustratedWithFormsDesigner Oct 19 '11 at 14:31
    
Maybe we need sit in a chair, not desk. – Soner Gönül Oct 20 '11 at 8:48
    
Hey mark.. you mentioned mechatronics. Have you done a course in mechatronics? – Click Upvote Nov 11 '11 at 11:47

You could go into teaching programming. Most of your time would be at the front of the room lecturing. I am not sure how much actual programming would still be involved. Probably as much as you wanted, depending the style you choose to teach with. More hands-on demonstration rather than just lecturing in theory.

share|improve this answer
    
I would hope that people who teach programming have actually been working as programmers for at least 10 years, so this doesn't really solve the stated problem :). And yes, I know this is an old answer, but it has way too many upvotes. – Bergius Oct 19 '12 at 7:43
    
@Bergius, you would think, but I do know a few teachers who have no real work experience. Personally I would want experience before I taught. But given how simple the course work is compared to the real world, it's not really a pre-req. – CaffGeek Oct 19 '12 at 13:03

Look into PLC programming. Typically lots of travel involved, and lots of standing/walking on a factory floor.

A Programmable Logic Controller, PLC or Programmable Controller is a digital computer used for automation of electromechanical processes, such as control of machinery on factory assembly lines, amusement rides, or light fixtures...

share|improve this answer
12  
+1 - that what I was going to suggest. Also, in some cases you get to stand for long times with a laptop cradled in one hand, trying to type with the other, standing next to an electrical panel. Bonus points for it being either incredibly hot (foundry) or cold. On lucky days you can find an old spool of wire to sit on. :) – Scott Whitlock Oct 19 '11 at 14:04
    
Also, to find a job in this area, a good place to look for employers is the Control System Integrators Association. If you use their Find an Integrator link, you can look for ones near where you live. – Scott Whitlock Oct 19 '11 at 14:10
    
In my experience, PLC programming is more akin to electrical engineering than programming. Certainly the PLC programming I've done (mostly function block, statement list and a little ladder logic) has been frustratingly limited, even compared to C, let alone a more modern, more expressive programming language. – Mark Booth Oct 19 '11 at 14:36
    
You can do a lot of things in industrial (PLC-like) programming that is not directly electrical engineering. Believe me. – Nikko Oct 19 '11 at 14:39
12  
Yes, industrial automation (not always PLC, by the way) jobs always need programmers. BUT BE CAREFUL WHAT YOU WISH FOR! I once spent a week debugging a customer application in a machine tool facility while standing behind a vibratory hopper (a large metal vat filled with bolts that was being constantly shaken). – Angelo Oct 19 '11 at 14:48

There are some possibilities. Two that come to mind are working with embedded systems or interfacing with hardware or some type of field support job.

If you work with embedded systems or software that relies on hardware systems, you might get the opportunity to work in a laboratory, perhaps alongside mechanical, electrical, and computer engineers. However, the time spent in the lab, if any, depends on the project and the organizational structure.

A field support job would probably be at a desk, but it would be working with customers to analyze requirements, troubleshoot deployments, and develop new functionality or patches in the field. It would probably be a desk job, but it might entail traveling or working in facilities other than your company's office.

The exact specifics depend, of course, on the company that you are working for and what they expect from a software engineer. Because of the nature of the work, it's probably difficult to find a job that doesn't have a large amount of time spent at a desk in front of a computer.

share|improve this answer
    
+1 Agree - Support positions tend to involve moving around. – P.Brian.Mackey Oct 19 '11 at 13:52

At the worst companies, you won't be at a desk all day. Instead you'll be sitting at a conference table listening to how the company is going to make you more productive by implementing Scrum, agile, waterfall, Extreme Programming, blah, blah, blah. At that point, you'll pray to get back to your desk.

share|improve this answer
    
Those things that you complain about actually do make you more productive or they at least make most people productive. Horrible answer doesn't even address his question. You are clearly unhappy your job if you feel like that. – Ramhound Oct 20 '11 at 16:10
2  
You sound like a manager or maybe a salesman of one of those processes. When your paycheck depends on having people talk "process" all day, it makes sense that you would take a position against getting things done. – speedplane Oct 20 '11 at 19:47
    
why is this being downvoted, lol maybe they just haven't experienced the same thing cus if they had they wouldn't be downvoting – programmx10 Oct 22 '11 at 5:46
    
Thanks for the sarcasm, but waterfall and productive is usually not in the same sentence. – Peter Mortensen Aug 13 '13 at 19:28

Robotics. Not only will you have to cut code, but you will have to talk to hardware guys, and get out into the field and observe your cute little T-800 prototype doing its thing :)

share|improve this answer
    
I still have 1 semester of college left as computer programmer analyst, so my work experience has just been going on paid coops, but I was definitely thinking looking into a post grad program for robotics, one of my current co workers was also suggesting it to me, and it seemed really intriguing – Beef Oct 19 '11 at 16:26

I customise ERP systems, this involves quite a bit on onsite work but you may or may not want to have to deal directly with customers.

share|improve this answer

Wolfger already mention PLC programming. There are many programmers who work in automation in general programming PLC, robots (what I do), PACs, PCs, and embedded.

You do spend time behind a desk, some of it programming, some of it customer support. You also spend a lot of time in the field with the equipment. Often there is considerable travel involved. My office covers North and Central America. I also occasionally travel to Europe for meetings at the division headquarters.

share|improve this answer
    
I still have 1 semester of college left as computer programmer analyst, so my work experience has just been while going on paid coops, but I was definitely thinking looking into a post grad program for robotics – Beef Oct 19 '11 at 15:39

Join the One Laptop per Child project.

It is a worldwide development project. They need system technicians as well as administrators to take care of their servers and general infrastructure. Which means you need to be where the laptops/servers are being used to give good technical support which would mean a lot of travelling and discovering other cultures.

Plus, if you don't feel challenged enough, you can always develop open source software or go for a hike.

share|improve this answer

Jobs are really what you make them. You could spend the entire time coding at your desk but software development is so much more than coding.

A previous job of mine involved building the internal software for a testing company. While not very glamorous, the job did involve a fair bit of travel though the conditions were poor at times (you don't get dual monitors and a comfy chair on site). The perk was short feedback loops because I was literally in the next room and I got to work with a variety of people (oil & gas and agriculture testers).

At my primary site(s), I could do laps to all the areas to see how everything was working and get first-hand critiques of the apps. It beats surveys.

When interviewing at non-software development companies, be sure you know what you're getting into because oftentimes the leaders have very ignorant views of software development because they aren't software developers.

share|improve this answer

Agree with Thomas Owens in so far as support positions involve plenty of moving about. I used to work on Cisco routers. Working with advanced routing systems is somewhat similar to programming in terms of complexity. The setup process is pretty involved and can be quite complex. Especially if you go for advanced certification like CCDP.

Networking professionals often make a good income. Several of my friends are in the industry and enjoy the work.

share|improve this answer

If you would excuse me, I am going to go sideways on this question.

The programming field is vast, and there are many different aspects, whatever the field.

My last two days (Thursday and Friday) were spent in a meeting room, with 6 to 12 other people depending on the current topic, while we worked out our new project.

I was sitted, but not at my desk. And I could also stand and get to the whiteboard from time to time.

Why ? Because I was not programming per se, we were discussing and planning. The discussion was heavily technical, and centered around programming, but all I had with me was a pad and a pen (and a bottle of water).

Programming does not necessarily means sitting at your desk pumping code out of your brains all day. Depending on the project / places and on your exact role, you might have more or less social interactions, and you might (or might not) travel more or get to meet customers.

For reference, I am (now) doing server programming, for internal applications.

share|improve this answer

IF you want a programming job, you are going to be on a desk (sitting, standing or walking) most of your time. There is no way around that.

But if what you are looking for is a programming-related job, there are alternatives, BUT you won't be the one actually programming.

EDIT:

I didn't want to list job names, cause they tend to change from company to company, but I'll list responsibilities:

  • Being in charge of getting requirements from your customers, where you need to be on site to learn the client's business.
  • Coordinating development teams, where you need to hop around and be available for solving problems all around.
  • Coordinating between the customer and the development team to build the right product for a particular client.

Basically several jobs related to software development, but that don't actually require coding, which was really the point I was trying to make.

share|improve this answer
    
Can you list some of those alternatives? – Adam Lear Oct 19 '11 at 13:38
    
What utter rubbish. Many of us are primarily software engineers, but we still have to test our code and that can mean trips down to a lab or engineering floor. Not only that but on a small team we probably double up as integration tester, release engineer and customer support, which could easily require site visits. – Mark Booth Oct 19 '11 at 13:47
    
@MarkBooth I said most of your time. Can you tell me how much of your day is spent running up and down? Or how much time you actually spend in the engineering floor? I would be surprised if its more than 15% of your time. Plus most of the stuff you said is probably done on your own desk. Most customer support is by phone, not visits. I ask, if you spent most of your time out of your desk, when do you actually develop the app you will be testing? or providing support for? – AJC Oct 19 '11 at 14:00
    
It depends, some weeks I'm at my desk most of the time, other weeks I'm away from my desk most of the time. When tracking down a tricky problem synchronising timing between several devices, I might spend all day with only the occasional sit down to tweak a parameter or initiate another test run. Some things can't be mocked and have to be tested with real hardware, then working at your desk will only get you so far. The inference that resulted in my response was that if you aren't sat at your desk most of the day then you aren't really a programmer, just in a programming-related job. – Mark Booth Oct 19 '11 at 14:20

Though my job as an in-house Windows Forms programmer does involve a lot of deskwork. I'm often at other people's desks watching them demonstrate a bug or expressing a desire for a new feature of some sort. Sometimes I have the option of just watching them work, and when doing so I can see how they use the application, so I can think of ways to make them better able to do it their way, instead of the way I was thinking when I developed that particular feature.

As a lot of my work also involves integration and interop with third-party hardware and software. I'm often in the lab fiddling with various gizmos and watching how the programs react. My last job was in web programming, and there wasn't much "lab work", so yes, that job was sitting at a computer coding heads-down for most of the day.

Programming is quite simply a knowledge job, meaning it's mostly a desk job. If you want to go beyond that, then you need a job that isn't just programming, but other elements of the SLDC including analysis and design. That gets you out of your cube and into face-to-face meetings with the people who will benefit from the new programming work, or at least the people paying the bills.

share|improve this answer

In my current job I see programmers for the car industry, which too work with specialized equipment. It doesn't always mean working at the desk, but it can mean going off site to connect to a car's CAN bus.

share|improve this answer

Well, at my workplace we now have two developers who stand all day while working. They raised their desks (it's the cubicle kind you can slide up and down on the wall) and they stand while working. I am serious, and I can kind of relate although I sit down while working.

Some people like to be up standing and moving around a bit more while they work, so it's up to you. No one is going to say you have to sit at a desk, but generally you do have to use a computer for much of the day, unless you're a manager; then you go sit in meetings all day.

share|improve this answer

There are a lot of fields and industries where there is more to a programming job than sitting in front of a desk. From personal experience:-

  • Consultancy - lots of work on client sites, lots of interaction with the business users
  • Finance - Working on a trading desk can be a lot of fun

But really anything where you are directly dealing with the users of your software is likely to be more varied

share|improve this answer

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