• Hey, guest user. Hope you're enjoying NeoGAF! Have you considered registering for an account? Come join us and add your take to the daily discourse.

Differences between IT and Programming/Software Development Careers?

A beautifully concise answer.

10+ years experience, in service, development, and a bunch of other generic IT roles. It can't be said anymore clear than above. To your questions, most will boil down to "well, it depends on the company". Some companies, even big IT ones don't allow working from home, other embrace it. Some companies let you set your own schedule within reason, but others have a strict policy on when you're allowed to work.

My last role had an insane amount of freedom. I came in when I wanted, took as long of a lunch as I wanted, and worked on what I wanted, they did not allow any working from home though. My current job is much more strict, but they allow a lot of working from home. No job is perfect I suppose.

The one important thing I think you should consider is stress. Development can be incredibly stressful depending on the amount of support you have, and the visibility of the project. Also, when deadlines approach, your hours can get crazy. I imagine this could happen in IT security too, but it's a part of the game in every development position I've ever had.

On the math subject, development is a big field, and a lot of things your average Joe would group under the "development" umbrella that might not really require a crazy amount of math, but honestly to do anything really "cool" with code, you're going to need math, and more than you think. There's a reason computer science and programming degrees have a high drop out rate.

Good luck in whatever you decide to tackle though. Either choice is a solid one IMO. Just do your homework and make sure you know what you're getting into.

There are a lot of roles with 'analyst' in the title that have a pretty wide scope of responsibility, and let you see a lot of new things.


+1 for finding an "Analyst" or "Help Desk Technician" role... it will get your foot in the door.

IT and Programming start off similarly unless you just finished a degree in CompSci/Engineering, have a ready-made portfolio, and land a job without any real-life experience.

Start low, learn as much as humanly possible, and then start slowly focusing more and more on what you enjoy.

I will add to the blonde's post that Development/Programming is IMO much more stressful than Network/Virtualization/SysAdmin.

The only time I have a deadline as IT Mgr/SysAdmin is when I start a big project (just finished up a new security system for the building) and the CFO or whomever is asking when it will be done and I give them a firm date (which I never do).

The only real stress in IT management comes when something breaks - and if you know what you're doing (and you've prepared) it won't be stressful.

Conversely as a developer, you may be pulling 14+ hour shifts cramming code and trying to make a game/app/project deadline.

IT / Tech in general is a vast field that is limited only by your willpower and imagination.

I'm not understanding why you are painting a dichotomy where IT is problem solving and software engineering is creativity. Software engineering is absolutely all about problem solving.

I tried to address that at the end of my post but people gotta nitpick I guess.

BOTH sides of Tech require problem-solving AND creativity.

My point was that IT / SysAdmin / Networking dips more into problem-solving and Development dips more into creativity.

There's obvious exceptions (scanning lines of code to find the issue in an app/program - problem solving) - (trying to map out the proper IT infrastructure for a company in a cost-effective, efficient, secure, and timely manner - creativity).
 

Erudite

Member
I would absolutely try and get experience using traditional programming languages. They are the foundations that don't change. The problem with front-end development really is that there is a new hot framework every year or two, often completely changing philosophies. Staying on top of that can be very problematic and if you don't get exposure your experience now could be useless in 5 years time.

Things like React and Angular have a massive amount of weight behind them though and using Typescript means your knowledge is more portable from framework to framework.

I don't work in web development myself but I can't deny how much of a growing industry it is. I certainly wouldn't want to pigeon hole myself there as you're less likely to move into architecture style roles from those sorts of positions but companies invest a fortune in UX now so there is high demand there.
Appreciate the tip! I'm in the process of finishing up my BSC in CS (slowly, as I'm only able to take one class at a time with my full-time position, with 3 classes remaining after this semester), so I aim to keep my C++ skills sharp, as that gets no use in my current position, but it's also a skill I don't want to atrophy, in the event that I'd like to move to a more traditional software development role.
 

Kickz

Member
This is going to be the last job-related thread I make. Seriously. Promise. It’s become abundantly clear that I should focus my next longterm career on something involving computers. I use computers all the time, I’m always fiddling around with programs and configurations, mainly for self benefit (such as my SNES Classic)....even my current job has me diagnosing the main PC software associated with our equipment. I have a fair amount of experience, it’s about time I put it into finding a decent career out of it.

But it always comes down to IT Security vs Programming/Software Development. I always hesitate when deciding between these two fields because, frankly, I don’t know enough about either of them. I’m hoping I can finally get enough information to help me comfortably make a choice, so here are my general questions:

1. What is the typical work enviornment for either? Which tends to offer more stress, more freedom, etc?

2. Which tends to have more job openings and opportunities?

3. Which offer more flexible/rotating schedules? I’m officially done with the 8-5 schedule, because I hate the early morning and I especially hate being stuck on the ass-end commute for both going to work and leaving work.

4. Which is more likely to offer work at home options? Again, see above.

5. How much of the required materials can be learned for free online using various tools/guides, and how much requires going back to school?

6. What kind of certs/degrees/licenses should I focus on, and how many of those can be used for either field?

7. Finally, what are some of the most common job titles for either field? Are there job positions that can have you do a little of both? Depending on the responses for #6, should I be focusing on earning knowledge that can have me doing both IT and Programming in one job?

I’m officially done hesitating at this point, so if I can get some of these basic questions out of the way, I can finally put forward a career plan. I just need to mainly know the differences between the two fields, which one currently has better job security/availability and what’s the best way to get my foot on either door.

I’m also not against learning about a third option that I may not have known about.


Done both, software development is far better if you hate speaking with customers on the phone. A point of pride for me right now is my desk has no phone. My job title is Software Engineer.

If you have some sort of degree already, I recommend just attending a local Software Dev camp, make sure its 9-5pm and lasts for atleast 3 months or more. They will typically hook you up with a junior web dev gig, and from there the sky is the limit.
 

Two Words

Member
+1 for finding an "Analyst" or "Help Desk Technician" role... it will get your foot in the door.

IT and Programming start off similarly unless you just finished a degree in CompSci/Engineering, have a ready-made portfolio, and land a job without any real-life experience.

Start low, learn as much as humanly possible, and then start slowly focusing more and more on what you enjoy.

I will add to the blonde's post that Development/Programming is IMO much more stressful than Network/Virtualization/SysAdmin.

