Programming Bootcamps

Tenks

Bronze Knight of the Realm
14,163
606
Yeah there are ton of things I feel any competent developer in a business environment will know how to do. SQL probably being a major one. Others include things like being able to write an HTTP client and server using a framework (both REST and SOAP), using some form of build tool (maven, ant, make, gradle), using a CI environment (Hudson or QuickBuild I believe being the big two), using some form of repository (subversion, git probably being the big two), XML/JSON and having oustanding google-fu .. hell google-fu will tell you how to do all the ones I just mentioned anyways.

Being a business developer, as I've said before, is far more than just writing loops and if tests. Which is where I think formal education really falls short in preparing graduates for the real world which is why I ,personally, feel I learned more about being a real world developer at my internship than I did via class in college. I also just kind of took for granted you know Unix fairly well, bash scripting at a decent level and have a solid knowledge of using grep/sed/cut and all that to easily format and read log files.
 

Noodleface

A Mod Real Quick
37,961
14,508
I learned VB before C++ too and it was confusing as fuck.

We explicitly used C throughout university (low level work), so my allegiance probably stems from that. Even my senior design project was written solely in C (and a little python) on my part.
 

Khane

Got something right about marriage
19,836
13,354
The funny thing about software development is you definitely do not need a formal education on the subject. Most universities teach dated, legacy technology and a vast amount of the things you do will never be used in the real world. Ever. What takes an entire semester in a classroom setting can be learned by an individual in 1 week.

You're going to learn on the job, it's just the way it is. I've been doing this for almost 10 years now and I'm still "learning on the job". The only thing my college education afforded me was great friends and crippling debt.
 

Tenks

Bronze Knight of the Realm
14,163
606
Yeah but the degree has implied knowledge. It says you have the capacity to learn new things and have the follow-through to finish a long task. I suppose it also states you have a certain passion for development because I personally saw, and many others have similar experience, once the programming gets difficult people drop out left and right.
 

Khane

Got something right about marriage
19,836
13,354
The degree is to make the HR dept. at whatever company is hiring you feel warm and fuzzy inside. Most development shops couldn't care less about your degree. They want to tech you out and see what you know. At my last job of the 3 development team managers one had a degree in marine biology, one had a degree in sociology and one never even went to college. That degree can help get your resume across someone's desk though, because HR is in charge of dealing directly with the recruiters before the interview process begins and most HR departments don't understand software development at all and will hand req's to the recruiter that state "B.S. in computer science or associated studies required". It doesn't hurt to have the degree for certain, but any company that refused to interview someone simply because they don't have a formal degree is a company I wouldn't want to work for.
 

Lendarios

Trump's Staff
<Gold Donor>
19,360
-17,424
Khane, are you talking about a management position or or a development position? you seems to put the two of them into the same category. Managing developers is more about managing people than the technology. I would not hire a developer that has not gone to school in CS, or a hard engineering degree. Also the interview and how you answer the technical question is very important, maybe even more than the degree..
 

nate_sl

shitlord
204
1
So do I need the degree to get a job? I'm loving the Code Academy JavaScript tutorial. Could I use completion of these types of courses as a springboard into a CS grad school program? Fuck doing undergrad again.
 

Khane

Got something right about marriage
19,836
13,354
So do I need the degree to get a job? I'm loving the Code Academy JavaScript tutorial. Could I use completion of these types of courses as a springboard into a CS grad school program? Fuck doing undergrad again.
No you do not, he is an anomaly as far as I'm concerned. I also am a hiring manager and have interviewed more developers than I can count and every company I have ever worked for couldn't care less about your degree. We have an initial tech screening over the phone, if we are satisfied with that we bring you in for an in depth face to face technical interview. Your degree is completely irrelevant to me (even for junior positions). Head games in your technical interviews? I would never want to work for you based on those comments or your company. How could you possibly think a technical interview was BS? That's the most absurd thing I've ever heard. Personality definitely plays an important role in the hiring process, I will give you that but you are completely contradicting yourself. First you say university is important because it somehow shows that someone has the technical skills required to do the job (gimme a break) and then you say a technical interview is BS and head games? What kind of questions are you even asking? Unless you just want to ask someone syntax questions all day to see how much of a memorization monkey they are technical interviews are essential in weeding out bad candidates. On that phone screen I mentioned earlier I can tell within 10 minutes if you are worth bringing in for a face to face interview. It takes 10 minutes out of my day to do that after I've weeded out the terrible resumes that come across my desk. It's invaluable to me.

