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 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
5  
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
show 9 more comments

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
show 3 more comments

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
show 2 more comments

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
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
show 7 more comments

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
show 1 more comment

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
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
show 3 more comments

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
show 1 more comment

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
add comment

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
show 1 more comment

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
add comment

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
add comment

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
add comment

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
add comment

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
show 4 more comments

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
add comment

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
add comment

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
add comment

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
add comment

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