The only time I have a deadline as IT Mgr/SysAdmin is when I start a big project (just finished up a new security system for the building) and the CFO or whomever is asking when it will be done and I give them a firm date (which I never do).

The only real stress in IT management comes when something breaks - and if you know what you're doing (and you've prepared) it won't be stressful.

Conversely as a developer, you may be pulling 14+ hour shifts cramming code and trying to make a game/app/project deadline.

IT / Tech in general is a vast field that is limited only by your willpower and imagination.



I tried to address that at the end of my post but people gotta nitpick I guess.

BOTH sides of Tech require problem-solving AND creativity.

My point was that IT / SysAdmin / Networking dips more into problem-solving and Development dips more into creativity.

There's obvious exceptions (scanning lines of code to find the issue in an app/program - problem solving) - (trying to map out the proper IT infrastructure for a company in a cost-effective, efficient, secure, and timely manner - creativity).
Every piece of professional software I have written was done to solve a problem for the company. The entire purpose of software development is to solve problems.
 
Where are you in your career? Are you still in school? If you can grin and bear it, I would definitely recommend getting a Computer Science degree over an IT degree. CS would give you the flexibility and employers are more likely to give you the opportunity to do IT out of college if that's what you decide you'd prefer.
 

zeemumu

Member
IT probably has a bit more of a standard work experience and is less logic/programming intensive. Programming/Software Development might lean more towards the "contract work from home" angle but I guess that depends.
 

Pixeluh

Member
Yes. With things like Typescript and ES6 javascript is becoming more strongly typed and a powerful language. Frameworks like Angular and React have made it possible to develop extremely complex applications in a sustainable manner.

Node.js is getting more popular and allowing javascript developers further into the realm of full stack development.

It's the direction the field is heading in. Traditional software development will obviously always be there but web development has exploded for obvious reasons. Unfortunately web development is littered with hobbyists who call themselves developers which gives that field a pretty bad name, but as I said before with new technologies and frameworks it's moving to a much more traditional style of development with strong typing, OO design and unit testing.

I'm curious of your view on self taught developers and traditionally taught developers. Web development has become the new "go to job path" online over the past couple of years and I see "how do I get quickly get a job with coding??? in a couple of months??" all the time and it boggles my mind. It seems most people who are trying to shortcut this to try and get a job end up being like the "hobby developers: (from your context I assume
"bottom of the barrel"), at least in my opinion.

I dabbled into a web development internship after 8 months of learning front-end on my own and while I could build simple things, I was completely useless next to their freshly graduated CS grad. It put things into perspective for me and I realized how little I actually know compared to this person, and now i'm pursuing a CS degree.

I just feel like someone can become a front end developer but their knowledge is going to be so limited to that specific role. I'm finishing up my first year pretty much for CS and have learned so much information compared to when I was learning on my own... For example things like FCC and udemy tutorials don't actively teach you how to problem solve. They teach you how to go through their solutions and make you think you know how to do it when you probably don't.
 
I got a CS degree and started out working as junior java developer at a consulting company, I didn't really like it, found it to be stressful, lacked confidence, found the work to be dull (bank software). When I moved cities I needed to get a job as quickly as possible and found a general Tier 1 IT position. Solving problems definitely isn't as rewarding, where I am now but I'm much happier. I miss programming, maybe more so feel guilty that I'm in a position now where I use it a lot less often. Stuck thinking if I should get back into software development or build up networking / security / skills to get a tier 2 position where my programming experience would be put to better use.
 
Every piece of professional software I have written was done to solve a problem for the company. The entire purpose of software development is to solve problems.

I can see you're purposely trying to drive home a point that adds nothing to the discussion just to say you're right, so have at it.

I repeat: On the Venn Diagram of IT and Development - Dev is on the creativity side and IT is on the problem-solving side. They both meet and both mix, but each favors those sides respectively.
 

Akuun

Looking for meaning in GAF
I think the first question is why have you narrowed things down to IT and security, when you don't know that much about either field? What part of those careers do you like, and what do you think you'll be doing there? Why do you think those two careers are especially good fits for you?

It's possible you may not really know what the work actually involves, so those options might not be as good a fit for you as you think.

I don't know what IT security is like, but I can tell you what I know about software dev. I'm not a programmer, but I know a lot of programmers.

1. What is the typical work enviornment for either? Which tends to offer more stress, more freedom, etc?

Stress on a developer depends on the size of the company and what you're responsible for. The more senior you are, the more responsibilities you have, and you become the go-to person for more things. That leads to more stress, and more people randomly jumping on you to go "hey, can you handle this thing" while you're trying to work on something else. Very high-level developers eventually spend so much time in meetings that they barely actually touch code anymore.

Freedom also depends on your rank and position. If you're lower ranking, you might just be tasked to implement something that was decided above you, so you don't have much freedom on that end (but not much thought required on your part either, which some people like). If you're higher up, you may be expected to figure out how to solve a particular problem, which means more freedom on your end.

Because programming is such a huge field, the environment is also very different. Generally, the more closely your work affects end-users, the more scrutiny you're under. If you're working on some obscure under-the-hood stuff that is very far removed from the customer, then maybe no one will notice if it ever breaks or slows down, which means you're under less pressure. If you work on stuff that's very visible to users and customers, then people watch your work much more closely, because people will notice if you screw up.

2. Which tends to have more job openings and opportunities?

My guess is that software dev has far more openings. Offices naturally tend to have way more developers than IT security guys.

3. Which offer more flexible/rotating schedules? I'm officially done with the 8-5 schedule, because I hate the early morning and I especially hate being stuck on the ass-end commute for both going to work and leaving work.

Many software places have flexible schedules, especially smaller startups. Having said that, both IT security and software development involve a fair amount of on-call work or off-hours work, especially for smaller places where each employee often does a little bit of everything.

If your company provides a web service that's on all the time (for example, Netflix) that service does not follow a 9-5 schedule. If it goes down for any reason, someone will have to go take a look at it, no matter what time it is. That person might be you.

4. Which is more likely to offer work at home options? Again, see above.
Depends on the place. Both probably allow for *some* work from home options, but you will rarely get a chance to work entirely from home.

5. How much of the required materials can be learned for free online using various tools/guides, and how much requires going back to school?
Programming can be self-taught with plenty of online courses and practice. I don't know about IT.

