Skip to main content
GameDev.net gamedev.net
🔒 Locked

Engineering vs Programming?

Started by Ovicior Jun 15, 2015 at 1:35 AM 19 replies 9.6k views
Original Post
Ovicior
Ovicior

Hey,

I'm a pretty young kid, aspiring to become a software engineer. My parents, however, recommended that I not do programming as:

1. The salary can't support a family (Indian, so arranged marriages and kids in the late 20s are usually expected)

2. You sit and stare at computers all day

3. You'll get bored of computers

4. You don't socialize with other workers as a programmer

They suggested I go after aeronautical engineering, or something similar (even though the salaries are usually lower :P).

I understand they're both engineering, but what're the differences between programming and general engineering (Base concepts used in all engineering jobs).

Also, what is the best path to take in order to get a good salary as a programmer? (120k+)

I'll definitely be going to college, so what classes to take?

What're the highest paying programming jobs?

What will you make?
Hodgman
Hodgman

1) Average programmer salary in the US is $80k, which AFAIK is enough to be a financially comfortable family. Not rich, but definitely not at all poor. Yep, the starting salary could be half that though...
2) Personally, I try to stand at mine. It's bad for your health to sit too much tongue.png
3) Computers are a tool. Does a draftsman get bored of pencils? Oh wait, they also use computers these days anyway laugh.png
4) I can't say how true that is. I have a large group of "work-friends" that I socialize with. Maybe that's an Australian thing though -- forming social bonds by drinking beer in the office on a Friday...

Also, what is the best path to take in order to get a good salary as a programmer? (120k+)
What're the highest paying programming jobs?

Either - the ones that take 10 years of practice and continuous learning and improvement to get to (senior, team-leader and specialist roles of any kind), Or, ones where your clients have a lot of money and responsibility -- finance, defense, aerospace, mining, etc... anything where lives or billions in profits are at stake. Hell you can earn $120k+ doing laundry for a mining company if money is your only concern in life.

ChaosEngine
ChaosEngine

To address your points:

1. nonsense. There are plenty of people who support a family on a software engineers pay. As for arranged marriages and kids, that's up to you, but this is 2015... if you don't want to get married or have kids, tell your family to get stuffed.

2. Yeah, there's a lot of that, but there's also design meetings, working together on problems, etc.

3. You might. Plenty of people don't and haven't.

4. Also nonsense. I socialise with plenty of people I've met at work.

The difference between programming and engineering? They're pretty different fields. In general, you will need a much greater understanding of physics, materials, etc in real world engineering. You can easily go your entire programming life without every needing to know any math beyond simple arithmetic/logic and no physics at all, or you might end up writing an incredibly complex physical simulation or some crazy financial wizardry.

if you think programming is like sex, you probably haven't done much of either.-------------- - capn_midnight
Servant of the Lord
Servant of the Lord

As for arranged marriages and kids, that's up to you, but this is 2015... if you don't want to get married or have kids, tell your family to get stuffed.

There's benefits to clan-like cultures and even arranged marriages. This may be harder to understand if we're coming from a typical american family structure, or in the Disney culture of choosing a mate based on emotions that wax and wane. Arranged marriages can also end up being bad, but we shouldn't assume that that's always the case. Plus, we already have evidence that Ovi's parents aren't forcing him do what they want in terms of occupation, only giving their 'recommendation' and 'suggestion' (in Ovi's wording), not a hard command for what career to take.

While, yes, Ovi definitely does have free will to make his own decisions, we shouldn't bash his culture or advise him to give his culture and family the finger just because we're unfamiliar with it. Not everything "modern" is necessarily better - we shouldn't use unfounded claims of enlightenment (which I'm inferring from the "this is 2015" statement) as excuses to act impulsively.

Giving cross-cultural advice is risky business. smile.png

szecs
szecs

