Coding Bootcamps. Worth it? Your opinions welcomed...

Thanks so much for you guys’ helps and replies! Is the medical IT field good to explore? I heard someone mention this to me around several years ago, though it was quite awhile ago…

One topic that is very likely to come up in an interview for an entry-level CS job is the analysis of the performance of an algorithm. You may have done some of that in your Data Structures course, but it would be covered more extensively in an upper division course in Analysis Of Algorithms.

There are definitely free courses on this subject on the MOOC web sites. I listened to a few minutes of the one by Robert Sedgewick at Princeton, and I seriously almost fell asleep. There’s a young guy at Stanford who is much more interesting. I would try his.

I think some people here are painting a picture that’s a little too rosy, of your chances of breaking into the field without a degree. Sure there are people who have successful careers as programmers who don’t have a degree, but they’re a minority. Even if you do get an entry level job, it could be harder for you to break into the six figure salary range or to become a manager, without a degree.

I know it’s not what you want to here, but I would pursue the degree, even if it means doing it part time so you can work and make the money for tuition.

Yes, you can self-study a lot of this material, but be honest with yourself. Do you have the discipline to see it all the way through? It’s going to take a lot of it, and most people don’t have that level of discipline.

Especially given the fact that you’ve been out of school for 3 years, I think it’s going to be an uphill battle. Without some kind of formal classes, whether they’re Continuing Ed or regular for-credit university courses, I think it’s going to be hard to get interviews. You’ll be competing with a bunch of kids with fresh bachelors degrees, and you’ll have half a degree from 3 years ago. Who would you interview?

I’m not trying to be negative. I just think you need to be realistic. You could waste a year or more spinning your wheels, trying to self study and go on interviews against candidates who all have a leg up on you, or you could spend that year taking your junior year courses.

Interviewing is time consuming, and it can be really demoralizing when the offers aren’t materializing. If you put your energy into getting your degree, it’s something that you’ll have for the rest of your life, and it will make the process of breaking into the field ten times easier. Trust me, I’ve seen friends try to do it the hard way - it’s not worth it.

@WalkingOnEggshells: “…I’ve seen friends try to do it the hard way - it’s not worth it…”

Could you please elaborate? Stories?

And does anyone agree with WalkingOnEggshells?

I have one friend who tried the self study route, but never stuck with his study plan, and never made the transition. Another friend was programming on his own as early as 8th grade, I think. For some reason, he chose not to study CS in college, but he never finished his degree.

I forget how long it took him, but he did eventually get a job as a programmer. I think a friend of his got him in where he was working. He spent a bunch of years before that working in jobs that paid very little. As a programmer, he made better money, but he never made as much as people with CS degrees, and it always frustrated him. He didn’t want to be a manager, so that was never an issue.

I think the biggest issue he faced is that he felt trapped at his jobs because the number of jobs he could go for was limited. I used to try to get him to negotiate a higher salary or try to force a higher salary by securing a job offer at another company, but he never had the confidence. I think that’s why he made less than average money for a programmer - he felt like he had no leverage.

Eventually he quit his programming job, but he does write some code in his current job.

It is much easier to get a job if you have a degree. As mentioned previously, many larger, more established companies won’t bring you in for an interview unless you have one. They’ll occasionally make exceptions for an applicant who otherwise has great qualifications for a particular position.

Some small and medium-sized companies aren’t so hung up on degrees. For example, lots of newly established start-ups are desperate to find people to hire. They’ll still prefer someone with a degree, but will interview those without degrees if there’s demonstrated ability. That’s why you’re encouraged to have a few working software applications to show prospective employers. A little chat website that looks nice and allows you to store data into a database and retrieve it, or a calculator that runs on a phone - things like that.

In the large companies I’ve worked for, I’ll guess that at least 95% of the programmers had a degree. At the smaller companies, maybe 80% had degrees.

Once you get that first job and about three or so years of experience, you’ll be in much better shape to get jobs later on. The more experience you have, the less college matters.

I’ve been in software for over 30 years, and have never had anyone ask me to analyze algorithm performance in an interview. Nor have I asked anyone about it. That’s not to say it will never happen, but usually the questions in interviews tend to be about more practical, less theoretical topics like, “What’s a callback?”, “How do you set up an event handler?”, “How do you mimic a class in javascript?”, “What kinds of problems have you run into when programming, and how did you solve them?”, “What kinds of things can you do to speed up database retrievals?”, “What are some examples of security problems that websites can have?”, “What development environments have you used?”, “Have you ever used GitHub?” The kinds of questions depend on the the skills required for the job.