Lendarios, they were managers of a team but they were still developers, and they worked their way into those positions by showcasing their talent and expertise in the development field.

nate, what you will need on your resume are some concrete, real world applications you've worked on. That experience can come from small projects and freelance work. That kind of work can be found fairly easily on various freelancing sites around the net. You'll have to cut your teeth somewhere, but it's the kind of thing you can do on nights and weekends and make a little money on the side.

Mobile work is the easiest way to get your foot in the door. Apps can be created by anyone anytime and then you have something you can show potential employers without having to actually have worked for anyone in the process.

I just browsed the careers section at stackoverflow for about 3 minutes and found dozens of job postings with the keywords "Junior JavaScript" and most did not mention the need for a degree. Here are two examples:

Junior Developer at Sleepio - Node.js - Stack Overflow Careers 2.0

Junior Front End Web Developer at digital-telepathy - CSS - Stack Overflow Careers 2.0

One more thing you should keep in mind nate. You are probably going to be taking a pay cut to get into the field initially. But if you enjoy it and prove yourself the sky is the limit.

Actually, one more anecdote which I cannot believe I forgot. 2 years ago my brother came to me because he was interested in development. He was working for my parent's clean energy company in the warehouse and decided to make the company website. He enjoyed it so he wanted to turn it into a career. He did some freelance work while he learned (and was still gainfully employed) and 2 years later he got his first real development job. He works for a consulting firm called Tallan here in CT and with no prior work experience nor formal education he makes 65k/yr base and pulls in a ton of overtime. His W2 will probably be closer to 85k after his first year on the job.
 

nate_sl

shitlord
204
1
Again, thanks for the replies. My plan is to continue to work at my current job while I get enough experience to work on some real projects even if it's for free. After a year or two of working freelance I feel like I could probably get hired if I progress at a decent rate (similar to your brother).

Short term pay cut is no real worry. I went into accounting because it paid fairly well. Four years later and I realize there is much more to a career then a pay check. I'm single and don't have any other mouths to feed and only basic bills to worry about.

I really appreciate all the encouragement. Before asking any questions here, I assumed I would need some accreditation in order to break into the industry. I think that was holding me back from just jumping in and getting started. Hell, even my current job is more bearable now that I don't start every morning thinking "is this all my career will ever be?"
 

Vilgan_sl

shitlord
259
1
Glad you got some good responses. I'm coming to this late, but thought I'd throw my own 2 cents out there:

Having personally had to work with someone who came out of one of these "boot camps" it will be hard for me to give them much credence in the future. Anyone can attend a boot camp and learn some stuff but that doesn't mean they are anywhere near the level of most CS grads. The team lead (who is INCREDIBLY patient) eventually had enough and kicked him off the team. Very small sample size, but it was pretty appalling how bad he was despite doing a boot camp in San Fran that had a good rep.

I'd judge what you've actually built/done as a lot more valuable than any sort of class. While doing 4 years of CS undergrad is mostly a waste, imo at some point you should take the following 3 courses in some manner (online is fine):

Data Structures
Algorithms
Boolean Logic

Then just have a portfolio of shit you have built with a github handle that people can use to look at what you've done. Code for fun, make goals, build stuff, then make the switch. The first job is the toughest and might be a salary drop, but things will go up quickly once you have a year or two under your belt and actually know what you are doing. My first job was a shit job at like 48k/year but 4 years later I make 6 figures and am nowhere near capped out for salary yet.

Hope this helps!
 

Hachima