Having said that, if you teach yourself programming, make sure to get familiar with good programming practices. There are a lot of things you can do in programming that work fine when you're the only guy working on something, but can cause a lot of trouble in a larger work environment where multiple people are working on the same thing. Making sure your code is readable and easy to maintain by other people is a huge deal.

6. What kind of certs/degrees/licenses should I focus on, and how many of those can be used for either field?
Not sure. A college degree in computer science or software engineering is a very standard thing to have in this field, but outside of that I don't know if there are cheaper certs or college courses or anything.

7. Finally, what are some of the most common job titles for either field? Are there job positions that can have you do a little of both? Depending on the responses for #6, should I be focusing on earning knowledge that can have me doing both IT and Programming in one job?
Development jobs usually go something like "______ Developer" or "______ Software Engineer". For example, "Java Developer", or "Ruby Full Stack Developer", or "Senior Software Engineer". Software engineering is subtly different from programming, but the line is often blurred when it comes to job titles.

I'm also not against learning about a third option that I may not have known about.
Have you thought about system administrator jobs? These are people who set up and manage whole networks, along with making sure things are secure and reliable. It's a smaller pool than programming, but every company needs at least one.
 

Zoe

Member
Yeah, you don't really need math, unless you're working on really theoretical stuff like Google's search engine. But you would need like a PhD from MIT to get that job anyway.

Agreed. Most programming jobs are probably business applications which rarely need anything more complicated than multiplication and rounding.
 

Two Words

Member
I can see you're purposely trying to drive home a point that adds nothing to the discussion just to say you're right, so have at it.

I repeat: On the Venn Diagram of IT and Development - Dev is on the creativity side and IT is on the problem-solving side. They both meet and both mix, but each favors those sides respectively.
You’re simply wrong about this “favoring” business. Software development favors problem solving over creativity. Software engineering isn’t about being creative with your code or solutions. It’s about following design patterns that are scalable for large codebases and many developers. The majority of software development involves solving a problem and then writing the code that is the solution to that problem.
 
You're simply wrong about this ”favoring" business. Software development favors problem solving over creativity. Software engineering isn't about being creative with your code or solutions. It's about following design patterns that are scalable for large codebases and many developers. The majority of software development involves solving a problem and then writing the code that is the solution to that problem.

You're simply obsessed with being correct over what amounts to an informed opinion.

Let me make this easy for you:

1. In IT (be it networking, sysadmin, virtualization, etc...) *EVERYTHING* is problem solving. Why is this app not getting out to the internet? Why is this server not backing up? How did this switch go down? Why is this port dead? How to I cut costs? How do I make our network faster/more efficient? You USE creativity to assist in your problem solving methods.

Conversely:

2. In Development, there IS problem solving, which you seem to ignore me saying x100. BUT the crux of it is creation. Creating a website, creating an app, creating an AI system for a game - you USE problem solving to assist in your creation. It is not the backbone of the creation itself. I myself have learned HTML5/CSS/JS and then been clueless as to what to make with it. That's when I went into IT. As a side note, I was never a good artist or creative-type.

And thus I repeat myself: on the Venn Diagram of Development and IT - IT is on the problem-solving side, Dev is on the creativity side, and they heavily mix in the middle.
 

Two Words

Member
You're simply obsessed with being correct over what amounts to an informed opinion.

Let me make this easy for you:

1. In IT (be it networking, sysadmin, virtualization, etc...) *EVERYTHING* is problem solving. Why is this app not getting out to the internet? Why is this server not backing up? How did this switch go down? Why is this port dead? How to I cut costs? How do I make our network faster/more efficient? You USE creativity to assist in your problem solving methods.

Conversely:

2. In Development, there IS problem solving, which you seem to ignore me saying x100. BUT the crux of it is creation. Creating a website, creating an app, creating an AI system for a game - you USE problem solving to assist in your creation. It is not the backbone of the creation itself. I myself have learned HTML5/CSS/JS and then been clueless as to what to make with it. That's when I went into IT. As a side note, I was never a good artist or creative-type.
And I’m telling you that you’re wrong. The crux of it is not creativity, it is problem solving. You genuinely do not know what you’re talking about here. Even if you want to talk about creative projects like game development, the entire process is problem solving.
 

bwakh

Member
You're simply obsessed with being correct over what amounts to an informed opinion.

And thus I repeat myself: on the Venn Diagram of Development and IT - IT is on the problem-solving side, Dev is on the creativity side, and they heavily mix in the middle.

And I’m telling you that you’re wrong. The crux of it is not creativity, it is problem solving. You genuinely do not know what you’re talking about here. Even if you want to talk about creative projects like game development, the entire process is problem solving.

I think both of you have different definitions of what constitutes a problem.
 
And I'm telling you that you're wrong. The crux of it is not creativity, it is problem solving. You genuinely do not know what you're talking about here. Even if you want to talk about creative projects like game development, the entire process is problem solving.

LOL I'm done with you dude. Multiple people in this thread have already touched on development being about creativity and IT being more about problem solving.

When you want to make a game, you need creativity to drive your ideas, when you design a website, you need creativity to drive how it will look/function/feel, when you want to make an app, you need creativity to formulate what you want to do, how you want to do it, etc... and then you USE problem-solving to make it happen.

When you're in IT you use problem-solving to address literally *everything* and then implement creative methods of doing so (server crashed! oh no! I can problem solve bringing up a new one... but creativity may assist in choosing a virtualized environment with better failsafes this time).

If you don't get what I'm saying after this then I give up, you're hopeless.

I think both of you have different definitions of what constitutes a problem.

Precisely.

A problem (IMO) is not "What game do I want to make?" or "How do I want this website to look?"

That is a question of creativity and preference.

A problem is "Holy shit the entire network just went down and I have no clue why how do I fix this oh god"

One is *way* more heavily into creativity, and the other is *way* more heavily into problem-solving.

That's an honest concern that I have, since I am currently seeking therapy (possibly meds) for my anxiety. Take my current job: it's an absolute cakewalk with lots of holiday and time off, yet I find myself miserable because of the shitty commute (yesterday it took me an hour 10 minutes to get home) and early mornings. And when I make a mistake, even if it's super minor, I take it super hard and personal (internally, I always maintain a professional attitude).
.

From everything you've said - I feel IT is for you:

