Author Topic: Programming vs. backend infrastructure work  (Read 3731 times)

Bearded Man

  • Handlebar Stache
  • *****
  • Posts: 1137
Programming vs. backend infrastructure work
« on: November 09, 2015, 02:00:28 PM »
Which do you consider better/worse and why? I do both, largely because we are understaffed almost everywhere I've worked and I have skills in both areas.

I'm torn on which I detest most, because I pretty much detest them both. At my previous job a few years ago, I preffered systems work to programming. Databases, web and application servers, etc. Could have just been an all you can eat style consulting firm where the answer to any customers question is "yes", so programming sucked something real bad. I didn't care for the after hours work and stress of doing system upgrades, migrations, implementations etc. either, but at the time that was the lesser of two evils. Projects were done quicker, less involvement with PM's, less change requests, and mostly within the capability of the software. There was still stress because you are dealing with enterprise systems and potential for data loss, but at least no endless dreamt up ideas for software.

In any case, where I work now the front end work is not as bad. What get's to me most is the endless change requests, basically all of the PM's I work with were admin assistants up until a year ago, so there is no real process no matter how much I try to steer it that way. Basically it's whatever these PM's dream up that day, I add in. There is no actual process because the entire organization is run by people who got in on the buddy system, not actual experience, education or capability. Nevertheless, it kills me to sit through this crap, building whatever random change someone wants that day, because they just think it would be "nice". No metrics on ROI, no requirements traceability matrix, etc.

The reason I ask is because my position is being split into two and I am offered a choice. Right now the back end role has some really heavy lifts coming up in the next 3 months. Plus there is no guarantee the position will exist in a year, as when we merge with another company in a year or so, that position will likely be redundant. But they will likely still need a front end developer to service everyones fantasies.

Once this job ends though I may end up someplace fierce development wise and am not looking forward to that. Nothing they want me to build is too crazy, just the people drive me nuts. At most places, it's the crazy and the people that drive me nuts, because of no process.

Not sure which to pick. If I pick dev, I can still use my lab at home to keep up on the systems stuff. In reality I'm really looking at making my next move a move into technical program management or something similar.


Bearded Man

  • Handlebar Stache
  • *****
  • Posts: 1137
Re: Programming vs. backend infrastructure work
« Reply #1 on: November 09, 2015, 02:14:56 PM »
I guess another thing to note is that if I switch to the other position, it will be with another company so I will change benefits. Also, I'm 6 months away from qualifying for tuition reimbursement, though that's up in the air as the company is talking about limiting that to degrees related to your job. I guess as a technology lead with direct reports a MBA with a CIS concentration is not considered related to my job...according to the VP of HR, but we will see.

bacchi

  • Walrus Stache
  • *******
  • Posts: 7056
Re: Programming vs. backend infrastructure work
« Reply #2 on: November 09, 2015, 02:42:09 PM »
Because it's what the business side sees and understands (and everyone has an opinion), there will always be endless changes to the front end. You complete something per the specs (or "specs") and then the entire thing is changed. The db tables are migrated, the services are altered, and the javascript and copy are updated. Let's face it -- a lot of the changes are useless and don't really create value.

Being back-end is stressful, especially when something is wrong and you get the blame. A regular apt-get goes badly and horks the server? It's your fault and you're the one working until midnight trying to get the app back up. When everything goes smoothly, the acknowledgements go to the shiny front-end and those who work on it.

That said, I hate front end work. PMs don't have an opinion on what the db is or about clustering. There aren't inane requests to change the color of a background page that require loss of focus, switching virtualenvs, pulling different code, and testing.

I'd choose back end because it's more interesting and challenging.

AZDude

  • Handlebar Stache
  • *****
  • Posts: 1296
Re: Programming vs. backend infrastructure work
« Reply #3 on: November 09, 2015, 03:02:05 PM »
Programming is better, only because you can do it from home and there are fewer "OMG, something is on fire! Please help!" 4:00AM calls. Backend work is more interesting overall.

Bearded Man

  • Handlebar Stache
  • *****
  • Posts: 1137
Re: Programming vs. backend infrastructure work
« Reply #4 on: November 09, 2015, 04:00:18 PM »
Seems like I'm not the only one who thinks back end work is more stressful and "dangerous". A programmer gets famous when he does something good. A Sys admin gets famous when he does something bad. I've seen a lot of discussions online where a DBA is better and more important than a programmer in most organizations because the DBA protects the data, while the programmers do heads down development. I guess it varies from company to company, but there is some truth to that in most non engineer centric organizations. But there are the down sides. After hours work, patches that cause all kinds of bad juju, data loss due to corruption, etc.

I'm reminded of my colleague who told me he almost vomited when the database for one really important system was down for a couple days. This is a big/tough dude too.

I haven't had it that bad, but I've had some moments when the system went down during maintenance and it was a tense 30 minutes until I got it back up. Luckily within my service window, but still, my mouth had probably never been so dry in my entire life...

I don't recall feeling like that as a dev, just frustrated with the requests seemingly dreamed up, constant changes, etc. But I am a better back end guy than front end, although I do well at both, just more time in on the back end.

Tough choice. Right now I'm doing both and I don't seem to be worried about doing both jobs, it is what it is. But now that I can pick which one I want to keep doing at this job, it makes me think which one is better for me NOW and in the LONG RUN.

The Beacon

  • Stubble
  • **
  • Posts: 148
    • Financial Freedom Tips
