Engineering vs Programming?

Started by
19 comments, last by cadjunkie 8 years, 10 months ago

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
Advertisement

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.

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.

[Formerly "capn_midnight". See some of my projects. Find me on twitter tumblr G+ Github.]


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.

[Formerly "capn_midnight". See some of my projects. Find me on twitter tumblr G+ Github.]


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?

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?

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?

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.


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.

[Formerly "capn_midnight". See some of my projects. Find me on twitter tumblr G+ Github.]

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.

This topic is closed to new replies.

Advertisement