It is far less stressful than development / programming (less timetables, crunch time, writer's block when it comes to creativity, etc....).

It is LESS flexible (typically) than programming because oftentimes you need to be by your IT closet or at the office to fix/work on things (as a SysAdmin though I can do 75% of my job remotely once I got everything virtualized and set up for VPN/RDP).

The bonus of IT is that you have periods of "lull time" - where you have no projects you're working on, no stuff to do, nothing is broken, and you're just chilling (think being a firefighter). During those lulls I hone my programming (working on Python to do GameDev for fun).
 

TrounceX

Member
I don't have time to make a hyper detailed post right now, but I am a cybersecurity consultant so I have some experience here. I'll make a more detailed response to the OP's questions later if I find time.

To a few points being made:

1. The cybersecurity job market is one fire and there is a HUGE employment deficit and skills deficit. Look at this article. What this means is it's easy as hell to get a job, and if you're good, companies will throw money at you like you won't believe. I am 26 with a 2 year degree making over six figures.

2. IT is about solving problems. Finding solutions to problems is a satisfying creative endeavor. Particular to cybersecurity, doing analysis and tracking down malicious activity is basically like playing detective. It's immensely satisfying to use analysis tools to build a case of what you think happened, or to trail down a breach.

3. Programming skills are a huge value add to an cybersecurity analyst. We have a few guys who are great at Python and they are constantly on interesting projects, like reverse engineering malcode, threat hunting scripts, doing API pulls from different data sources etc. Just today I was looking at a Javascript file and trying to figure out exactly what it did so that I could verify if it ran or not.
 

Two Words

Member
LOL I'm done with you dude. Multiple people in this thread have already touched on development being about creativity and IT being more about problem solving.

When you want to make a game, you need creativity to drive your ideas, when you design a website, you need creativity to drive how it will look/function/feel, when you want to make an app, you need creativity to formulate what you want to do, how you want to do it, etc... and then you USE problem-solving to make it happen.

When you're in IT you use problem-solving to address literally *everything* and then implement creative methods of doing so (server crashed! oh no! I can problem solve bringing up a new one... but creativity may assist in choosing a virtualized environment with better failsafes this time).

If you don't get what I'm saying after this then I give up, you're hopeless.



From everything you've said - I feel IT is for you:

It is far less stressful than development / programming (less timetables, crunch time, writer's block when it comes to creativity, etc....).

It is LESS flexible (typically) than programming because oftentimes you need to be by your IT closet or at the office to fix/work on things (as a SysAdmin though I can do 75% of my job remotely once I got everything virtualized and set up for VPN/RDP).

The bonus of IT is that you have periods of "lull time" - where you have no projects you're working on, no stuff to do, nothing is broken, and you're just chilling (think being a firefighter). During those lulls I hone my programming (working on Python to do GameDev for fun).
Want to talk about designing a web site? Most companies with have a UX expert and the company will separately come up with their own look and feel and have the software developers implement it. Or they’ll use standards that already exist like Material. You are heavily assuming that software development makes all of the creative decisions when that isn’t true. Most of the time, developers are given specific requirements to fulfill. I don’t know why you’re obsessed with telling me how much my own work is creativity vs problem solving.

The closest I could get to what you’re saying is that software engineering is at least just as much of a problem-solving career as IT, but also has the room for some potential creativity.


All this stuff about software engineering being favoring creativity is flat out wrong though.
 

RRockman

Banned
Ooooh this thread is relevant to my interests!


How do you guys feel about having certifications? Is it reccomended? What are the best ones to have? I have my Comptia A+ and I was hoping I could transition into business IT with it and some years of experience.
 
Want to talk about designing a web site? Most companies with have a UX expert and the company will separately come up with their own look and feel and have the software developers implement it. Or they'll use standards that already exist like Material. You are heavily assuming that software development makes all of the creative decisions when that isn't true. Most of the time, developers are given specific requirements to fulfill. I don't know why you're obsessed with telling me how much my own work is creativity vs problem solving.

The closest I could get to what you're saying is that software engineering is at least just as much of a problem-solving career as IT, but also has the room for some potential creativity.


All this stuff about software engineering being favoring creativity is flat out wrong though.

Yep you don't get it. We're done. You're using obscure examples of certain situations to try to counter my broad point I made to make life easier on OP. At this point I think you're either trying to make software engineering out to be better/more difficult than IT or you just don't get anything that's been said. Not to mention we're talking about Dev in broad terms (web design, programming, etc) and you're harping solely on structured software engineering for a large corp. That was the giveaway that you're full of it.

Ooooh this thread is relevant to my interests!


How do you guys feel about having certifications? Is it reccomended? What are the best ones to have? I have my Comptia A+ and I was hoping I could transition into business IT with it and some years of experience.

A+ is a running joke in IT. It's essentially saying "I know how to make a printer work" (not really but you know).

Best certs from my experience for a holistic IT background with lots of opportunity: CCNA (Routing/Switching and Security), MCSA/E, VMWare Certs, PMP if you have a good foundation.
 

Two Words

Member
Yep you don't get it. We're done. You're using obscure examples of certain situations to try to counter my broad point I made to make life easier on OP. At this point I think you're either trying to make software engineering out to be better/more difficult than IT or you just don't get anything that's been said.



A+ is a running joke in IT. It's essentially saying "I know how to make a printer work" (not really but you know).

Best certs from my experience for a holistic IT background with lots of opportunity: CCNA (Routing/Switching and Security), MCSA/E, VMWare Certs, PMP if you have a good foundation.
Designing a website was your own “obscure example”. Why do you even think you’re more qualified to tell people who have worked in software engineering positions how much of their job is problem solving vs creativity?
 

captive

Joe Six-Pack: posting for the common man
This is going to be the last job-related thread I make. Seriously. Promise. It’s become abundantly clear that I should focus my next longterm career on something involving computers. I use computers all the time, I’m always fiddling around with programs and configurations, mainly for self benefit (such as my SNES Classic)....even my current job has me diagnosing the main PC software associated with our equipment. I have a fair amount of experience, it’s about time I put it into finding a decent career out of it.

But it always comes down to IT Security vs Programming/Software Development. I always hesitate when deciding between these two fields because, frankly, I don’t know enough about either of them. I’m hoping I can finally get enough information to help me comfortably make a choice, so here are my general questions:

1. What is the typical work enviornment for either? Which tends to offer more stress, more freedom, etc?

2. Which tends to have more job openings and opportunities?

3. Which offer more flexible/rotating schedules? I’m officially done with the 8-5 schedule, because I hate the early morning and I especially hate being stuck on the ass-end commute for both going to work and leaving work.

4. Which is more likely to offer work at home options? Again, see above.

5. How much of the required materials can be learned for free online using various tools/guides, and how much requires going back to school?

6. What kind of certs/degrees/licenses should I focus on, and how many of those can be used for either field?

7. Finally, what are some of the most common job titles for either field? Are there job positions that can have you do a little of both? Depending on the responses for #6, should I be focusing on earning knowledge that can have me doing both IT and Programming in one job?

I’m officially done hesitating at this point, so if I can get some of these basic questions out of the way, I can finally put forward a career plan. I just need to mainly know the differences between the two fields, which one currently has better job security/availability and what’s the best way to get my foot on either door.

I’m also not against learning about a third option that I may not have known about.
i've answered a few of these in PM with you.

but IT helpdesk -> system administrator -> more specialized administrator/consultant/whatever is probably the easiest route with no college degree and everything can be learned for free through google and other online resources.
 
Designing a website was your own ”obscure example". Why do you even think you're more qualified to tell people who have worked in software engineering positions how much of their job is problem solving vs creativity?

Why do you think you're more qualified than anyone else here to say that software engineering is not heavily grounded in creativity? You literally used a specific example of working on a software engineering project for a large corp that gives you the end-goals and controls all aspects of design.

*Completely* ignoring the massive foundation that Dev has in indie/independent web design, gamedev, appdev, etc...

I'd love to see a creatively inept person like myself design a great website, or game (cause trust me, I've tried and failed miserably).

Again - you're obsessed with driving home your meaningless point about software engineering not needing creativity or something in a controlled corporate environment, which has nothing to do with what we're discussing. Just stop.
 

Two Words

Member
Why do you think you're more qualified than anyone else here to say that software engineering is not heavily grounded in creativity? You literally used a specific example of working on a software engineering project for a large corp that gives you the end-goals and controls all aspects of design.

*Completely* ignoring the massive foundation that Dev has in indie/independent web design, gamedev, appdev, etc...

I'd love to see a creatively inept person like myself design a great website, or game (cause trust me, I've tried and failed miserably).

