At 27 years old, should I change my career from construction management to computer programming/software engineering? Why?
-
Sorry for the long post - I tried to organize and minimize my thoughts the best I could. I would appreciate any feedback you have on anything noted below - but most of the questions are towards the end of the post. Thank you for your time. I am 27 years old, working in SF, I work in construction management, and we build office space for clients in SF, most of our clients are tech companies. Think Box, Twitter, Facebook, Google, Oracle. I get paid 67K annually, with 3 year experience. I want to make double this within 3-5 years - in my field, I think it will take 10 years to get there. Maybe 15. (I am also anchored by my desired salary by what I currently get paid - ideally to live comfortable in the bay area I believe you need to make $200K+) Construction Management has to be one of the most challenging fields, and most frustrating fields. Your work depends on so many other parties outside your company - and you depend on them. If they fail, you fail. With that, when one of the parties make a mistake, they blame it on others - and the easiest person to blame is us, even if its not our fault. Most people think you are always trying to rip them off, when really they don't understand that's actually what it costs to build what they are looking for. With all this - I still like the work - but barely. There have been days (maybe 5 days total) where I almost lost it and wanted to cry because it gets exhausting dealing with problems 24/7. There is also the day when the project is built and they move in - and you say - wow - I was a part of making this happen. In a nutshell: If someone came up to me and was interested in construction management - I will tell them to look into other fields. Or - if I knew now what I knew today, I would have looked into another line of work. Is it too late? There are similarities between computer programming and construction. Someone I know in the tech industry mentioned that they look for people with construction experience since the thought process is similar. This has to be built before that. Or you need materials (or think function in computer programming) before you build it (it being a wall in construction - or the program in coding) Rent prices in SF have increased due to the tech boom in the past couple years. Some people are mad at the rising costs, I don't really care. But a thought popped in my head - Why not me? I have done maybe 10 hours on Codehs. I really enjoyed it. Its easy - I understand that. But I really like the whole computer programming/ coding concept - that you can create a program to complete certain operations. Also, I feel that computers are the future and theres a lot of hype. Electric Cars, ipads, ipods, Spotify, Google Glasses, like these are all really interesting things that are a product of computers and programming and I would like to be involved in this field and movement Also, I have noticed that even with 10 hours of programming play, I have been looking at things at work and like differently. I've actually thought of putting together a write of up if-then statement for things that happen at work. If this happens, then its best to do this. Or thinking preconditions and post conditions. The great thing is, thanks to quora and other websites out there, you can learn a lot about coding - free. I don't mind spending money to learn coding either Questions: How much experience should I need to get an entry level job. I know this is a really open ended question - but would 10 hours a week of practice for a year be enough to get a job with a salary in the 60-80 range? Is it possible with this minimal experience to work at Google, Facebook, Spotify, Apple - any of the big firms - or is it better learning to work for a smaller firm? With that - what is the most useful use of time - what languages, what resources? What different jobs are there in programming? What's front end vs back end? Where is there the most growth in the next 5 years? Whats the biggest need? What is the starting salary of entry level work and how hard is it to find something being self taught? What other things should I consider before I decide to devote my time to learning to code and changing my career.
-
Answer:
The career change is a good way to get challenging satisfying work which pays well if you have passion and aptitude for software engineering and will be satisfied working at least full-time, although getting there is not a minor undertaking. If you don't have the passion you're not going to learn enough to be good and get hired. Interesting software engineering jobs are usually at least 40 hour per week positions so it's not a good part-time profession. 1. How much experience should I need to get an entry level job. You ought to know what you should have learned earning a CS degree (the degree itself isn't enough because in the 1990s CS departments found that the 40-70% drop out rates resulting from heavy coursework dependent on aptitudes not everyone has was not good for revenue). I cover some of the highlights in ? To get past the resume screen you should demonstrate you're likely to possess that aptitude and knowledge via a BS CS degree or significant practical experience doing non-trivial things. Ideally you'd also have 2-3 years experience at a previous job in industry where the problem scope is much larger than in school or small personal projects. With a healthy work environment you can expect people to perform at least as well as they did at their last job. Without previous commercial experience that performance floor doesn't exist so new graduates are risky hires that I avoid when possible. 2. I know this is a really open ended question - but would 10 hours a week of practice for a year be enough to get a job with a salary in the 60-80 range? I wouldn't hire anybody with that little experience period or know anyone who would because that's not enough time even if you know what to study People do get jobs like that after attending 8-12 week "full-time" boot camps with formal instruction. http://www.skilledup.com/learn/programming/the-ultimate-guide-to-coding-bootcamps-the-most-selective-bootcamps/ although "full-time" is somewhat of an under-statement. Quoting the 9-week http://devbootcamp.com web page Also it's important to note that even though class is 40 hours per week, you'll be working more like 70-100 hours per week! and No, seriously, have you ever worked 80-100 hours per week? Do you know what it takes to work that hard? Our students do. On day 1. and It is important to note that even though Dev Bootcamp's onsite program is only 9 weeks, there is Phase 0, a 9 week preparation phase that is accomplished remotely. You'll be expected to put at least 10-15 hours per week of work during that phase. That's 720 - 1035 hours, 18-25 full-time weeks, and a few years at 10 hours a week if you could manage to internalize everything as well. For comparison purposes the relevant parts of a CS degree program with good project classes probably total about two years of full-time work. I've known people who earned computer science degrees while working (some full-time) in their 30s that got jobs in industry but that takes years. 3. Is it possible with this minimal experience to work at Google, Facebook, Spotify, Apple - any of the big firms - No. With brand name recognition there are far more applicants than positions and you're going to loose to people with degrees and practical experience from projects and internships. 4. With that - what is the most useful use of time - what languages, what resources? Language knowledge is a very small part of what engineers need to do their job. I got hired to write distributed systems software at Microsoft in C# in spite of never having seen it before, and to do the same at Amazon with Java which I'd encountered once before. It's like writing commercial grade fiction or screen plays in a foreign language - lots of people know Spanish and German but that's just a small part of it. 5. What different jobs are there in programming? Some engineers build the web interfaces people see, some build the internal services those use, some write software for robots. Some solve simple problems very similar to what lots of people have done before (which are likely to be off-shored to places where $1500 rents a mansion with guest house and live-in servants not half a one-bedroom apartment), some do hard things with lots of moving parts that will be described in research papers a few years from now when they're less commercially relevant.
Drew Eckhardt at Quora Visit the source
Other answers
If it's what you like, then you should change, of course! Enjoy!
Oscar Bralo
I can't address the technical issues, but see they've been covered admirably already by Drew E. My contribution is to advise you to get out of Construction Management because you do not like the work and don't see any real future in it. That's reason enough. I left a great plant engineering position years ago for reasons similar to those you listed; in a nutshell your performance is affected by many factors which are completely beyond your control so your potential can never be realized and you will never be compensated fairly. If you can get into software engineering directly that would be great, but you should consider that as an end goal and not necessarily an immediate 'next job'. Here's something to think about; many people with law degrees don't work as lawyers but they make good money as sports agents, business advisors, negotiators, and yes, politicians or bureaucrats. You need to look at the other work you could do with your current education and experience, starting with the type of outfits you already interact with. Odds are that at least some of your skills and experience would benefit any one of your subs, materials suppliers, government regulatory agencies involved with your site or building, as well as the insurance companies, financial backers, and especially the real estate developers involved with each project. You might be able to make a parallel move in the bay area via a related position with one of those organizations, which might actually pay better especially in the insurance, bonding, financing, or regulatory outfits. Or you could consider moving out of the area where a comparable salary would go much further but where there is a significant tech presence. But you never know, you might end up for example with an insurance firm where your analytic tendencies and basic programming insights might prove invaluable and where you'd be less stressed and better compensated, and find you're happy with that. But no matter what you do, there's no sense for someone with the initiative you display to stay in a job where your performance will always be hampered by inherent flaws in the process you are attempting to manage.
Patrick Hentges
Oscar, I've been in construction management for 9 years now and I completely agree with you on everything u said about the field and your position even to the last point that had u known what u know now and if someone ever asked u if u would recommend them... I also agree with u on your points as to why u want to change into the tech field. It's the future and it's indeed some fascinating stuff. I too am in the very same situation as u in terms of transitioning from construction management to computer programming. Based on some of the research I've done a few important points that I picked up is that u can def learn for free with what is available online but also it doesn't hurt and could be additionally benenifical to do stuff like a boot camp if u have the time and can afford to do so. There seems to be a few languages that are more preferred than others one bring python which is what I've been put practicing which brings my next point, practice. All experienced programmers will tell u to PRACTICE. It's very important to the learning process and speaking of learning, very important to learn from your mistakes as u don't wanna make the same mistakes over. Then when u think u are starting to grasp the concept and can write some code u should do some small projects even if it's for yourself guess I'm trying to day you wanna apply what you've learned what u know what youre learning. Then when u can maybe offer anyone u know that can use your services even if it's pro bono or if u don't know anyone offer a charity your services if they have a project u can. This is to build your resume/portfolio so that someone that can offer u job can see your work, what u can do for them. This is all based on material I've read on blogs/sites like quora, wordpress, hbr, etc... As fast as your more technical questions in the field I'm certain they are plenty members here that can offer their knowledge. Good luck! I think you'll be fine, sounds to me you have a good head on your shoulders.
Clayton Park
Do you have a family? Do you have kids? How hard would it be for you to leave the Bay Area? $67k is a good salary in most of the country. You just happen to be in one of the few areas where it's not so good. It's going to be a lot of work trying to get a job at Google as a programmer with no CS background. And what if you find you don't enjoy the day job of a programmer? What if the tech boom goes belly up in five years? Unless you have a family that is really tied down to the Bay Area, you might find that all you need to do is move. Moving's never easy, but I think it's less effort than a complete career change, and if you can maintain that $67k salary you'll be all set.
Anonymous
Take my answer with a grain of salt. I'm the guy who decided 30 years ago not to pursue a Master's Program in Computer Science because I thought that as soon as I got out, Artificial Intelligence would be writing all the software and there would be no room in the industry for me.The major problem, I think, is that in software you are going to face a whole lot of competition from people all over the world. As computers become more affordable even in the marginal economies of the world, you are going to see the best and brightest of the stymied young people in the world turning to programming as their only hope. Imagine all those kids in Pakistan, Romania, Nigeria, Vietnam, Yemen and Costa Rica who are after your job. (Of course the advantage you have is your communication skills and your demonstrated management skills, so it may be that you're better off in software project management than in actual coding--identifying potential bottlenecks, explaining objectives and problems to the coding teams, generating schedules, and establishing evaluation criteria.)You should consider that maybe you're imagining the grass to be a lot greener for you on the programming side of the fence than it really is. If you were really born for programming, why weren't you doing it 15 years ago? And do you really imagine that programming work is immune to the problems of colleagues missing schedules, colleagues contributing shoddy work, and scapegoats being blamed for the failures of others? You might also consider the ephemeral nature of much of today's software--at least you can expect a building to stand 30 years before somebody decides to knock it down. (I don't know how people can do restaurant work--every night you wash the dishes and take out the trash and mop the floors and when your work is done, your work is gone. And tomorrow you have to do it all over again. Of course one way to make a lasting contribution is to work in Linux software, crafting a foundation upon which future programmers will build.) You should definitely indulge your inner software genius and get a realistic sense of your talent. But at the same time you should consider other ways of dealing with your present dissatisfaction. For instance, if you moved to construction management on a different kind of project you might find the work more predictable and less stressful. If you started working on projects in the Central Valley instead of the Bay Area you might have fewer MBAs trying to bully you into accomplishing the impossible so then they can blame the failure to accomplish the impossible on you.You also might consider going into litigation work involving construction delays and errors, dealing with the faults of others instead of stuff you'll be blamed for. The upward path from that would be that eventually you might open your own consulting firm, or maybe get a law degree. The advantage of litigation work is that the federal court is right there in San Francisco.
Brian Good
Related Q & A:
- Should I change my career choice?Best solution by Yahoo! Answers
- What are some good colleges for programming/software engineering?Best solution by colleges.usnews.rankingsandreviews.com
- Should I pursue a degree in computer science for software engineering?Best solution by Quora
- Should I study computer science or software engineering?Best solution by eng.buffalo.edu
- Should I change my major from M.E to Computer Science?Best solution by collegetransfer.net
Just Added Q & A:
- How many active mobile subscribers are there in China?Best solution by Quora
- How to find the right vacation?Best solution by bookit.com
- How To Make Your Own Primer?Best solution by thekrazycouponlady.com
- How do you get the domain & range?Best solution by ChaCha
- How do you open pop up blockers?Best solution by Yahoo! Answers
For every problem there is a solution! Proved by Solucija.
-
Got an issue and looking for advice?
-
Ask Solucija to search every corner of the Web for help.
-
Get workable solutions and helpful tips in a moment.
Just ask Solucija about an issue you face and immediately get a list of ready solutions, answers and tips from other Internet users. We always provide the most suitable and complete answer to your question at the top, along with a few good alternatives below.