48

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?

Beef
  • 423

17 Answers17

46

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.

CaffGeek
  • 8,103
37

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...

gnat
  • 20,543
  • 29
  • 115
  • 306
Wolfger
  • 487
22

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.

Thomas Owens
  • 85,641
  • 18
  • 207
  • 307
16

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.

Mark Booth
  • 14,352
8

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.

speedplane
  • 159
  • 5
5

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 :)

3

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.

Alan B
  • 436
2

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.

Pitt
  • 11
2

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.

Jim C
  • 883
  • 4
  • 12
1

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.

AJC
  • 1,439
  • 2
  • 10
  • 15
1

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.

P.Brian.Mackey
  • 11,121
  • 8
  • 53
  • 88
1

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.

1

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.

KeithS
  • 22,282
1

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.

Ziv
  • 3,106
1

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.

programmx10
  • 2,087
1

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.

Matthieu M.
  • 15,214
0

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