Again - you're obsessed with driving home your meaningless point about software engineering not needing creativity or something in a controlled corporate environment, which has nothing to do with what we're discussing. Just stop.
Because the majority of software engineering jobs are done within a company. Of course if you want to do something all on you’re own then you’re going to need to be creative. But that isn’t unique to software engineering. Being an entrepreneur in any industry requires creativity.

The truth is that you’re getting caught up in the flash of software development when it comes to things like indie development. That is a very small portion of the jobs in this industry and shouldn’t be used to color what software engineering is. You’re saying that my example is an obscure case. You’re wrong. The majority of software engineering jobs fit the form where you are given a problem to solve and given parameters to solve it in, typically in a corporate environment.



And you seem to be the only one here continually argument that software engineering facors creativity over problem solving.
 

pje122

Member
Do not conflate programming and software development.
A programmer is a type of software developer, but there are other roles in software development where you are not strictly coding and compiling.

Do some research (Googling) into the following:
Data Warehousing
ETL
Business Analysis
Project Management
Business Intelligence
Reporting
Software Testing

These might be better paths for you if you are not brilliant at math.
 
Because the majority of software engineering jobs are done within a company. Of course if you want to do something all on you're own then you're going to need to be creative. But that isn't unique to software engineering. Being an entrepreneur in any industry requires creativity.

The truth is that you're getting caught up in the flash of software development when it comes to things like indie development. That is a very small portion of the jobs in this industry and shouldn't be used to color what software engineering is. You're saying that my example is an obscure case. You're wrong. The majority of software engineering jobs fit the form where you are given a problem to solve and given parameters to solve it in, typically in a corporate environment.



And you seem to be the only one here continually argument that software engineering facors creativity over problem solving
.


And you *continue* to misunderstand what I'm saying. It's amazing, really.

I repeat: development requires creativity more than problem-solving when *broadly compared* to IT. IT is the opposite.

If you can't create/come up with shit when it comes to design then you are going to be more pigeon-holed if you go into development. You will forever be a code-monkey fixing bugs/patching/etc... and EVEN THEN fixing problems in development requires creative solutions more so than the logical, non-fluid realm of IT.

Conversely, in IT you do not need creativity beyond simply being "creative" (aka smart) about solving issues that you face when something breaks/needs to be made more efficient/etc.

Stop driving this "software engineering isn't all creativity omg" bus.. no one is saying that.
 

Two Words

Member
And you *continue* to misunderstand what I'm saying. It's amazing, really.

I repeat: development requires creativity more than problem-solving when *broadly compared* to IT. IT is the opposite.

If you can't create/come up with shit when it comes to design then you are going to be more pigeon-holed if you go into development. You will forever be a code-monkey fixing bugs/patching/etc... and EVEN THEN fixing problems in development requires creative solutions more so than the logical, non-fluid realm of IT.

Conversely, in IT you do not need creativity beyond simply being "creative" (aka smart) about solving issues that you face when something breaks/needs to be made more efficient/etc.

Stop driving this "software engineering isn't all creativity omg" bus.. no one is saying that.
What are you even calling creativity? It sounds like you’re describing anything and everything that isn’t just following a set of given instructions as “creativity”.

And even if software development requires creativity more than IT does, that doesn’t mean it is significant when comparing it within software development. Let’s put numbers to it.


Let’s say software engineering requires 5 units of creativity and IT requires 2 units of creativity. Let’s also say that software engineering requires 50 units of problem solving skills and IT requires 40 units of problem solving skills. The ratio of creativity/problem solving units is higher in software development, but that doesn’t mean that creativity is not a major need within software development.
 
What are you even calling creativity? It sounds like you're describing anything and everything that isn't just following a set of given instructions as ”creativity".

And even if software development requires creativity more than IT does, that doesn't mean it is significant when comparing it within software development. Let's put numbers to it.


Let's say software engineering requires 5 units of creativity and IT requires 2 units of creativity. Let's also say that software engineering requires 50 units of problem solving skills and IT requires 40 units of problem solving skills. The ratio of creativity/problem solving units is higher in software development, but that doesn't mean that creativity is not a major need within software development.