If you’re going to survive as a programmer, learning how to pick up new skills on your own is essential. You do need a minimum base of knowledge to be able to do that. From the list of courses you’ve said you’ve taken it seems like you’re right around the minimum base. Give the self-study a shot. If you don’t feel like it’s working, then you’ll have to use your own judgement as to whether paying for on-campus classes will work better. I still recommend you look at the Coursera web and mobile development specialties. They’re cheap, even free if you don’t want a certificate. (In your case, you should get a certificate.) You’ll be learning at home, but it will be somewhat guided and paced.

Regarding medical IT, it is a very big field and up until about a year ago there was a lot of money flowing into it. It seems like it’s peaked for the moment and money is starting to dry up. I used to work for a medical IT company in SF, and people I talk to who are still there say things have gotten pretty bad lately. Lots of employee turnover and cost cutting is going on.

Well… that is the big point of distinction between those who move into computing with no degree or an unrelated degree and those who do not. The successful ones are the ones with the highest ability and motivation. Most others need to assistance of instructors and the framework of courses and curricula to learn enough of the relevant topics to get to the point of being able to do useful work in computing.

Remember that continuing self-education on the job is also needed through one’s career. But that is generally easier once one has the foundation knowledge from course work typically included in a bachelor’s degree in CS.

I work for a small tech company that hires people without 4-year degrees (or with unrelated 4-year degrees). For front-end developers, we like folks who have gone through an associate’s program at a CC or a certification program at the state U. I don’t think we’ve hired out of boot camps, can’t really recall seeing resumes from boot camp trainees. I wouldn’t automatically discount the possibility, but prefer the pipelines we have experience with. For Java developers more education is preferred but we have hired promising individuals who have not completed a degree.

We do have everyone go through testing for tech jobs. Front-end developers take tests in Javascript, HMTL, and CSS. Back-end developers take Java tests. Someone claiming to be “full-stack” all the way to Java would take all of the above (note that full-stack has no clear definition, and some think the “stack” ends at PHP).

I do agree that motivation and ability to continually learn new skills are key in hiring developers. You need the starting base of knowledge, but you also need to demonstrate your eagerness to adapt as technologies change.

How many tech companies actually higher coders without a degree?

That’s surprising to me. It has been very common in my experience. But note that I’m specifically talking about interviews for entry level positions. The questions you listed would be typical for a position requiring experience, but kids coming out of school don’t usually have much practical experience. The questions in those interviews tend to be more theoretical, out of necessity, at least in my experience.

Algorithms questions are definitely less common as you get further in your career, and less common for front-end type work. In my experience, more often than not, if the position is more of a core developer type role, as opposed to front-end, you’re going to get at least one guy who will beat you up with either writing or analyzing an algorithm that you would typically see in a Data Structures or Analysis Of Algorithms course.

The more technical and more academic the company, the more likely you are to see those types of questions. I mentioned those types of questions because that’s where the interviewer is going to see the biggest difference between the OP and the candidates with CS degrees, unless the OP self studies that material.

Interesting. Do you know if the Java developers without a 4 year degree get offered the same starting salaries as the candidates with a degree?

@csuniv , you might want to consider this when choosing an area to specialize in, if you decide against finishing your degree. Without a degree, it might be easier to get a job as a front-end Web developer than it would be to get a position as a back-end, multi-threaded Java programmer, for example.

So you might want to focus on JavaScript, HTML, and CSS. And then look at Angular or one of the other Web frameworks. I’m not an expert in this area, but I’m sure others here can help you.

Our pay scale does not differ based on education - it’s based on experience and potential. It certainly is easier to get a job as a front-end developer without a degree than as a back-end developer. If you find the right job and show potential, you may be able to cross between the two - our most valuable developers do that. The two types of development do differ - back-end appeals more to the extremely logical thinkers, front-end to people with more of a creative bent. Not everyone can do both well.

Without a degree it can be extremely difficult to get a job in a larger company unless you have significant work experience. Many companies use the presence of a degree as an initial screen and candidates won’t even get past HR without one.

I can see that happening if someone is coming out of a traditional college CS program, which will likely emphasize theory over practical knowledge. That’s not the situation here, though. In lieu of a degree, csuniv needs to work on gaining enough practical knowledge to show potential employers that s/he can come in and start contributing right away.

Most meat & potatoes programming jobs these days don’t involve writing complicated algorithms. If there’s a need for something complicated, it’s more likely someone will go out and find a software package or library that implements the algorithm well. Software jobs these days are mostly about understanding various software packages, libraries and tools, and then combining bits and pieces from them in order to create a working application.

This is the norm in the software industry.

@InigoMontoya

How is front end work more of a creative bent and back end logical?

And is back end really that difficult?

BTW guys, thanks so much for your inputs…

I think it depends very much on what they want the candidate to contribute to. It’s the position that’s going to determine what they expect the candidate to know, not the educational background of the candidate.

