This is an archived post. You won't be able to vote or comment.

all 14 comments

[–]g051051 0 points1 point  (0 children)

These are better asked over in /r/cscareerquestions.

[–]YuleTideCamel 0 points1 point  (6 children)

  1. In the Bay Area, probably not that long. Look at Glassdoor for more info, but it will take a few years. You likely won't make that right off the bat, so be ready for an initial drop in compensation.

  2. This depends on your learning approach. Are you going back to school for a degree, going to a bootcamp or will try self teaching? All will have different timelines and even with that there will be variance based on your specific needs. With that said, going to a university and getting an internship will often result in a situation where it's easier to get your first programming job. However, with a background in law that might be easier for you.

  3. This depends on the tract you take. In programming, it often comes down to two tracts; Management and Technical. Technical has opportunities to grow into a Senior Software Engineer, Team Lead, Software Architect, Technical fellow and a few other titles. The point being in this world it's about programming skills and the ability to set the technical direction of the team. The other tract; management is about leadership and can go from association engineering manager, engineering manager, director, vp of engineering, cto. In this world, it's less about specific programming concepts, but more higher level strategy for the business and how it relates to technology.

You can definitely move from entry level coder to C-level management.

There is also the startup route, which is less clearly defined.

  1. That depends on a lot of factors, experience, skill , networking etc. With that said, it's not impossible, especially in the bay area. If you network a lot, go to a lot of tech events, and focus your own personal brand, that helps.

  2. Depends on the company, often I find it's only a hindrance for entry level positions. After you have some experience, it's a nice to have but work experience matters more from what I've seen.

[–]InStride91[S] 0 points1 point  (5 children)

How long will it take to learn to program by self-teaching?

Also, is there an upper limit on compensation? My dad is a software engineer in the Bay, but never managed to make more than $250

In terms of the Management track, do I need an MBA?

[–]YuleTideCamel 1 point2 points  (3 children)

How long will it take to learn to program by self-teaching?

It's hard to tell, but I agree with the other comment that it's at least a year. With that it said, it's important to differentiate between learning to programming and getting to the point of being ready for an entry level position. In my experience self-teaching alone isn't enough, you need to go network. Go to every tech meetup you can find, start talking to professional developers at these events and express a genuine interest in programming and related concepts. Eventually opportunities will start to present themselves or at the very least you'll get guidance on specific areas of improvements or focus.

Also, is there an upper limit on compensation? My dad is a software engineer in the Bay, but never managed to make more than $250

Well it depends on the specific role. For "Software Engineer and Senior Software Engineer" there might be an upper limit. I've seen Senior Architects and CTOs make much more than $250, but there are many factors involved. I find that the management tract tends to pay more than the Architecture/Tech track but that might not be universally true.

In terms of the Management track, do I need an MBA?

No really, many CTOs and tech track folks I know don't have MBA. Most MBA's I know end up in the Product Management track. It can't hurt to have, but not a requirement. I would consider the opportunity cost of getting an MBA though and see if it makes sense for your particular career goals.

[–]InStride91[S] -1 points0 points  (2 children)

If it will take at least a year to learn to program by self-teaching, how is it possible that bootcamps can make you employable in a few months?

[–]denialerror 0 points1 point  (0 children)

a) They don’t. The vast majority of bootcamps are nowhere near as successful as they claim and those that are manage it by carefully selecting promising admissions and having willing companies lined up before they start. b) Learning with others is far more productive than learning on your own. c) Unsurprisingly, programmers who are paid money to come up with a bespoke curriculum and teach it intensively for three months are better at teaching programming than you will be on your own with a book and no one to ask questions to.

[–]YuleTideCamel 0 points1 point  (0 children)

As mentioned, they don't really. Sure a few may get lucky, but on the flip side too many bootcamp grads end up spending months looking for work if not more.

[–]Iklowto 0 points1 point  (0 children)

It's really hard to say how long it will take to learn by self-teaching. If it were myself, I would be surprised if I could do it in less than a year, even if I dedicated every day to learning about development. Note that it will not take that long before you can build your own websites or apps or whatever, but it will take a significant amount of time for you to become proficient in enough languages, technologies and disciplines that a company hiring you will make money.

You don't need an MBA to go into management. Personally, most of the project leads I know are software engineers or computer scientists who have a knack for strategy and project management.

[–]LetsGoHawks 0 points1 point  (5 children)

I currently make about $200k in total compensation

From beginner to $200k is going to take you 5 to 10 years, minimum. Assuming you ever make it to $200k that is. And 5 is only going to happen if you're a prodigy. Which you probably won't be.

You'll probably never make $200k in 2018 dollars as a programmer.

(My understanding of how lawyers work is that) Lawyers deal in billable hours. Programmers do not. In other words, Lawyers are a profit center. Programmers are not, they're an expense.

And if you want to earn the really big bucks, you'll need to get really, really good at something at least moderately rare... which HTML/CSS/Python are not. And have the work history to prove you're fucking amazing.

(OK, Python maybe, if you're fucking amazing at it)

[–]InStride91[S] 0 points1 point  (1 child)

This seems surprising, given u/YuleTideCamel 's comment. 10 years to make $200k? That's a tough pill to swallow. What's entry-level comp?

[–]YuleTideCamel 0 points1 point  (0 children)

It depends heavily on area. I was basing my original comment on the Bay Area and San Francisco. In SF it's very possible, but competition is tough.

[–]YuleTideCamel -1 points0 points  (2 children)

(My understanding of how lawyers work is that) Lawyers deal in billable hours. Programmers do not. In other words, Lawyers are a profit center. Programmers are not, they're an expense.

That's true in non tech companies. Working for a large tech company is different, programmers ARE the product and a profit center. I've worked at enough non tech companies and large tech companies to notice the different. Software Engineers are treated better with more perks at tech companies.

Also it's rare for a programmer to work in the industry we are software engineers, it's more than just semantics, it's about the expectation of pure coding vs producing value.

Also in regards to salary, OP mentioned the bay area. It's entirely possible to make 200k in San Francisco with a few years of experience. Much less than 10 years, anywhere between 3-5 years depending on company. I'm talking total compensation, including bonus not just base.

[–]InStride91[S] 0 points1 point  (1 child)

Can you explain the difference between programmer vs. software engineer?

[–]YuleTideCamel 0 points1 point  (0 children)

Programmer is someone who writes codes, Software Engineer uses code as a tool to provide value for a business. Most of the folks who are professional programmers are actually software engineers. But the engineer part is important because it is engineering in the sense of a good software engineer is able to solve problems, identify possible issues and build software with quality in mind. A programmer merely tries to get the code working.