My god you will do anything to try and prove yourself correct on some angle, won't you?

You took my statement "If you are more creative, development may suit you more as it involves creativity more than IT... if you are a non-creative, logical problem-solver than I would say IT suits you more" and turned it into some pseudo-philosophical trainwreck on the finer points of working in Tech.

And it's hard to shake the notion that you've been trying to push a "software engineers are just better overall" narrative.

I have helped developers/programmers fix their PC / app issues that they were fucking clueless on (even though they apparently have superior units of problem solving... lol)... yet I couldn't help them to save my life when it comes to making a pretty website or good-looking app. That analogy alone should explain all this for you... but I'm sure it won't.
 

prophetvx

Member
I'm curious of your view on self taught developers and traditionally taught developers. Web development has become the new "go to job path" online over the past couple of years and I see "how do I get quickly get a job with coding??? in a couple of months??" all the time and it boggles my mind. It seems most people who are trying to shortcut this to try and get a job end up being like the "hobby developers: (from your context I assume
"bottom of the barrel"), at least in my opinion.

I dabbled into a web development internship after 8 months of learning front-end on my own and while I could build simple things, I was completely useless next to their freshly graduated CS grad. It put things into perspective for me and I realized how little I actually know compared to this person, and now i'm pursuing a CS degree.

I just feel like someone can become a front end developer but their knowledge is going to be so limited to that specific role. I'm finishing up my first year pretty much for CS and have learned so much information compared to when I was learning on my own... For example things like FCC and udemy tutorials don't actively teach you how to problem solve. They teach you how to go through their solutions and make you think you know how to do it when you probably don't.
Anyone can pick up programming as a hobby and often can create some useful stuff if you're dedicated to it. Javascript in particular is very easy to pick up but it's hard to master. There are a ridiculous amount of pitfalls compared to most languages that can make debugging a nightmare. Before you know it, you've written an app that needs to be completely rewritten. It's versatility is an asset but a huge liability.

I'm not knocking on hobbyists, Facebook was started by one. The problem with being self-taught unless you're very disciplined is that you won't take the time to actually learn good processes and design, it's actually a problem for junior developers from all backgrounds, but if you've spent a few years at university at least you have some fundamentals behind you.

Programming is ridiculously easy to pick up bad work-reward cycle habits, many take the approach of if it works, my work is complete and onto the next thing. The end result of that is a bucket load of technical debt and unmaintainable code. I don't know necessarily that university teaches you more tricks and solutions to achieve a task, in my experience it was largely antiquated for my professional life, working with others is what teaches you those things. What it does do is give you the foundations for discipline that makes that first year or two a little easier but nothing ever truly equips you for working on large, sustainable projects until you're actually on one.

As for Udemy, I'm sure there is some useful stuff on there, but anyone can post anything on it. I'd trust people on there to teach you bad practices just as much as good ones.
 

Two Words

Member
My god you will do anything to try and prove yourself correct on some angle, won't you?

You took my statement "If you are more creative, development may suit you more as it involves creativity more than IT... if you are a non-creative, logical problem-solver than I would say IT suits you more" and turned it into some pseudo-philosophical trainwreck on the finer points of working in Tech.

And it's hard to shake the notion that you've been trying to push a "software engineers are just better overall" narrative.

I have helped developers/programmers fix their PC / app issues that they were fucking clueless on (even though they apparently have superior units of problem solving... lol)... yet I couldn't help them to save my life when it comes to making a pretty website or good-looking app. That analogy alone should explain all this for you... but I'm sure it won't.
It’s on you how you read things.

And I have already explained how designing apps and web sites is not something typically within the wheelhouse of a software developer. Their is a domain in software development that is entirely fixed on user experience. My Master’s in CS has several specialties.

Data Science
Information Assurance
Computer Networking
Intelligent Systems
Systems (low level hardware programming)
Interactive Computing
Software Engineering
Traditional Computer Science

Only one of these tracks even touches on on user experience, Interactive Computing. How do you not possibly understand how misleading it is to try and represent a single small case where a software developer might be required to exercise some creative muscles? Even if their job is to build a web site for a company, they are often given wire frames of how the web site should look and just told to implement it. But even if you want to falsely assume all of those jobs require you to design it yourself, the vast majority of software development jobs are not going to be in this space. The only explanation here is that you have a false idea of what a typical job in software development is like.
 

prophetvx

Member
Why do you think you're more qualified than anyone else here to say that software engineering is not heavily grounded in creativity? You literally used a specific example of working on a software engineering project for a large corp that gives you the end-goals and controls all aspects of design.

*Completely* ignoring the massive foundation that Dev has in indie/independent web design, gamedev, appdev, etc...

I'd love to see a creatively inept person like myself design a great website, or game (cause trust me, I've tried and failed miserably).

Again - you're obsessed with driving home your meaningless point about software engineering not needing creativity or something in a controlled corporate environment, which has nothing to do with what we're discussing. Just stop.

Most in software dev would fail at that task as well.

For web design, generally graphic designers would send a sliced design and the assets are then converted to HTML by dev. I think you're putting too much emphasis on creativity in the industry, sure it exists but for the vast majority it is about getting a high level spec of a problem to solve and implementing it. Depending on where you sit on the food chain determines how much of the problem is solved before it reaches you.

Indie and game development are a mere pittance as a percentage of the total world software development workforce. Some of the largest game studios in the world only have 200 developers, you can have 10 times that working on internal systems for large corporations.

There are many in software development who are not creative or problem solvers and that ensures that they are always relegated to being the work horses. Unless you're working in UX or something like game development, solving algorithmic issues, bug fixing, improving efficiencies and working off a spec are far more common.

There is just as much problem solving in IT as there is in Software Development, they're just very different types of problems.
 
Most in software dev would fail at that task as well.

For web design, generally graphic designers would send a sliced design and the assets are then converted to HTML by dev. I think you're putting too much emphasis on creativity in the industry, sure it exists but for the vast majority it is about getting a high level spec of a problem to solve and implementing it. Depending on where you sit on the food chain determines how much of the problem is solved before it reaches you.

Indie and game development are a mere pittance as a percentage of the total world software development workforce. Some of the largest game studios in the world only have 200 developers, you can have 10 times that working on internal systems for large corporations.