I graduated as a mechanical engineer and programming is a hobby for me. According to my experience, the main difference is that programming is quite one-dimensional compared to mechanical engineering. That's a fundamental difference, there are obvious differences (such as materials science, mechanics, math, physics, whatever) too.

By one-dimensional I mean usually in programming (especially nowadays) you don't have to worry about the size and strength of things, how totally unrelated things have to be packed in the same place (unless you write horribly messy programs), you don't have to worry about manufacturing, materials, reproducibility etc.

EDIT: in programming, you don't have to worry about backlash+hysteresis, friction and deformation. If an algorithm's logic works, than it works, even if it's not optimized. May be slow as a snail, require huge memory, may give imprecise results (ill-conditioned calculations may be analogous to backlash), but works. In mechanics, if something logically works, but it's not optimized, the mechanism may end up not working at all. Or sometimes working. Or working 95% of the time, depending on the environment in ways sometimes it's impossible to understand ("the machine has soul").

The building blocks and how they interact with each other is much easier in programming, but the end product is usually much more complicated than a machine. The building blocks and how they interact with each other in Mechanical engineering is much harder, but the assembly itself is usually not that complicated.

So in my opinion, it's much easier to jump into programming and programming is much more tolerant to hacking, but in the end, a high-end product may require the same effort/level of expertise. Machines "have souls", if a program "has soul", you really screwed something up, or working with a buggy driver.

Wake-up post...

LennyLen
LennyLen

There's also a lot of difference between being a programmer, and being a software engineer. Just like there's a lot of difference between being an assembly worker and being a mechanical engineer.

In smaller companies, or with smaller projects, the roles of software engineers and programmers are often merged, but with large pieces of software, it's not uncommon for the lead engineers to not write a single line of code, nor is it uncommon for many of the programmers to know how the different parts of the software fit together, or why some of the conditions placed on them are necessary.

Just as it's uncommon for mechanical engineers to make final products, and it's uncommon for the people putting the products together to need to know anything about why the product is designed the way it is.

Promit
Promit

Indian here, so I get a little more of where you're coming from culturally. Don't think my family is as conservative as yours, though.


1. The salary can't support a family (Indian, so arranged marriages and kids in the late 20s are usually expected)

It's easy to find 80k jobs, and 100k+ is common in major tech areas that have higher living costs. Wall Street finance will get you in the 200k+ range. There's not a lot of jobs out there that pay better.


2. You sit and stare at computers all day
3. You'll get bored of computers

I've been waiting twenty years for this to happen and it hasn't happened yet. In any case, if it does you simply transition to a management role as none of the techies want to do it anyway. And then you make even more money. Middle management at IBM, HP, etc can easily do 200k+.


4. You don't socialize with other workers as a programmer

This is 1) incredibly false and 2) kind of a plus point. But I have a word for programmers who aren't interacting with their colleagues: fired. This is a team sport. Honestly at some jobs, I found it tiresome how often people wanted to continue socializing after work.


They suggested I go after aeronautical engineering, or something similar (even though the salaries are usually lower ).

Which... involves sitting in front of a computer all day. It's not as if you go and build the damn rocket/aircraft/missile/whatever. You sit on a computer building CAD models and running simulations all day. Same goes for most other engineering. These are not hands-on careers. You'll have maybe the occasional day of dealing with physical objects, but it's not the norm and it's probably not applicable at entry level.


1. The salary can't support a family (Indian, so arranged marriages and kids in the late 20s are usually expected)

It's easy to find 80k jobs, and 100k+ is common in major tech areas that have higher living costs. Wall Street finance will get you in the 200k+ range. There's not a lot of jobs out there that pay better.


2. You sit and stare at computers all day
3. You'll get bored of computers

I've been waiting twenty years for this to happen and it hasn't happened yet. In any case, if it does you simply transition to a management role as none of the techies want to do it anyway. And then you make even more money. Middle management at IBM, HP, etc can easily do 200k+.


4. You don't socialize with other workers as a programmer