If a company is looking for an object-oriented developer to work on their core libraries, they’re going to expect the candidates to have a good grasp of fundamental algorithms and how to analyze the performance of those algorithms. They’re not going to change their requirements because the candidate didn’t take courses in that subject.

Depends on what you mean by meat and potatoes. If you take that part out, I agree with your first sentence. Most programming jobs don’t involve writing complicated algorithms, but there are some that do, and @csuniv should understand that it will be more difficult for him/her to get one of those jobs without studying algorithms. That’s all I’m trying to get across.

At this point, @csuniv doesn’t know what area he/she will specialize in. If the goal is to become a game developer or to work on stock trading systems, he/she is probably going to be at a disadvantage without a degree, or at least the knowledge acquired in a degree program.

One other thing. The point has been made in this thread that small companies are more likely to hire someone who does not have a degree. I agree with that, but I think @csuniv should be aware that this is not always the case. Some of the most technical and academic interviews I’ve been on, have been at small software start ups.

Here are two links about software startup founder’s and their educational backgrounds:

http://www.■■■■■■■■■■■■■■■■■/interests/business/articles/business-internships/web-entrepreneurs-college-degrees/

https://www.quora.com/Are-there-any-succesful-tech-startups-founders-without-a-CS-degree

Software startups are trying to sell a piece of software. They’re not typically going to cobble together a bunch of frameworks and libraries and try to sell that. They may use some frameworks and libraries, but they’re going to build a complex, customized piece of software, that I can assure you, has lots of custom-written algorithms in it.

Are there plenty of jobs out there that can be done by programmers without a CS degree or the equivalent knowledge? Of course there are. But let’s be clear about the fact that it’s not all of them, and until @csuniv knows what he/she wants to do, it would be premature to say certain parts of a CS degree are unnecessary.

The front end is more concerned with the visual and implementing the appearance of a web site (caveat - all my reference points are from the perspective of the web dev industry - it’s where I’ve worked for years now. Other software development will vary). Front end has a lot of art as well as science to it, and usually a lot of trial and error. A number of front-end developers I work with started as graphic designers (even a few fine arts majors) who had opportunities to learn front-end coding and realized that was their passion. Back end is more structured, technical, and logical. Which one is more “difficult” is going to depend on how your mind works. Computer science majors tend to be much more likely to be back end developers than front end.

Would it make more marketable to be both? Which is better for employment? And front end is much easier?

@IngoMontoya, the advice you’re giving regarding interviews is appropriate for people who have degrees coming of college. That’s not the case here. csuniv wants to get a job as fast as he can, and the best way to do that is to focus on web and/or mobile development. Those tend to be less corporate and easier for someone without a degree to get a job in. There won’t be time to study theoretical aspects of CS like algorithm performance, and he shouldn’t be pursuing jobs that require that kind of knowledge.

Developers who can do full stack are more marketable than those who confine themselves to either the front or back end, but it takes a very long time to be good at both ends. I’ve never worked with anyone that I consider “great” at both the front and back end. (Although I know lots of programmers who think they’re great at both.) I came out of a graphics background doing programming for flight simulators, 3D modeling, GIS mapping, image processing, etc., and am very comfortable doing front-end development. But I always feel squeamish when doing complicated database programming on the back-end. What I normally see is the opposite - most programmers prefer working on the back end, which doesn’t involve anything in the way of “art”, and they make a mess on the front end, which is a combination of art and science.

@sibma9 - I am not the one giving advice about algorithm performance. I hire many people without degrees. My advice is to go through a couple of month certification program at a state U to get the education required to get a job with a smaller company willing to take a chance on folks without degrees. I work for a web development company (see my post #55) and my latest front end hires include a former nurse who went through a 6-month program at NC State and someone else with an associate’s from a community college. I do have some experience in what I am talking about.

And your second paragraph pretty much reiterates what I stated - that CS people tend to go back end, and front end developers often come from art or graphics backgrounds.

Not really sure why you called me out here.

@csuniv - I do agree with one thing @simba9 says, and that is you need to start from one direction or the other. Very few people are truly successful at both. Maybe try taking some online courses and see which appeals to you - one will likely feel more natural than the other. Folks who can do both are very marketable, but that’s because few people have strengths in both these areas. Oddly enough, the developer I know that is the best I’ve seen in both has not yet finished his biology degree, but we hired him as a Java developer and he just turned out to have a knack for front end as well.

Also - be prepared for it to take some time to find a job as a full-time employee. You may need to work as an intern, or on a 90 day contract to hire, or even as a contractor or doing staff augmentation through a placement company, to have a chance to prove to an employer that you have potential. Those kind of arrangements are pretty common in small companies when hiring junior level employees. “Try before you buy” is what it’s called.

Wow…seriously interesting. So what is the difference between someone with a creative bent versus a logical?