The Money Mustache Community

Learning, Sharing, and Teaching => Ask a Mustachian => Topic started by: CSLifeDev on June 14, 2016, 11:40:13 AM

Title: Software Development - First Job: Move from LCOL?
Post by: CSLifeDev on June 14, 2016, 11:40:13 AM
I am trying to determine the next steps for me and my husband to get started with our professional careers. I am 24 with a CS bachelor's degree and 2 years working a temp job in IT Security operational work for a hospital. My husband is 27 with a bachelor's in Philosophy and graduated late, with full-time work experience of about 2.5 years, first in a call center for iOS tech support, now in a generic Print Services position where his current job duties involve delivering toner in the hospital where I work.

We are both interested in software development as a career. It was the focus of my degree, and he was very good at the 2 semesters of CS electives that he completed, alongside of me. He really enjoys the type of challenges you run into as part of programming, but he would have needed an additional 2 years of coursework to switch majors by the time he realized it, so he let it go and graduated. He has no work experience in software development and does not yet have a portfolio, as it didn't previously occur to us that getting a programming job without a relevant degree would be an option for him. Now I'm reading advice online more along the lines of it being a matter of extra time and effort to make up for it, with a heavy dose of natural aptitude, which he has in abundance.

So now I'm working on seeing what it is that we need to do to make this happen, and some broad idea of timelines involved. There are so many pieces involved with qualifying for an entry-level software development position: experience in particular (varying) languages, a strong portfolio (what looks good in a portfolio?), relevant work experience (nope), and the actual availability of entry-level development jobs to begin with.

This last one is what I'm most concerned about, because it has the potential to shift everything else about our life and how we approach this endeavor. Right now, we live in a LCOL area: Central Kentucky. The nearest "big" city is where we work, about 30 minutes away. Software development jobs in this city, according to the U.S. Bureau of Labor Statistics is below the national average, and my own calculations on the average wages compared to several other cities shows that they are about 10-20k per year lower here, after accounting for differences in COL. These cities also have above average employment levels in the field, which it seems like we would need in order for the self-taught half to have an opportunity to get started. In addition to the dry numbers, it's been my experience that most of the software jobs here are for local branches of two huge companies who don't have very good work-life balance and primarily hire on contract.

On the other hand, all of our friends and family are here, and it would be disappointing to us if we went through the time and expense of finding out-of-state work and moving, without winding up any better off than if we had stayed here. I would be the one serving as the anchor to move us to the new place, so we wouldn't really know if the area was good for self-taught developers or not based on that, and if my income only went up about 10k after COL adjustments, and husband's stayed the same after adjustments, with little room for growth, then it seems like we would have gone through a whole lot of trouble for not nearly enough gain. On the other hand, the opportunity costs associated with staying somewhere that we know doesn't have strong opportunities are rather obvious. Thoughts?
Title: Re: Software Development - First Job: Move from LCOL?
Post by: seattlecyclone on June 14, 2016, 12:23:19 PM
I'm a software engineer with almost ten years of experience.