This is 1) incredibly false and 2) kind of a plus point.


They suggested I go after aeronautical engineering, or something similar (even though the salaries are usually lower ).

Which... involves sitting in front of a computer all day. It's not as if you go and build the damn rocket/aircraft/missile/whatever. You sit on a computer building CAD models and running simulations all day.

Hmm. What jobs involve making tons of money, socializing with people constantly, and yet not sitting in front of a computer at all? I think you're quietly being pushed towards med school. Probably as you get closer to making decisions, the idea of studying basic sciences or math and doing pre-med will come up. Watch out for that.


Also, what is the best path to take in order to get a good salary as a programmer? (120k+)

Master's degree.


I'll definitely be going to college, so what classes to take?

Master's degree classes.


What're the highest paying programming jobs?

Finance. Easy to head out to NYC and do this work for 120k a year at entry level and up from there. Sure living expenses will be 50k/year but it still works out pretty well. Do not go into games or other entertainment industries if money is a concern.

I'm also surprised that the outsourcing thing hasn't come up, or maybe you just didn't mention it. There are a number of responses to this, my favorite being that thanks to India's brain drain (which is kind of a problem for them), anyone who is still there is actually pretty damn terrible at software. Remember all those big Indian software companies? Yeah, me neither. But a more ... polite response is to suggest establishing US citizenship if you haven't already, get security clearance, and work in computer security. Can't be outsourced, pays well, and there's tons of demand and will continue to be for a long time. Living expenses in MD/DC/VA are actually great too and there are even some nice places to live.


1. The salary can't support a family (Indian, so arranged marriages and kids in the late 20s are usually expected)

Years away at college, and then a well paying job, will do wonders for dealing with family expectations. Don't sweat this for the time being. However, white born-and-bred American people will invariably try to give you (sometimes loud) advice on how you should be interacting with family. Ignore them, it will not help and they don't know what they're talking about.

SlimDX | Ventspace Blog | Twitter | Diverse teams make better games. I am currently hiring capable C++ engine developers in Baltimore, MD.
thatguyfromthething
thatguyfromthething

Computer guys are more born than made. I don't suggest to go into it unless you feel like you are very drawn to it. It could work out fine if you are not, but many people are not really that happy with it.

This is my thread. There are many threads like it, but this one is mine.
frob
frob

1. The salary can't support a family (Indian, so arranged marriages and kids in the late 20s are usually expected)
2. You sit and stare at computers all day
3. You'll get bored of computers
4. You don't socialize with other workers as a programmer
5. What're the differences between programming and general engineering (Base concepts used in all engineering jobs).
6. What is the best path to take in order to get a good salary as a programmer? (120k+)
7. What classes to take?
8. What're the highest paying programming jobs?


1. Salaries are local things. At present computer programmers around the globe are frequently paid well above the local average wages. Sometimes 2x the average, 3x the average, 5x the average. Also, you can move to other locations around the globe. I don't want to speak bad about it, I've known several people who have moved (temporarily and permanently) out of India and they describe how some homes have 3+ generations in them, where the 30-something couples has their young children and also has his 50-something parents and 70-something grandparents. Around the globe that level of extended family is a fairly rare situation; even with moderately large families only one or two children remain with the parents, and one one of the cousins houses the grandparents. All through human history people have branched out from their atomic families on their own, left their families, sometimes with their blessing and other times against their parent's will. Figure out your passions. More on that in answer 7.

2. Many people have standing workstations, although they are uncommon. It seems over the past few workplaces, about one in thirty use standing desks that I have seen, although many of those sit a portion of the day. Nothing says you must sit all day, and many developers pick up sports or athletics of some kind. 2-3 decades ago martial arts were the athletics of choice, it seems these days many different field sports tend to be more common.

3. These days, people hold jobs for about 4.5 years and on average people change careers 3 times in their lives. You may very well decide to follow different interests later in life, and that is fairly common. More on that in answer 7.