There are many in software development who are not creative or problem solvers and that ensures that they are always relegated to being the work horses. Unless you're working in UX or something like game development, solving algorithmic issues, bug fixing, improving efficiencies and working off a spec are far more common.

There is just as much problem solving in IT as there is in Software Development, they're just very different types of problems.

Precisely. And I agree.

What Two Words seemed to be harping on was wildly different than what I was.

My entire point is that if you're a creative-minded person, you have more opportunities to flex that in development. If you're a non-creative type who doesn't want the responsibility of designing stuff, then IT is better suited.

However, once you're heavily ingrained into engineering in a large corp (be it web or app or game design) - you lose a lot of creative control. But that *typically* does not happen until you land a big-time job where such structures are already in place (which ding ding, the OP won't be facing until years from now, most likely). Two Words ignored that part.

VERY few programmers or engineers I know have started out in streamlined and structured corporations. It's anecdotal but that's what I have to work off of.

It's on you how you read things.

And I have already explained how designing apps and web sites is not something typically within the wheelhouse of a software developer. Their is a domain in software development that is entirely fixed on user experience. My Master's in CS has several specialties.

Data Science
Information Assurance
Computer Networking
Intelligent Systems
Systems (low level hardware programming)
Interactive Computing
Software Engineering
Traditional Computer Science

Only one of these tracks even touches on on user experience, Interactive Computing. How do you not possibly understand how misleading it is to try and represent a single small case where a software developer might be required to exercise some creative muscles? Even if their job is to build a web site for a company, they are often given wire frames of how the web site should look and just told to implement it. But even if you want to falsely assume all of those jobs require you to design it yourself, the vast majority of software development jobs are not going to be in this space. The only explanation here is that you have a false idea of what a typical job in software development is like.

Your entire premise is flawed.

You're looking at this from your perspective - not the OP's.

You dismiss indie/contract work, but guess what? That's how someone starts out.

OP isn't gonna learn Java from a textbook then land a job at Google.

You're assuming my knowledge-base on top of your flawed premise as well, which is wildly insulting and assumptive.
 
I myself went for both these careers and ended up in IT, and this is what I learned:


