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?

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
–
MoronsOct 19 '11 at 13:12

72

If you can write a gooey in Visual Basic, maybe look for something on a CSI team.
–
Brandon MoretzOct 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 StrakaOct 19 '11 at 13:17

8

Coaching and/or teaching
–
user2567Oct 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

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.

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 BoothOct 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! :)
–
FrustratedWithFormsDesignerOct 19 '11 at 14:31

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.

+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 WhitlockOct 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).
–
AngeloOct 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.

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.

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.
–
speedplaneOct 20 '11 at 19:47

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.

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.

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.

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.

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.

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.

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.

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.