4. Nonsense. Most software developers work in offices with many people and have frequent meetings. Yes there is less social interaction compared to fields like sales and marketing, and there are extremely rare individuals who avoid all socialization, but on the whole most software developers are as sociable as any other cross-segment of humanity. Some are more introverted, some extroverted, that's okay.

5. Position names are a cultural thing within companies. The term "engineer" in some places is legally regulated when it comes to topics of civil engineering or architectural engineering. As a broad generalization, "programmer" or "coder" often implies less skill. A person who takes a design made by others and translates it into computer code. A "software engineer" or "programming engineer" or "systems engineer" often implies more applied science, more thoughtful design and analysis, and perhaps less writing of code, or writing more broad systems rather than single-use stuff. Some companies use terms interchangeably, others have a strong difference.

6. I hope that isn't all you are looking for, but sticking with your question, it depends on the region and the marketplace. If you live in a region with little money, no matter how expert you are in the field you won't bring in $120K because no such jobs exist there. If you live in an expensive region then $120K may be barely enough to keep a roof over your head. From about the 1960s to the 1990s the best paying software development jobs are as database development for emerging businesses, but that has been changing as markets and products change. Non-database server backends have also had high pay over that time frame. Banks and financial systems tend to also be financially dependable. In the early 2000's it was all about "big data", being able to efficiently mine existing data and generate statistics and trends rather than develop the business software. In the past decade there has been a strong transition over to social network programming. I have no idea what the best will be when you reach adulthood in a decade. It could easily be that a decade from now the market has dropped out of today's high-money software development businesses.

