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?

Peter Mortensen
  • 1,050
  • 2
  • 12
  • 14
Beef
  • 423
  • 1
  • 4
  • 6
  • 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
  • 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](http://www.treadmill-desk.com/) – Morons Oct 19 '11 at 13:12
  • 8
    Coaching and/or teaching –  Oct 19 '11 at 13:39
  • 2
    Try standing instead of sitting. – SK-logic Oct 19 '11 at 13:46
  • Agree with @SK-logic. Try standing. I bought a LifeTime Bistro table for $80 and have been standing for years. It makes a big difference in posture, calorie expenditure, mood, alertness, etc. – Matthew Rodatus Oct 19 '11 at 13:53
  • Instead of using a chair or an expensive Treadmill desk, try using a large Pilates ball. Since it is a ball, and doesn't have a back, it forces you to maintain balance and posture throughout the day. Studies have shown that sitting at a desk with a Pilates ball for 8 hours a day will burn 100 more Calories a day than by sitting at a normal chair. – maple_shaft Oct 19 '11 at 13:54
  • Get a really big dry erase board. – JeffO Oct 19 '11 at 14:08
  • 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
  • Is the question that you don't like having to be a desk or that you don't like sitting all the time while you're at the desk? – Joel Etherton Oct 19 '11 at 16:30
  • @JoelEtherton I have the freedom to get up and move around when Id like to, and I dont mind being at the desk some times, but I dont like having to do all my work while at my desk, I would be prefer going between desk and field work, just a change of environment every so often – Beef Oct 19 '11 at 16:40
  • I'm in the same boat, and I go out for 'cigarette breaks' (even though I quit smoking) about three times a day. – CamelBlues Oct 19 '11 at 17:55
  • 3
    Most jobs in western society now involve sitting behind desks (as they involve computer use), I wouldn't say it's restricted to programming – Chris S Oct 19 '11 at 18:14
  • If you don't know what Brandon's talking about... http://www.youtube.com/watch?v=hkDD03yeLnU – Tyler Oct 20 '11 at 02:46

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.

Peter Mortensen
  • 1,050
  • 2
  • 12
  • 14
CaffGeek
  • 8,033
  • 5
  • 32
  • 38
  • 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 07: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
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
  • 21,442
  • 29
  • 112
  • 288
Wolfger
  • 487
  • 3
  • 9
  • 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](http://www.controlsys.org/). 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
  • @Nikko - I know what you mean (in particular I seem to remember there are some nice GUI toolkits for embedded PLC displays), but as a PLC engineer you could easily end up doing the equivalent of using a computer to wire up a bunch of relays according to a circuit diagram all day, which may not be what the OP was really after. *8') – Mark Booth Oct 19 '11 at 14:54
  • @MarkBooth - I've now done a lot of .NET (enterprisey-stuff) and also PLC programming. They're both interesting and challenging. No, the skills are not 100% transferrable, but yes, they are both programming. Also, knowing both is fairly valuable, as the word of the day is "integration". – Scott Whitlock Oct 19 '11 at 15:40
  • [Wikipedia](http://en.wikipedia.org/wiki/Programmable_logic_controller#Development) says that modern PLCs are programmed in BASIC or C, but I was under the impression they still mostly used ladder logic. Is this still true? – BlueRaja - Danny Pflughoeft Oct 19 '11 at 17:38
  • @BlueRaja-DannyPflughoeft - Most new PLCs support some implementation of the five [IEC-61131-3](http://en.wikipedia.org/wiki/IEC_61131-3) languages. Ladder is still very common in North America and Britain (as I understand). Structured text and FBD are more common in the EU. I have used PLCs that are programmed in BASIC, but it's abnormal. The new Beckhoff TwinCAT 3 will be programmable in all IEC-61131-3 languages and C++ I believe, and the IDE is an extension on Visual Studio 2010. I don't think I've seen C code in PLCs, but I won't say it doesn't happen. – Scott Whitlock Oct 19 '11 at 19:25
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
  • 79,623
  • 18
  • 192
  • 283
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,214
  • 3
  • 40
  • 79
  • 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 08:48
  • Hey mark.. you mentioned mechatronics. Have you done a course in mechatronics? – Click Upvote Nov 11 '11 at 11:47
  • @Click Upvote - No, I studied *Computer Systems Engineering*, a blend of *Computer Science* and *Electronic Engineering*, but that provided an excellent grounding to work in multi-disciplinary teams along side mechanical/electrical/electronic/optical engineers, physicists and many more specialists in their own fields. – Mark Booth Nov 11 '11 at 12:03
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.

Peter Mortensen
  • 1,050
  • 2
  • 12
  • 14
speedplane
  • 159
  • 5
  • 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 05:46
  • Thanks for the sarcasm, but [waterfall and productive](http://www.waterfall2006.com/) is usually not in the same sentence. – Peter Mortensen Aug 13 '13 at 19:28
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 :)

Peter Mortensen
  • 1,050
  • 2
  • 12
  • 14
NWS
  • 1,319
  • 8
  • 17
  • 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
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
  • 3
  • 7
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.

Peter Mortensen
  • 1,050
  • 2
  • 12
  • 14
Pitt
  • 11
  • 1
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
  • 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
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.

Faheem Mitha
  • 183
  • 1
  • 7
AJC
  • 1,439
  • 2
  • 10
  • 15
  • 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
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,123
  • 8
  • 48
  • 87
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.

Austin Salonen
  • 1,061
  • 8
  • 11
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.

Peter Mortensen
  • 1,050
  • 2
  • 12
  • 14
KeithS
  • 21,994
  • 6
  • 52
  • 79
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.

Peter Mortensen
  • 1,050
  • 2
  • 12
  • 14
Ziv
  • 2,946
  • 5
  • 23
  • 26
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.

Peter Mortensen
  • 1,050
  • 2
  • 12
  • 14
programmx10
  • 2,097
  • 13
  • 27
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.
  • 14,567
  • 4
  • 44
  • 65
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

David Hayes
  • 101
  • 2