Molten Core Raider
884
638
So do I need the degree to get a job? I'm loving the Code Academy JavaScript tutorial. Could I use completion of these types of courses as a springboard into a CS grad school program? Fuck doing undergrad again.
You don't need a degree to get a job. However there will be doors that are closed if you don't have a degree/grades. In your world, am I going to get a job at a Big 4 company if all I have an associates degree from my local CC? Does that mean I can't get an accounting job anywhere at all? Will I have job offers flowing in the second I put my resume up? Just think of the opportunities that are available in accounting based on where your degree is from and your grades and apply the same thing to the software development world. Having graduated from a #1 ranked school, I get offers that explicitly call out they are looking for people from top tier schools. Its probably the same general principle for a lot of industries. Education often opens more doors than would normally be closed, but it won't prevent you from entering the industry unless there are specific licensing /accreditation rules that require a degree/credits. Another thing school offers is the networking. I have classmates I worked on projects with that are working/worked at MS,Google,Amazon,Facebook,Linkedin,EA etc.

Before even considering a CS/Software Engineering program definitely learn some skills on your own and see if its something you enjoy. Do some pathfinding and don't pigeonhole yourself into one specific technology early on. Once you find something you like, then specialize and become an expert in that area.

To be successful in Software development in general, you will need to be continuously learning. So if you are up to learning things on your own you will be a good fit for the job.
 

Khane

Got something right about marriage
19,836
13,354
But you're wrong. I was wrong too, and it's ok to admit it.

Technical interviews don't weed people out, they just bias the pool. There is not a single technology, language, puzzle, or obscure(or even common) fact that you can test people on in this industry, that is universal enough that it doesn't bear tons of false negatives.

Think about it for a moment, you can't even ask an interviewee something as simple as "Show me proper use of a variable?" or "How do you properly construct a loop"...without biasing the pool, because you're presuming people who are potentially extremely competent have the same background as you. Someone who spent most of their life using Haskell may have difficulty answering those simple questions on the spot, even if they're probably one of the best programmers you're going to meet in your career.

That's why I go with personality and team fit first(good references and work/project history doesn't hurt either...). If they're a good team fit we can train them, if they don't need as much training even better. But technical interviews are a colossal waste of time that serve little to no purpose other than to inflate the ego of the interviewer.

If you want to build a great team or a great company, with a diverse group of people who can REALLY solve problems at several angles, taking technical interviews seriously is hurting you.
Your problem is you think a technical interview is nothing but stupid syntax questions like "how do you properly construct a loop". Who would ask such a question? That question is completely worthless. "What kind of a loop? a while loop? a foreach loop? a for loop?". "Show me proper use of a variable."? It's no wonder you think technical interviews are a waste of time. Why would anyone ask such vague questions? In my technical interviews I tackle their problem solving abilities. I present them with real world scenarios and ask them how they would approach it. I ask them little to no syntax questions because I know, even as someone who has been developing in .NET for almost 8 years I still need to use MSDN to refresh myself on syntax. Nobody can memorize everything like that. I ask them questions about the underlying architecture of the framework my company uses (things like garbage collection). I ask them what tools they've used in past projects, how they found them and what their thoughts are on them. I ask them what as a developer interests them. I ask them about past projects they felt proud of, what the business need was, and why they built it the way they did. And then I ask them some SQL questions because... seriously... bro, do you even SQL? Saying a technical interview hurts might be the most absurd thing I've ever heard. More than anything you get an idea of how inflated their developer ego may or may not be. Nothing is worse than working with a developer with a God complex.

You say "If they are a good team fit we can train them" (and I agree with that wholeheartedly). Why then do they need a degree to be a good team fit? You say "Technical interviews are a colossal waste of time that serve little to no purpose other than to inflate the ego of the interviewer" yet you require a degree that in most cases, from most schools means nothing because they were learning ancient technology from professors who are developer relics or were never good enough to develop in the real world. So why do you need to see they have a degree? To make yourself feel better about your own? To validate all the time and money you and I wasted on a degree with almost no real world application? I went to college for computer science, and I have never used an ounce of the C++, MIT scheme, VB6 or frigan ColdFusion that I "learned". You know why I didn't learn anything useful? Because it took them an entire semester to try to teach me shit that would have taken me 1 week to learn on my own, and then instead of building on that the next semester they throw you into a completely different legacy technology. In my HTML class my professor actually docked me points on our final because I had the order process send an email verification. He told me "I don't like to be annoyed by emails".