Re: Programming vs. backend infrastructure work
« Reply #5 on: November 09, 2015, 04:34:07 PM »
What get's to me most is the endless change requests.
Looks like your team has not adopted SCRUM.  In a traditional Water Fall set up, the PM allocates the work,manages the timeline, everyone's workload and remove impediments.  Often times,  the PM would mis-allocate tasks because he or she is not technical. When this happens, the dev lead is unhappy and often butt heads with the PM. 

As to your question, I would pick programming any day over infrastructure work. Infrastructure work is very boring.


MelodysMustache

  • 5 O'Clock Shadow
  • *
  • Posts: 98
Re: Programming vs. backend infrastructure work
« Reply #6 on: November 10, 2015, 06:36:43 AM »
I have done programming, project management, and now back end service engineering.  They all have advantages and disadvantages.  Overall, I think programming is best.  Less stress with on call and fixing urgent broken stuff, more flexible working options.  I did eventually burn out on it, so transitioned to pm.  I did not intend to work on back end systems, but my role transitioned and it certainly is interesting and fast moving.  The on-call can be brutal.

Bearded Man

  • Handlebar Stache
  • *****
  • Posts: 1137
Re: Programming vs. backend infrastructure work
« Reply #7 on: November 10, 2015, 09:48:31 AM »
I have done programming, project management, and now back end service engineering.  They all have advantages and disadvantages.  Overall, I think programming is best.  Less stress with on call and fixing urgent broken stuff, more flexible working options.  I did eventually burn out on it, so transitioned to pm.  I did not intend to work on back end systems, but my role transitioned and it certainly is interesting and fast moving.  The on-call can be brutal.

I too am burnt out on it, and considering going back into a Technical Program Manager role or possible a Cloud Solutions Architect. Bottom line, I'm getting too old for this crap and I'm worn out. I'd rather go back to managing people like I did a long time ago. I've considered the PM role. Most PM roles are really reliant on a reasonable customer and a strong technical team. If your customer is unreasonable and demanding, while your technical team is the "D" team, you are screwed. No amount of charts and SCRUMS is going to fix that.

In contrast, if you have a good client or a strong technical team, or better yet, both, you can succeed with minimal pain. Basically, if I was going to become a PM, as soon as I see signs of a bad customer or a poor technical team, I'd start looking. I've seen that movie before...

ditheca

  • Bristles
  • ***
  • Posts: 309
  • Age: 40
  • Location: ST GEORGE, UT
Re: Programming vs. backend infrastructure work
« Reply #8 on: November 10, 2015, 10:13:34 AM »
Just to offer an alternative...

My IT experience has been entirely with startups and small business.  Currently I work at a 150 person company with an IT team of two (plus a Co-op).

I get to do full stack development, database administration, websites, phone apps, as well as traditional sysadmin and occasional help-desk work.  The variety is fantastic for my personality.  I think I would also detest getting locked into too specific of a role.

HeadedWest2029

  • Bristles
  • ***
  • Posts: 316
Re: Programming vs. backend infrastructure work
« Reply #9 on: November 10, 2015, 11:23:09 AM »
I started out doing a mix of web dev and sys admin and I've gradually steered towards backend infrastructure work.  I'm still a jack of all trades, but dev request are very limited in my current role.  I'd say backend infrastructure work is far more stressful.  When I was young and disaster recovery software was way more limited in terms of RTO I had my share of sleepless and very stressful / scary weekend projects at various 24 business operations.  Now that I'm older / wiser (and perhaps lazier) about maniacally updating to the latest and greatest OS, app, etc and have access to better recovery procedures, these little fight or flight moments are rare.  In terms of pay, upside for a programmer is much higher but at the cost of relentlessly sharpening the ax to stay relevant.  Cloud certainly presents opportunity and downside risk for job security on the backend side.  Either way, high burnout is likely...I've downshifted to a less stressful job for better work / life balance. 

Bearded Man

  • Handlebar Stache
  • *****
  • Posts: 1137
Re: Programming vs. backend infrastructure work
« Reply #10 on: November 12, 2015, 08:46:25 AM »
Well, I was looking at getting back into management and had several offers ranging from 70K (government) to 125K + bonus. I regrettably turned them down because I'm in my comfort zone. I get to work from home, and am proven at my place of work, and at 150K, I am going to take a pay cut if I leave this job. I was handed this job by the executive in charge and he wanted to make sure I'm tied down and don't leave.

So right now I'm considering riding this train for the financial gain (saving time and money not commuting, can throw extra time into school work, and I get paid better than I would anywhere else in this area so I'm able to save an additional 30K a year).

But if I see signs that this train is going to end soon or I just get tired of it, I'm likely going to have to take a pay cut anyways when I leave here. Might as well go back into management so I can start building that career back up rather than engineering which I've peaked at. My education, and background is well suited to management (I was a manager before) and I prefer being in charge and being an FTE than a dancing contract IT monkey.

I can get an easy management gig for 80K because not a lot of IT managers are competing for those lower jobs. But I will hold out for the six figure IT management gigs I get offered once in a while when I actually interview. Maybe I should hit the interview circuit in December when I'm off from school for the month and see what bites.

Just was planning on sticking this job out as long as I can stomach it for the financial benefits. Plus I see more and more infrastructure work being outsourced to the cloud in my area (Seattle) and similar with programming.

 

Wow, a phone plan for fifteen bucks!