<p>I just finished my junior year in high school but I seem to always change my mind on what I should major in and what I should do for my future. I always liked computer stuff and math isn't really that much of a hard subject for me. If I were to become a software engineer, what kind of an environment would I be working in, and what kind of work would I be doing? I know for sure a Bachelor's Degree is the entry level requirement, but is there a privilege if I achieve further education?</p>
<p>Software engineers work at desks, usually sitting desks, occasionally standing desks. They use the keyboard and mouse to manipulate one or several computers, and may have to interact with specialized equipment and I/O devices. Typically, you’ll spend a lot of time reading one (not infrequently, several) monitors. Most time will be spent designing, implementing, testing, and reviewing software, typically in several programming, scripting and/or markup languages. The rest of your time will be spent in formal meetings communicating with your team and related teams, reading and responding to email, and completing administrative tasks. Graduate training can make you more competitive for certain roles, and may increase your starting salary for some roles, but would be unnecessary for most software development roles in industry. Of course, YMMV.</p>
<p>We also get to drink lots of coffee, sit in boring meetings, waste hours at a time on conference calls to far away places (affectionately known as ‘low cost sites’, ‘offshore’, and ‘global sites’) talking to people who would absolutely die to take our positions stateside. </p>
<p>Graduate school may pay off depending on what you’re doing.</p>
<p>Agree with what aegrisomnia and turbo93 said (except not everyone drink lots of coffee).</p>
<p>Does your school offer AP CS? If so, take it to see if you like it and if you are good at it. If your high school doesn’t offer AP CS, try community college or online classes.</p>
<p>Also, you work, more often than not, over 8 hours a day.</p>
<p>Okay the whole foreign conference call post has scared me. Are programming and software development jobs really being outsourced that much?</p>
<p>
False. I work (straight out of undergrad) for a defense contractor as a software engineer inside a government facility. You cannot work for more hours than the facility is open. In short, I work about 35 hour weeks.</p>
<p>Big time. I have turned down several very popular company software opportunities that, at my level of experience (30 years) involved little more than 8 hours a day conference calls. </p>
<p>Now, if you get a degree from some top 10 or some other cool place you probably won’t be outsourced, but anything below is canon fodder. Many of my coworkers were outsourced and they had degrees from usually Big 10 engineering schools. Ultimately we’ve had offshore locations for going on 15 years now and it does not work, not the way we thought it would. Some things do work, but things like R&D is much harder to do across the state, let alone the planet.</p>
<p>How to avoid being outsourced? stock up on college degrees (I have 4 :)) and experience, and stick around even if you can make more money elsewhere. I’m in a cutthroat field (consumer electronics) but you can’t find my kind of experience, even tho I’m not the brightest programmer in the building by far. </p>
<p>Or, you can do like my wife and work for a global outsourcing firm as a consultant. She has a bunch of degrees and very specialized experience and solid track record, but it ain’t easy. Find a second area beyond CS that you may like and get an MS or double BS - such domain knowledge cannot be outsourced, period. If you’re a plant rat and the plant is in the US an offshore plant rat is not of much help. (plant rat = industrial engineer). You have to speak the ‘business knowledge’ language, so when the plant supervisor starts talking about statistical process control this and process yield and master production schedule that you don’t go puppy eyes on him. </p>
<p>Outsourcing does work well if you get specialized knowledge people from offshore to work with you side by side, which is what we are doing now. But that is very expensive, so only used when needed.</p>
<p>I’ve worked 35 hour weeks for decades. I do way more than is needed and still do it in less time. A friend (about the best coder ever to walk the planet pretty much) was able to do 8-10 hours worth of work in 4 hours, came late, took 2 hour lunch breaks, and left early. People frowned, and he eventually left for a company where they did not mind.</p>
<p>40 hours per week is the minimum for most companies. Government has its own rules and why our government costs so much.</p>
<p>Lots of outsourcing to India and other countries. I advised my son to avoid CS at all costs.</p>
<p>
Not too hard to rack up 5 hours on the weekends leaving your computer signed into Outlook Web.
</p>
<p>It’s hard to outsource the defense sector.</p>
<p>I’m certainly not from a top 10 school and in this sector what school you went to does not matter. Even if you’re the brightest guy, you’re useless if you can clear a security clearance background investigation.</p>
<p>Also, with the entire Snowden debacle times might be tough for government contractors depending who is the ACTUAL sponsor for their security clearance. While I work for a defense contractor, my security clearance actually originated from my (current) service in the National Guard. The defense contractor is “borrowing” my clearance. Hence, I am one of those “dual persona” individuals.</p>
<p>If you’re good, you don’t need to take a government job to avoid outsourcing. CS haas better employment prospects right now than most other majors… of course, such things change. I’ve worked at top private-sector companies, and conference calls and outsourcing are not an issue. There are lots of foreign nationals where I currently work, but they have the jobs they do because they’re great software developers.</p>
<p>Oh, and by the way, 40-50 hours per week is common in just about any private sector role. I usually work about 42 hours per week; my wife, a tech writer, works longer hours than I do.</p>
<p>
</p>
<p>It is not so much your school, but your productivity, or your group’s productivity, that determines how much risk you have in competition with offshore outsourcing. It also matters whether you are in an area with a large number of employers versus few or one.</p>
<p>Computer software work can have an order of magnitude difference in productivity between different people. Since pay levels within the US do not differ by anywhere near an order of magnitude, the top performers are a bargain, but the bottom performers are too expensive (especially as pay levels traditionally increase by seniority), from an employer’s point of view.</p>
<p>As for futher education after the bachelor’s degree…</p>
<p>From a technical “know how” point of view, a M.S. in Computer Science or that dreaded, revenue-generating-for-universities degree M.S. in Software Engineering will not add much of value. Chances are that after a few years of experience as a software engineer, you will know more about software engineering than any graduate CS/SoftE degree can teach you.</p>
<p>The graduate degrees are there because so many companies may tie more senior engineering positions to holders of graduate degrees. In government contracting, companies can get higher billing rates for engineers with graduate degrees which in turn produces higher salaries…but that is what is done POLITICALLY…not for increased technical expertise.</p>
<p>I always tell folks that my M.S. Engineering (systems engineering emphasis) was more for increased salary…not for learning more technically.</p>
<p>40-50 hour work week is common as a software engineer. Some even work more but not as common. But many professions work more than 40 hours a work. My brother who is an accountant works all the time during tax season which is about 4 months. My son who is in consulting got home pass midnight 3 times last week. You need to decide for yourself what is important to you, what kind of balance do you want in life. Few people get to 6 figure compensation per year working 40 hour weeks.</p>
<p>10 years ago outsourcing is unheard of. Now it is common to work with global teams in India, China. But it is still a hot job market because the software market has expanded so much. Look around you almost everything in life now is related some how to software. Look at how many apps are available for smart phones which didn’t even exist 10 years ago.</p>
<p>Most jobs are concentrated in several areas of the country. In those area, there are lots of jobs now but it goes in cycles as with everything else with the economy. It is one of the majors that pays very well with lots of jobs. As with all jobs, you need to be good at it. Where you went to school matters less than how well you can perform on the job.</p>
<p>
I took a defense sector job because the benefits, income, work-life balance, and stability were all far better than what was being offered elsewhere including what many regard as “top companies”.</p>
<p>What is pay and hours at government jobs? How do these compare to large firms like Microsoft/Google, and mid sized firms?</p>
<p>Can anyone comment on what it’s like to be an app developer/web developer. And what it’s like to be a network/database admin?</p>
<p>Edit: I see that lot of people are saying that the work hours in software is long, but then I see peole put up numbers like 40-50, which don’t seem long at all compared to medicine, finance, law, where the hours are 80+</p>
<p>
</p>
<p>I can’t comment on all defense sector jobs (which isn’t exactly “government jobs”), but I was offered the following out of undergrad:</p>
<ul>
<li>$80,000/year</li>
<li>$10,000/year for tuition assistance</li>
<li>28 days of vacation</li>
<li>35-40 hour work weeks</li>
<li>flex work schedule</li>
<li>military differential pay during mobilization and training (usually you’ll be able to pick up another $15,000-30,000 per year through regular drill pay as well as double dipping).</li>
</ul>
<p>This is for the Baltimore area. Based on cost/standard of living, I would only have accepted jobs in NYC, etc. for at least $160,000 per year guaranteed and chances are I would still be working far more and have far less vacation days in a career field that was not conducive for me to develop my National Guard/Reserve career.</p>
<p>In short, if you plan correctly and play your cards right, you should be able to net yourself excellent private sector pay, have enough time to enjoy it, and hedge that against a federal retirement.</p>
<p>
</p>
<p>Actually, about 10 years ago, offshore outsourcing was a huge business fad (worsening the CS job market that was already down at the time from the tech bubble crash), and was often done to get the cheapest price at all costs (and then failing because it came with quality to match – the cheapest outsourcing contract companies are not filled with IIT graduates).</p>