Any company that requires a degree just to get to the interview process is a company that isn't forward thinking, doesn't embrace technology, and generally doesn't understand the value of real software development. This isn't engineering. There is no PE or FE exam. There is no valuable accreditation for software development. Literally anyone with the desire to do it can, and they can teach themselves.

With all that being said, for someone like nate, attending a university to learn would be both a waste of his time and money at this point in his life. He can teach himself far more in 2 years (if he has the desire to do so) than he would learn in 4 at any university and he can focus on technologies that genuinely interest him rather than learning shit he will never use. If I could go back and do it all over again I would have majored in business management and taught myself (which I ended up doing anyway) software development.
 

Hachima

Molten Core Raider
884
638
Any company that requires a degree just to get to the interview process is a company that isn't forward thinking, doesn't embrace technology, and generally doesn't understand the value of real software development.
NVIDIA EmploymentNVidia Requiring a masters degree?
https://intel.taleo.net/careersectio...9&src=JB-10400Intel requiring a masters degree?
Qualcomm Careers - Job DetailQualcom requires BS and prefers Masters degree?
https://jobs.apple.com/search?job=32...JobId=32822541Apple requires MS or Phd?

"According to the e-mail, Oracle recruits "top candidates" for product development from MIT, Stanford, CMU (Carnegie Mellon University), Princeton, Wisconsin, Yale, Dartmouth, Brown, Caltech, Berkeley, Harvard and Cornell.
In addition, the e-mail continues, Oracle will consider "top candidates" from the University of Texas Austin, Duke, Penn, Georgia Institute of Technology (grad students) and "any top international schools,"Oracle Corporation hiring from top Universities
Yeah all these companies are behind the times and don't embrace technology....

Software development is very diverse and to say all jobs require degree would be silly. At the same time the companies I mentioned and others atThe top 25 highest paying companies for software engineers (Glassdoor) | VentureBeat | Business | by Rebecca Grantare all most likely going to expect a BS for all jobs and prefer/require an advanded degree for some positions.

Its a very diverse field and many different paths are possible.
 

Khane

Got something right about marriage
19,836
13,354
Hachima you're talking about very specific needs for companies looking to fill very high level roles at very large multi-national companies. The work the students at those schools do and the technology they are exposed to is world class but it's not software development as being discussed in this thread. That's R&D work, building new technologies in most cases. That's not the kind of work nate is talking about nor is it the focus of why this thread was created. It's apples and oranges. You're talking about the .01%, some of the brightest, most gifted individuals on the planet.
 

Lendarios

Trump's Staff
<Gold Donor>
19,360
-17,424
I really dont understand why are technical questions a problem. Here is my standard questions, I ask this to everyone.
We are a .net shop
1) Write me in pseudocode how to reverse a string.
2) How will you go about taking information from a sql table and displaying it on the screen.
3) What are the statebags of Asp.net webforms. What are the pros and cons.
4) Sql question, can u get me the second highest salary employee on a table that contains two columns, salary and Name.
5) Class vs interfaces, talk to me about them.
6) what would you do if you dont know the answer to a question.
7) N tier development -< i poke holes in the answer to number 2 and ask them to redesign it based on the cons and a N tier architecture.

Number 4 is only to gauge how much sql they know. The rest are pretty much must know questions. If you dont know how to do any other other questions, then we really cant spend time training you,
 

Khane

Got something right about marriage
19,836
13,354
I never once said I required a degree, I honestly don't know where you misconstrued that. My argument was that experience with recruiting and collecting data on performance of candidates over the years has biased me to consider candidates with a degree more strongly, because the results on average have been much better. I openly consider anyone, but if 5 candidates are more or less equal, I'm going to more strongly consider the degree holders, cause their lower threshold of knowledge is higher. In reality most the programmers who are self-trained and competent stand out so far away from the degree holders that if anything they have a significant advantage, because in order to self-train you have to collect a portfolio of projects under your belt. But if you're self-trained with no significant history, then it's very hard to judge you.