7. What classes to take is best discussed with your school. My recommendation there is that you take courses that support your main passions. Many people on the forums recommend that you "follow your passions". Do the things that you enjoy. I STRONGLY recommend a book called "What Color Is Your Parachute?" which is updated every year. A large section of the book has you build a diagram, called "the flower diagram", that helps you identify what passions you have in your life. They include things like what you enjoy (and what you dislike), what fields you are passionate about, what geographic locations you are interested in, what skills you are most passionate about using, and what other attributes are part of your current personal mission through life. The answers change over the years (I'm reworking my own flower diagram presently) but simply having a clear statement about what you are deeply passionate about can be life-changing. I've known several people over the years who have switched careers after discovering that their passions have moved and they lie elsewhere. Once you have identified your passions, following them is much easier. Work over the book, identify your passions, and act accordingly.

8. As mentioned in answer 6, the actual pay levels depend on location and the prevailing market. Does it matter if you have the highest paying programming job? Would it bother you if you had the third highest paying programming job? Or fifth highest? Most people are content with a reasonably high wage that we can live comfortably on.
Servant of the Lord
Servant of the Lord

Computer guys are more born than made. I don't suggest to go into it unless you feel like you are very drawn to it. It could work out fine if you are not, but many people are not really that happy with it.

I don't feel I was born into programming, and when I got into it, it wasn't because I was drawn to programming - I was drawn to videogame level design, and the programming was only a means to an end. But I've come to enjoy it immensely, after the first year of stubbornly pressing through it.

I'm not saying everyone would enjoy programming if they gave it enough time, but I am saying not everyone who has come to enjoy programming was drawn to it from the beginning. But I agree that if you don't like it, don't make a career out of it. smile.png

ChaosEngine
ChaosEngine

As for arranged marriages and kids, that's up to you, but this is 2015... if you don't want to get married or have kids, tell your family to get stuffed.

There's benefits to clan-like cultures and even arranged marriages. This may be harder to understand if we're coming from a typical american family structure, or in the Disney culture of choosing a mate based on emotions that wax and wane. Arranged marriages can also end up being bad, but we shouldn't assume that that's always the case. Plus, we already have evidence that Ovi's parents aren't forcing him do what they want in terms of occupation, only giving their 'recommendation' and 'suggestion' (in Ovi's wording), not a hard command for what career to take.

While, yes, Ovi definitely does have free will to make his own decisions, we shouldn't bash his culture or advise him to give his culture and family the finger just because we're unfamiliar with it. Not everything "modern" is necessarily better - we shouldn't use unfounded claims of enlightenment (which I'm inferring from the "this is 2015" statement) as excuses to act impulsively.

Giving cross-cultural advice is risky business. smile.png

See bolded parts. I'm not saying he shouldn't have an arranged marriage or have kids, simply that he doesn't have to.

I'm not bashing his culture either; if one is happy to have an arranged marriage and it works out, great.

But no-one in any culture should be forced into a lifelong partnership against their will. That is literally in the UN declaration on human rights.

if you think programming is like sex, you probably haven't done much of either.-------------- - capn_midnight
alnite
alnite

Here's my pennies.

Hey,

I'm a pretty young kid, aspiring to become a software engineer. My parents, however, recommended that I not do programming as:

1. The salary can't support a family (Indian, so arranged marriages and kids in the late 20s are usually expected)

In America, this is wrong. I am still single, my salary alone is well above the average of national household income.

2. You sit and stare at computers all day

True.

3. You'll get bored of computers

Depends on your personality. I am okay with this most of the time, and occasionally I too would be bored.

4. You don't socialize with other workers as a programmer

This is also your personality. The job itself can be mentally demanding, which may lead to a loner personality. I am not sure what hardware engineering is like, but in software, the logic gets complicated because of its flexibility and requirement changes. At least in hardware, you know metal is hard, but in software, a "metal" can be hard, soft, or kinda-hard-but-not-so-hard depending on which code execution you are getting it from.

capn_midnight
capn_midnight

There is a general problem in the US right now that the average salary for middle-class workers is not keeping pace with the cost of living in those places where jobs are available. Your first job out of college, you're probably going to struggle to make ends meet, because many of the tech jobs have moved to expensive cities and they aren't going to pay you well to start.

I've had more hands-on, away-from-the-computer work as a programmer who isn't afraid of soldering irons than most of my electrical engineer friends who view programming as just a necessary evil.

Bachelor's degree is mostly a waste of money. Get one as cheaply as possible, don't go to an expensive school, try not to pay for it yourself, don't go into massive amounts of debt. Unless you're going to end up working for NASA, nobody cares if you went to MIT. The vast majority of employers only care that you *have* a degree at all, not where it was from or what your GPA was. Master's degree is a complete waste of money. If you want to do research, go get into a PhD program. Master's degree program is just to let people who are afraid of learning on their own or afraid of committing to a PhD program to dump more money into the system.

Best way to make money is freelancing. Fully 1/3rd of the US economy is now freelance, and it's growing. No companies are increasing the number of full-time employees they are hiring, established companies are dumping everything off on outsourced work. Might as well set your own terms. Market yourself, stay on top of your skills, learn more about business than just programming (which no university is going to teach you). You're never going to be paid what you're worth at a job, and the vast majority of employers you're going to end up finding will treat you more like a burden than the source of their livelihood.

I socialize a lot, just not with my "coworkers", because I don't have any coworkers. I work out of a freelancer's' space, the monthly dues are less than what I was spending at coffee shops, plus it still comes with coffee, the wifi is better, and nobody is bringing in their screaming kids in strollers. I also attend meetups of various types in my area. So, I get to meet a lot of different types of people, not just programmers.

I'm also going to buck the trend in this thread and say forget everything about any concept called "Passion In Your Work". It's nice when you're working on something that you enjoy, and I recommend it to the fullest extent that it is possible, but the way it is pitched makes it sound like a never-ending honeymoon at work. It ignores the fact that there is a heaping helping of work that *must* be done that you will *never* be passionate about. You *have* to understand how taxes work. You *must* make sure your health is taken care of. If you work independently, you *are absolutely required* to advertise and market yourself, network with others, and pitch services to people. The specific details aren't important, you certainly like and dislike a completely different cross-section of things than me. There are times when even the core work that you love will become a chore, but it still has to be done! Everyone has to get this notion that "passion in my work = success" out of your head. I think it is more dangerous than it's worth.

Scratch everything else I said, except for "stay out of debt". If you can manage to stay out of debt, you can do whatever you want. It doesn't really matter. Stay out of debt and you could work 10 hours a week writing stupidly simple web code and you'd be able to support yourself perfectly well. Add another 10 hours a week and you could support a small family. 20 hours a week of work is not a lot, I fit it into 2 days, then do whatever the hell I want the rest of the time. But you *have* to stay out of debt. It doesn't work otherwise.

capn_midnight
capn_midnight




Living expenses in MD/DC/VA are actually great too and there are even some nice places to live.

Uh, maybe in the ass-end of Maryland or the boondocks of Virginia, but anywhere near enough to DC to not make commuting to work a daily living hell is extremely expensive, one of the most expensive places to live in the country. Here in Alexandria, rents go from $2 - $3 / sq-ft, which certainly isn't San Francisco, but it's definitely over twice what my sister is paying in downtown Des Moines, Iowa. Places *in* the District are going $3 - $4 / sq-ft. Not a lot of well-paying tech companies in the District, either. There is a growing startup scene, but they all pay shit.

Mostly, you'll be looking for a place to work in Bethesda, Arlington, or Anacostia. You'll still probably have to buy a car. DC's metro is pretty good, as far as US metro systems go, and it's *possible* to get by without a car in this area, but you'll pay extra to be near the metro. If you really don't care about living in a city, you can look as far as Reston and Herndon, but then you will *certainly* have to buy a car, and most likely end up commuting an hour one-way every morning to work.

Freelancing, man. Don't play those games. They're rigged.

Ovicior
Ovicior




1. nonsense. There are plenty of people who support a family on a software engineers pay. As for arranged marriages and kids, that's up to you, but this is 2015... if you don't want to get married or have kids, tell your family to get stuffed.

Nah, they wouldn't force anything on me.

What will you make?
Ovicior
Ovicior

As for arranged marriages and kids, that's up to you, but this is 2015... if you don't want to get married or have kids, tell your family to get stuffed.

There's benefits to clan-like cultures and even arranged marriages. This may be harder to understand if we're coming from a typical american family structure, or in the Disney culture of choosing a mate based on emotions that wax and wane. Arranged marriages can also end up being bad, but we shouldn't assume that that's always the case. Plus, we already have evidence that Ovi's parents aren't forcing him do what they want in terms of occupation, only giving their 'recommendation' and 'suggestion' (in Ovi's wording), not a hard command for what career to take.

While, yes, Ovi definitely does have free will to make his own decisions, we shouldn't bash his culture or advise him to give his culture and family the finger just because we're unfamiliar with it. Not everything "modern" is necessarily better - we shouldn't use unfounded claims of enlightenment (which I'm inferring from the "this is 2015" statement) as excuses to act impulsively.

Giving cross-cultural advice is risky business. smile.png

SoTL gets it. This is exactly how it is. My parents aren't conservative Indians. They're open-minded and would let me do whatever I wanted. They just recommend things every so often.

What will you make?
Ovicior
Ovicior

Indian here, so I get a little more of where you're coming from culturally. Don't think my family is as conservative as yours, though.


1. The salary can't support a family (Indian, so arranged marriages and kids in the late 20s are usually expected)

It's easy to find 80k jobs, and 100k+ is common in major tech areas that have higher living costs. Wall Street finance will get you in the 200k+ range. There's not a lot of jobs out there that pay better.


2. You sit and stare at computers all day
3. You'll get bored of computers

I've been waiting twenty years for this to happen and it hasn't happened yet. In any case, if it does you simply transition to a management role as none of the techies want to do it anyway. And then you make even more money. Middle management at IBM, HP, etc can easily do 200k+.


4. You don't socialize with other workers as a programmer

This is 1) incredibly false and 2) kind of a plus point. But I have a word for programmers who aren't interacting with their colleagues: fired. This is a team sport. Honestly at some jobs, I found it tiresome how often people wanted to continue socializing after work.