2. IT allows you more job opportunities outside of your specialization (a Java programmer may have a hard time getting a Project Manager position at some random company... I won't - because I have organizational/infrastructure/management experience as an IT Manager).

I agree with this sentiment. That is pretty much the path I find myself in. I can do software development and as a project manager I have that versatility. At times it is a double edged sword. If I ever wanted to lateral and back to a software development or analyst role it will look funny on my resume.
 

Two Words

Member
Precisely. And I agree.

What Two Words seemed to be harping on was wildly different than what I was.

My entire point is that if you're a creative-minded person, you have more opportunities to flex that in development. If you're a non-creative type who doesn't want the responsibility of designing stuff, then IT is better suited.
If you’re a non-creative person, software development is still an absolutely great area to jump into. This “creativity” thing is a terrible thing to decide on jumping between IT and software development. Just look at the kind of work involved in each one and resides

The person you are quoting is saying your conception of creativity within software development is wrong.
 
I’ve been in development for 3+ years and haven’t had to use much math beyond some basic arithmetic and big-O analysis. What are you all doing that you need so much math?
 

Two Words

Member
Precisely. And I agree.

What Two Words seemed to be harping on was wildly different than what I was.

My entire point is that if you're a creative-minded person, you have more opportunities to flex that in development. If you're a non-creative type who doesn't want the responsibility of designing stuff, then IT is better suited.

However, once you're heavily ingrained into engineering in a large corp (be it web or app or game design) - you lose a lot of creative control. But that *typically* does not happen until you land a big-time job where such structures are already in place. Two Words ignored that part.



Your entire premise is flawed.

You're looking at this from your perspective - not the OP's.

You dismiss indie/contract work, but guess what? That's how someone starts out.

OP isn't gonna learn Java from a textbook then land a job at Google.

You're assuming my knowledge-base on top of your flawed premise as well, which is wildly insulting and assumptive.
I’m saying it is wrong because you have demonstrated it to be wrong. Most people also don’t get into software development by going into indie jobs or contract work. This is an industry with immense job opportunity from many large companies.
 
Basically every person I've ever met that works in IT spends more than half the day sitting around doing nothing so I'd choose that job. It pays well too.
 
If you're a non-creative person, software development is still an absolutely great area to jump into. This ”creativity" thing is a terrible thing to decide on jumping between IT and software development. Just look at the kind of work involved in each one and resides

The person you are quoting is saying your conception of creativity within software development is wrong.

No - they weren't - they were specifying what you were trying to say in a better manner. And funny thing is - I agree!

You were trying to drive home some wildly specific case of working in a structured corporate environment being the end-all of development - which is not how it works most of the time.

And again, for the 10000th time, development requires a creative knack more than IT does. You can say it doesn't, but it does.

I'm saying it is wrong because you have demonstrated it to be wrong. Most people also don't get into software development by going into indie jobs or contract work. This is an industry with immense job opportunity from many large companies.

You really don't get how your statement/perspective isn't really helpful here?

Did you forgot to mention you have a MS in CompSci?

Do you think the OP is starting from there?

How do you start off learning and testing your programming? Making something. What does making something require? Creativity, even a sliver of it.

End of discussion. My god you are an obtuse human being.

- Side note: I never said whether you are creative or not should influence your decision completely - I said what you enjoy more should. Your creative ability will certainly help if you go into development, and I would recommend it if you are creative - THATS what I said.

Basically every person I've ever met that works in IT spends more than half the day sitting around doing nothing so I'd choose that job. It pays well too.

It's pretty great.

Lots of free time to develop other skills, too!
 

Radec

Member
Been working as a software developer for like 7-8 years now mostly on Database/Back-end data for telecom/banks/insurance companies.

Most of the things I've learned are over the course of working on it. Especially on SQL/PL/SQL. These can be learned online too if you're not lazy. Hell most of the time I just google them if I forgot something or not sure what to use on a certain logic or such.

You can also get into IT even if you're not a programmer or developer. You can be a Business Analyst. But that needs alot of understanding on the system that you will be working on as you will be designing what the programmers will code.
 

Two Words

Member
No - they weren't - they were specifying what you were trying to say in a better manner. And funny thing is - I agree!

You were trying to drive home some wildly specific case of working in a structured corporate environment being the end-all of development - which is not how it works most of the time.

And again, for the 10000th time, development requires a creative knack more than IT does. You can say it doesn't, but it does.



You really don't get how your statement/perspective isn't really helpful here?

Did you forgot to mention you have a MS in CompSci?

Do you think the OP is starting from there?

How do you start off learning and testing your programming? Making something. What does making something require? Creativity, even a sliver of it.

End of discussion. My god you are an obtuse human being.
I don’t have an MS in computer science. I am working on both my BS and MS in computer science simultaneously right now though. My experience comes from several internships doing real software development work and researching in the kind of career I’m going into. I am somebody who came back to college at age 25 and had to catch up after wasting a lot of years at a dead-end retail job. So I’m not somebody taking the traditional high school to college to professional career path.


You keep trying to act like these corporate-level software development jobs are some specific example when thy constitute the majority of the jobs in this industry. Indie jobs are few and far between if you’re trying to gauge the job potential of this industry, you need to pay the most attention to the corporate jobs.

I have never argued about whether or not software development requires more creativity than IT. My argument has been that is not a meaningful distinction between the two because software engineering almost never focused on creativity. There are other more meaningful metrics to decide between the two fields.
 
I'm surprised Two Words didn't have a mental breakdown when he saw the first post:

You should consider IT if you want to use tools that already exist and want to become "fluent"at using them. You should become a software developer if you are creative and fucking love math.

And the people that agreed with it.

I don't have an MS in computer science. I am working on both my BS and MS in computer science simultaneously right now though. My experience comes from several internships doing real software development work and researching in the kind of career I'm going into. I am somebody who came back to college at age 25 and had to catch up after wasting a lot of years at a dead-end retail job. So I'm not somebody taking the traditional high school to college to professional career path.


You keep trying to act like these corporate-level software development jobs are some specific example when thy constitute the majority of the jobs in this industry. Indie jobs are few and far between if you're trying to gauge the job potential of this industry, you need to pay the most attention to the corporate jobs.

I have never argued about whether or not software development requires more creativity than IT. My argument has been that is not a meaningful distinction between the two because software engineering almost never focused on creativity. There are other more meaningful metrics to decide between the two fields.

Then you discuss those "metrics" (your opinions) while I discuss mine.

See how easy that is?

_____

But for real OP, if you don't want stress, want flexibility, aren't a math or design-whiz, then IT is great. You will have more control and freedom most of the time than a code-monkey would (beyond stuff like doing contract work and the like).
 

Two Words

Member
I'm surprised Two Words didn't have a mental breakdown when he saw the first post:



And the people that agreed with it.



Then you discuss those "metrics" (your opinions) while I discuss mine.

See how easy that is?

_____

But for real OP, if you don't want stress, want flexibility, aren't a math or design-whiz, then IT is great. You will have more control and freedom most of the time than a code-monkey would (beyond stuff like doing contract work and the like).
I am also free to point out a mistake. If anything, you would be better helping the OP by limiting your advice to what you have experience in. I am inexperienced in IT and won’t comment on what it entails, for example.

It’s also funny that you keep claiming I’m taking shots at IT while you repeatedly use terms like “code-monkey”.
 
As an SDE, I have no clue why people think math genius is necessary for the profession. It really isn't except in specialized cases.

When I look at candidates I'm most concerned with their ability to break down problems into logical units that are functional, flexible, and maintainable.

I'd also argue that larger companies actively avoid hiring "code monkeys". Design should be the most difficult part of software development. Implementation is trivial if the design is good.
 
I am also free to point out a mistake. If anything, you would be better helping the OP by limiting your advice to what you have experience in. I am inexperienced in IT and won’t comment on what it entails, for example.

It’s also funny that you keep claiming I’m taking shots at IT while you repeatedly use terms like “code-monkey”.
I have experience in development and IT both. I chose IT for my sanity. I have utmost respect for people that can deal with the rigors of development. It makes me neurotic.

Code Monkey is a term I was called, was the name of a show I love, and I see it used everywhere. Not really an insult. Just part of some dev jobs.
 
Yeah, you don't really need math, unless you're working on really theoretical stuff like Google's search engine. But you would need like a PhD from MIT to get that job anyway.
problem is you still have a bunch of math classes to take in college.
i just switched from programing to IT because this very reason.
 
I did IT support-type work in various roles from age 16-28. For over a year I've been doing "full-stack" development (more or less) in the .NET world.

1. What is the typical work enviornment for either? Which tends to offer more stress, more freedom, etc?
This is entirely dependent on where you work, and what the work culture is like. You could find good and bad environments for virtually any IT profession.

2. Which tends to have more job openings and opportunities?
This depends on where you live, but I don't think you'll have a shortage of opportunities no matter what.

3. Which offer more flexible/rotating schedules? I’m officially done with the 8-5 schedule, because I hate the early morning and I especially hate being stuck on the ass-end commute for both going to work and leaving work.
When you do support-type work you'll probably be more likely to bound to the working hours of your clients versus working on projects. That said, projects typically have deadlines.

4. Which is more likely to offer work at home options? Again, see above.
It would depend on the field, as some IT infrastructure jobs offer telework opportunities. I think, generally, though, software development positions would be more able to offer this. Again, it kinda depends on your company. Mine does not allow consistent WFH, because they expect us to work/collaborate in a team environment.

5. How much of the required materials can be learned for free online using various tools/guides, and how much requires going back to school?
You can learn virtually everything you'd need for free, outside of some certifications where you'd probably have to take a class or whatever. Degrees are attractive to employers. If you can get your foot in the door in an internship and rack up some experience, that's also verrrryyyy helpful.

6. What kind of certs/degrees/licenses should I focus on, and how many of those can be used for either field?
Computer science is applicable to many fields, but if you're going to go back to school/take courses, I think you should make up your mind on what field you want to work in. An "IT" degree is not going to get you as far as a CS degree if you wanted to be a software developer.

7. Finally, what are some of the most common job titles for either field? Are there job positions that can have you do a little of both? Depending on the responses for #6, should I be focusing on earning knowledge that can have me doing both IT and Programming in one job?
Software developer, web developer, software/technical architect, programmer, systems analyst, system administrator, IT service tech, helpdesk technician, database administrator, network engineer, network architect, security analyst ... to name a few.

Hopefully some of this helps.
 
Top Bottom