Also, my bachelors and masters are not in CS(my PhD is), so I'm not looking to validate my misspent youth in some terrible CS program. I also didn't have a degree at all until working in this field for roughly 8 years, I was self-trained.

Lastly, I'll say Kudos to you for having a more sane in-person technical interview process, but the reality is, that makes you an outlier. Even with that though...you've expressed a lot of bias against the pool of potential programmers(SQL? I spent the last 10 years working mostly with Cassanda, or Riak, or Mongo...etc)....Gargage collection? You just biased against anyone with a strong background in C and other non-GC languages.
This makes more sense, though it still sounds like you value a degree too much. I wouldn't expect anyone to just jump into the job application pool as a self trained developer with no real world experience and I wouldn't recommend nate does that. But it looks like you agree a degree is not necessary. I still see job req's every once in a while looking for senior level developers with 5-10 years experience that also require a degree. That doesn't make any sense to me. If someone has 5-10 years of real world experience who cares what they did in school?

As far as biasing myself I have to. I don't care if your background is in C if we are a .NET C# shop, in fact that resume would go straight in the garbage. It doesn't make sense for me to entertain a C developer when there is such a large pool of C# talent available. I ask SQL questions because I am an integration systems architect and the work we do here is entirely data driven, if you don't know SQL you aren't useful to us. Knowledge of garbage collection (not the inner workings necessarily, but what it does and how it's useful and helpful in managed code) is also essential to our work.

I agree that most of the interviews I've gone on had absolutely ridiculous technical interviews but that's a problem with the interviewer, not the process. I get drilled with syntax questions and all that really does is show them how good at memorization I am, it doesn't really serve a purpose since anyone with an internet connection and a modicum of intelligence can Google the answers to those questions and get the information they need in minutes.

If I was talking to a 16 year old I would definitely recommend going to school, but more so for the experience that higher education offers as a whole than for the skills they would acquire in their programming classes. nate already has that experience, it would be a waste for him to spend his time and money getting a degree, it would serve him little to no purpose.
 

Khane

Got something right about marriage
19,836
13,354
I sense you don't know much about .NET if you think some C developer is going to solve performance bottlenecks in the .NET framework because of his background in memory management. If you need to fuck with the way the CLR handles all that shit (because it's a managed language) on its own you're writing bad C# code. That was a really, really bad example.

It would go something more like this "Hey Mr. C developer how come I can't read any of your code? What the hell is this "xna" variable? What's this "csr" function? You know that shit doesn't effect performance in .NET right?"
 

Tenks

Bronze Knight of the Realm
14,163
606
It is far, far more important to hire a competent, smart person who meshes well with the team than it is to find someone who knows the random facts you've deemed important. Any smart and competent person can learn any of those questions by just asking another developer and sitting down with them for 5 minutes or even just googling it. If you're restricting yourself down to "Only developers who already know C#" you're suddenly eliminating a huge amount of people for really no reason. When interviewing people you really need to get off your technical high horse of "The shit I know is the most important shit ever for the job" because a fresh perspective is always a good thing especially in a large code base.
 

Khane

Got something right about marriage
19,836
13,354
Maybe I'm not conveying the point correctly. I do not need to look at people who have no experience with the technology my company uses because there is more than enough talent that does work with that technology out there. Training junior developers is part of the job, teaching them the entire platform can be useful (it's how I got my first job in integration) if that's what you're looking for. I am not. It's not about a technical "high horse", it's about finding the right talent. I get too many resumes as it is when I'm looking to hire.

There are more than enough competent people who will mesh well with the team who already know .NET to expand my search to include anybody who has development experience in any language out there. It's impractical and unfeasible to do so. Pragmatism and all that.

Anyway, this is a complete derail of the thread. It's not about our differing opinions on the hiring process. Let's just agree to disagree, we aren't going to change each other's opinions.
 

nate_sl

shitlord
204
1
Feel free to derail, I'm enjoying it. I have been grinding away the last couple days and my brain hurts. In a good way.