They suggested I go after aeronautical engineering, or something similar (even though the salaries are usually lower ).

Which... involves sitting in front of a computer all day. It's not as if you go and build the damn rocket/aircraft/missile/whatever. You sit on a computer building CAD models and running simulations all day. Same goes for most other engineering. These are not hands-on careers. You'll have maybe the occasional day of dealing with physical objects, but it's not the norm and it's probably not applicable at entry level.


1. The salary can't support a family (Indian, so arranged marriages and kids in the late 20s are usually expected)

It's easy to find 80k jobs, and 100k+ is common in major tech areas that have higher living costs. Wall Street finance will get you in the 200k+ range. There's not a lot of jobs out there that pay better.


2. You sit and stare at computers all day
3. You'll get bored of computers

I've been waiting twenty years for this to happen and it hasn't happened yet. In any case, if it does you simply transition to a management role as none of the techies want to do it anyway. And then you make even more money. Middle management at IBM, HP, etc can easily do 200k+.


4. You don't socialize with other workers as a programmer

This is 1) incredibly false and 2) kind of a plus point.


They suggested I go after aeronautical engineering, or something similar (even though the salaries are usually lower ).

Which... involves sitting in front of a computer all day. It's not as if you go and build the damn rocket/aircraft/missile/whatever. You sit on a computer building CAD models and running simulations all day.