Most of my work and interview experience is with large technology companies (as opposed to companies in other industries that happen to need some developers to work on internal systems, updating their website, etc.). I have never been asked to submit a "portfolio" during the interview process. Don't worry too much about making one. Instead they'll ask you to come in for a few hours of solving coding problems on a whiteboard. This is a skill that takes some practice and is at the same time mostly unrelated to your day-to-day work, but it's such an entrenched custom that it's likely to persist for some time. This book ( is a good resource that explains the process and has a number of sample problems that you can practice on.

Regarding the decision between LCOL and HCOL, I have some experience here. I'm originally from the Midwest. During college I did a couple of internships in a small Midwestern city working in a large multinational corporation's office there. When I graduated I got an offer to work there full time. I decided for a few reasons not to accept that offer (I'll get into that later), and spent two years earning a master's degree instead. When I finished that, I got an offer to work in Seattle for a different large multinational corporation. The salary offered was 50% higher than I was offered to work in the LCOL city just two years previously. There was some stock-based compensation that widened the gap even farther.

This compensation differential was more than enough to offset the higher cost of living. In other words, I am able to save many more dollars per year here than I would be able to in an LCOL area. If you want to FIRE back to Kentucky to be close to family, that can be attainable in just a few years if you're frugal. My wife and I could have probably retired to the Midwest a couple of years ago, but we really like it here and are saving up to be able to stick around indefinitely. Even here, we'll probably feel comfortable calling ourselves FI later this year.

Back to the main reason I didn't take the offer in the LCOL city. That office was basically one of two employers in town that hires software engineers, with the other one being a less technology-focused employer that I would have been less interested in working for. This meant that if I was ever laid off from that job (something that company has been doing a lot in recent years), I would have likely needed to move cities or deal with a huge commute to the nearest large city. Not fun. I find a diversity of potential employers to be such a nice thing, as options are always open. This is especially important when you have a spouse who wants to have a job in the same city as you (crazy, right?), and doesn't want to need to upend their own career to move just because you lost your job.

For a self-taught developer, your husband is probably going to want to look for a location that has a fair number of small startup companies. The larger companies generally want to see a CS degree or experience before they even think about interviewing you. The smaller companies generally can't afford to be as choosy, so that's where he should look to get that first job in the field. After a couple of years doing good work for a small company, the lack of a relevant degree matters much less.
Title: Re: Software Development - First Job: Move from LCOL?
Post by: CSLifeDev on June 14, 2016, 12:55:46 PM
Thanks! I'll definitely take a look at that book. The technical interview part was definitely the most concerning part for me, because I've only ever had one, and I went in with so many nerves that I totally lost out on questions I knew the answers to as soon as I left. I have more confidence in general now, but that one experience made me nervous about performing well next time.

It sounds like our start is very similar, including the two multinational companies as the only employers. How much do you think your master's helped you, compared to how much it cost?
Title: Re: Software Development - First Job: Move from LCOL?
Post by: seattlecyclone on June 14, 2016, 01:03:12 PM
How much do you think your master's helped you, compared to how much it cost?

Essentially nothing I learned in my master's program has been directly applicable to my work since. One thing that it did help with was easy access to interviews through the career fair. My master's was from a more highly-ranked CS program than my undergraduate institution, and the selection of companies recruiting at each place reflected that. My starting salary after the master's program was $5k higher than my friends who earned bachelor's degrees from the same university in the same year and started at the same company on the same day. However from a pure financial perspective, I would likely have been better off working in the LCOL place for two years and then applying at the company in Seattle. I would have been earning money for those two years and would likely have been able to leverage that experience into a salary at least as high as an industry hire.
Title: Re: Software Development - First Job: Move from LCOL?
Post by: CSLifeDev on June 14, 2016, 01:14:54 PM
Thanks for the quick response. As a person working in the industry, how should I leverage my current job as far as experience? I feel like I've learned a lot that I didn't even know that I didn't know as far as working in a professional IT environment. Working with different teams on projects, application and service offering ownerships, etc, but the actual work is quite different.
Title: Re: Software Development - First Job: Move from LCOL?
Post by: seattlecyclone on June 14, 2016, 01:35:56 PM
That's hard to say. Seems like something you should have a story for in the you started out in a non-development role, why that's not the right fit for you long-term, but how that experience would be helpful compared to someone with no industry experience whatsoever.
Title: Re: Software Development - First Job: Move from LCOL?
Post by: CSLifeDev on June 14, 2016, 02:21:43 PM
Thanks! I'm really enjoying this forum and blog. Everything is so down to earth and honest compared to a lot of places. I've been listening to complainypants for so long that I was starting to believe them and felt trapped. This is the only place I've found that seems to have an approach of "You can do anything that you are willing to put in the time and energy for", as opposed to overly idealistic communities with a lot of entitlement, or really negative communities who believe the 99% are destined for mediocrity and oppression.
Title: Re: Software Development - First Job: Move from LCOL?
Post by: Beaker on June 14, 2016, 02:46:28 PM
I don't think I've ever seen a coder (as opposed to "UI guy/gal" or graphic designer) come in with a portfolio. Usually it's just a resume that lists out previous projects, which you then get grilled about. So it's not an absolute requirement.

But I also don't think it would hurt to have some project you could point to, even if it's not something incredibly innovative. There are people out there that are smart, but don't actually get anything done. So it's worth proving that you're smart and can get stuff done. It would also give you something to talk about in the interview that you know inside and out, which is usually a lot easier than discussing contrived examples or academic problems. Even if you go code something fairly trivial (eg, IsThereAFuckingRockiesGame (, it's a starting point. You can then talk about challenges in building it, what you liked/didn't like about technologies you used, etc. If you do choose to do a sample project, post the code on Github. If nothing else that demonstrates familiarity with source control, which is important and sometimes overlooked in academia.

Other common recommendations are contributing to an open source project, or doing coding contests like TopCoder. Those might be good options, but I haven't tried them and haven't seen anybody put them on a resume that I've seen.

But no matter what, SeattleCyclone is right that you'll have to code on a whiteboard. I have seen guys with literally decades of experience and their names on products with 100k's of paid users subjected to "write mergesort on a whiteboard" style interviews. So it's worth learning how to do that.

You might also consider looking into remote/work-from-home positions. They are generally scarcer than show-up-at-the-office jobs, and might be difficult to find as entry level positions. But it sounds like you can afford to spend a little time looking into it and see if anything comes up. There are a few websites out there that specialize in remote work job listings. Also I believe StackOverflow Careers has a search filter for that. Don't be shy about looking at internships as well - many software internships are of the paid variety, and sometimes the well-paid variety.

As a person working in the industry, how should I leverage my current job as far as experience?
Try to talk about what you learned that might transfer. That can definitely include soft skills like dealing with angry people or written communication. Those skills can be quite valuable but are frequently overlooked in preference to checking boxes for programming language. Actually, what does "IT Security operational work" involve?

Also, if you have the choice, it's generally better to work at a software company rather than in IT for a company that does something else. In software companies you're creating revenue, in other companies you just an expense (read: necessary evil). So you'll usually get better pay, better perks, and more security at software companies. There's nothing at all wrong with IT work, I did that for years myself, it's just that non-IT work is usually better if you can get it.
Title: Re: Software Development - First Job: Move from LCOL?
Post by: CSLifeDev on June 14, 2016, 03:08:31 PM
GutHub projects was mostly what I meant by a "portfolio". I may have misused the term. I would be interested in remote work, but I've read that in addition to being more difficult to find at the entry-level, it also can be lacking in the team support that a newbie benefits from when they're learning the ropes. I am open to counterpoints on that, since I don't have experience there myself.

I'll definitely focus on the whiteboard coding aspect of interviewing, since that's my weakest spot for sure. I have some anxiety about writing things on a board unless I know what I'm doing inside and out, so I'll need to do some combination of practicing a wide variety of problems until I'm very comfortable with them and generally working on undue anxiety and trusting myself more.

Sorry for being vague about what exactly I do right now. I follow protocols in order to correctly configure users in clinical systems so that we remain HIPAA-compliant and still are able to let everyone see what they need to see in order to do their work. We definitely feel the pressure that you mentioned of being in IT instead of software. Maintaining instead of producing. We handle a very large volume of requests with only 3 people, and my temp position still hasn't been approved to be a permanent position after being lobbied for for over 2 years. I've stayed this long partly out of hope that I'd get made permanent and partly because I know that any amount of time with my position empty will put the whole operation in high gear no vacations mode for several months.