Hmm. What jobs involve making tons of money, socializing with people constantly, and yet not sitting in front of a computer at all? I think you're quietly being pushed towards med school. Probably as you get closer to making decisions, the idea of studying basic sciences or math and doing pre-med will come up. Watch out for that.


Also, what is the best path to take in order to get a good salary as a programmer? (120k+)

Master's degree.


I'll definitely be going to college, so what classes to take?

Master's degree classes.


What're the highest paying programming jobs?

Finance. Easy to head out to NYC and do this work for 120k a year at entry level and up from there. Sure living expenses will be 50k/year but it still works out pretty well. Do not go into games or other entertainment industries if money is a concern.

I'm also surprised that the outsourcing thing hasn't come up, or maybe you just didn't mention it. There are a number of responses to this, my favorite being that thanks to India's brain drain (which is kind of a problem for them), anyone who is still there is actually pretty damn terrible at software. Remember all those big Indian software companies? Yeah, me neither. But a more ... polite response is to suggest establishing US citizenship if you haven't already, get security clearance, and work in computer security. Can't be outsourced, pays well, and there's tons of demand and will continue to be for a long time. Living expenses in MD/DC/VA are actually great too and there are even some nice places to live.


1. The salary can't support a family (Indian, so arranged marriages and kids in the late 20s are usually expected)

Years away at college, and then a well paying job, will do wonders for dealing with family expectations. Don't sweat this for the time being. However, white born-and-bred American people will invariably try to give you (sometimes loud) advice on how you should be interacting with family. Ignore them, it will not help and they don't know what they're talking about.

You seem to think I'm in India, but I've been in the US all my life. I was born here, and am going to school here. I'm really young right now, 14. My family is not conservative. They just give suggestions every so often.

What will you make?
cadjunkie
cadjunkie

I work in aeronautics as a structural engineer building large military UAVs. I can't really speak about software jobs personally but IMHO, aeronautical engineering isn't really as glorious as some people make it out to be. Sure, you get to work on some high-profile projects and use some fun software, but ask anyone in aerospace what they *actually* do and you'll usually hear something like "You know the X aircraft, right? Well on the wing there's a series of smaller Ys that do Z and I analyzed several of those" or "I designed the tooling fixture that locate the Ys on aircraft X". Sometimes you do get to do the "cool stuff", but that's usually not the norm and it takes a long while before anyone will trust you enough (i.e. promote you high enough) to design the important (read: cool) things. I personally like the challenges I get faced with and how much I'm learning, but that's not to say that software is any less interesting or challenging. Plus, unlike what your parents seem to think, aerospace engineers look at computers all day. CAD, simulation software, and Microsoft Office-type work is all we ever do, really (other than the other menial work of looking up specs or reading tech manuals online). Also, engineers aren't really people-persons. I'm an extrovert, but I have to go down to the shop floor to get any real human interaction (okay it's not all that bad, but you get my point). Also, more often than not, you're not going to be picking up a wrench or going into the machine shop and building anything. It's numbers work. That's why you get a higher salary than the shop guys. Plus, IMO, programming can be more stable. Aerospace is about having lots of money to do new things. It takes millions to build a simple airframe, so when the economy's good there's a lot of work to do. When it tanks (like in the US in 2008), there's a lot of unemployment. It's a roller coaster. The upshot is that stuff has to get made even in a down economy, so usually there's something in consumer products you can find work in. I'm not trying to make this sound unattractive, but just paint things a bit more realistically so you can get a better picture of what the choice looks like.

I love to develop software (mostly mechanics simulation software) because of the problems I get to try to solve, but I couldn't ever see myself doing that professionally. IMO, if you make your hobby your job, it can get old fast. Sure, some days you'll love to go to work and get excited about it, but on the days you don't want to do it, you have to force yourself to do it. I like to unwind by thinking about something other than work, which programming lets me do. However, it's obvious that enough people love it more than I do that they've made their career doing it. It's really all about what you'd rather do all day.

capn_midnight
capn_midnight




IMO, if you make your hobby your job, it can get old fast.

To me, programming for my job and programming for my hobbies are so completely different that I don't really associate the two. One is not using up my mental capacity or my tolerance for the other. If anything, the hobby work recharges me for the pro work. It's kind of like reading and writing by this point: reading things and writing things at work has no relevance to the things I read or write on my own time. It's just a different form of literacy.

Buster2000
Buster2000

Hey,

I'm a pretty young kid, aspiring to become a software engineer. My parents, however, recommended that I not do programming as:

1. The salary can't support a family (Indian, so arranged marriages and kids in the late 20s are usually expected)

2. You sit and stare at computers all day

3. You'll get bored of computers

4. You don't socialize with other workers as a programmer

They suggested I go after aeronautical engineering, or something similar (even though the salaries are usually lower tongue.png).

I understand they're both engineering, but what're the differences between programming and general engineering (Base concepts used in all engineering jobs).

Also, what is the best path to take in order to get a good salary as a programmer? (120k+)

I'll definitely be going to college, so what classes to take?

What're the highest paying programming jobs?

1) I currently work in London and other than being a banker programming is one of the highest paid jobs around.
2) No I don't. We have backlog grooming, Sprint Planning, Progress presentations, meetings with external vendors plus all the corporate kind of meetings to attend.
3) Maybe/ maybe not. You could get bored of anything.
4) Complete rubbish programming at most companies involves working in a team of programmers, designers, QA, product specialist etc..

Aeronautical engineering salaries in the UK are usually lower and also there are not as many opportunities. Civil engineering actually pays more and doesn't even require a degree.
Just get a degree get an entry level position and then try to get into financial programming at a bank or insurance company.

Highest paid programming jobs are always in finance.

Also consider that you may not always want to live in India. There is a shortage of programmers globally and there will be for at least the next 10 - 15 years so once qualified you may find it easier to get a visa to work in other countries. This isn't the case with specialist engineering jobs that may only have a large demand in very localised places.

Topic Locked

This topic has been locked by a moderator. New replies are not allowed.

Sign in to reply to this topic.