Should I attend App Academy?
March 29, 2013 5:15 PM   Subscribe

Should I attend App Academy?

I have been accepted to App Academy . I have a decent, well-paying, fairly boring job that I would be leaving to attend. I've been picking up programming on my own for a few months and I really enjoy it, but quitting my job to attend a programming boot camp will be a pretty drastic step.

Moreover, I don't much about the software development job market. It sounds like this program will provide excellent training in ROR and web app development, and their placement stats look good. But is this a legitimate way to enter the software development industry? Can one sustain a career in software development without a degree in computer science or coursework in things like discrete math and algorithms? Would the software developers of mefi recommend this to a friend looking to make a career change?

Bonus question: what would be the career path for someone in app development? Do you just become a senior developer, or are there other paths? Is there room for salary growth?

posted by anonymous to Work & Money (8 answers total) 25 users marked this as a favorite
To be completely honest, I know almost nothing about the program itself--this is not my industry, these are not my skills, etc. BUT. I know three of the dudes on staff very well. Ned (the founder) is a very, very good friend and I've known him for a number of years. Is it right for your career, that I can't say. But Ned is one of the smartest, most talented, and kindest people I have ever known, and teaching people things is something he has always been very good at. Jonathan is crazy smart. These are people who know what they're doing, and people who you should want to know. If it's a field you're interested in, you should go for it.
posted by phunniemee at 5:34 PM on March 29, 2013 [1 favorite]

Does your workplace have any sort of provision for taking a leave of absence? If so, that might fix the problem of taking such a drastic step. Of course, this would only work if programming can be construed as a logical part of your career path at current company OR if you're willing/able to obscure the true purpose of your leave.
posted by Metasyntactic at 5:43 PM on March 29, 2013

I can't speak to App Academy or programs like it but I can talk about careers in software development.

First of all, if you can code well, nobody's going to care about your degree. One of the best things about the profession is how results-oriented it tends to be. Your colleagues will care about your ability to get things done, and also about your knowledge (and at the beginning they will have a body of knowledge that no nine-week course can teach you, but of course you'll just be starting out) but not about your piece of paper or lack thereof. All of these coding-boot-camp programs are so new that I don't think anyone can point you to someone mid-career who started off in one of these, but heck, the web is very new too! A total of zero people have started web development in their twenties and worked till their sixties and retired, since the whole thing is only 24 years old to begin with.

One thing to note in general about career development/compensation as a software developer is that for software companies, a few very talented developers can do amazing things that bring in many millions of dollars in revenue. So if you can become one of those people the world is your oyster, and you never have to worry about getting paid well. But there are many times more people somewhere in the middle, decent enough developers but not superstars, who can pull in low-six-figure salaries consistently but will never get rich -- and seniority will never get them there. Once you have worked with a bunch of coders, you will be able to tell which are which.

Programming IS discrete math and algorithms, so by definition you need to know those things, but you will find yourself picking up the more formal parts as you go along. If you feel you need to know more, you can always pick up a book or do a Coursera class, or a part-time Master's if you really want to. I don't think this should hold you back.

There are a bunch of different career paths for software developers. Here are some of the main ones. You can switch between them to some extent but they tend to use different technologies and have very different styles:

* Startup/midsize Internet company. These are the kinds of jobs that app academy seems to be preparing people for. They will provide a moderately high salary and decent perks, but people work very very hard. You won't get enough stock options to get rich regardless of how successful the company becomes (unless it's the next Facebook or Google, which it isn't). Since the company is small you tend to be able to work very independently and have a lot of say in what gets built (though not always). You tend to use recent technologies like Rails (which is what App Academy teaches you).

If your company grows, your job can grow with it, but it is notoriously hard to rise too high up the ranks as a startup unless you were there at the very beginning. But people tend to move from one startup to another, and this is a great path to go if you plan to be an entrepreneur yourself one day (though I hear entrepreneurship has its challenges, to put it lightly).

* Large software company (this is where I am FWIW). With few exceptions these guys (Microsoft, Google, Facebook, etc.) pay better than their smaller counterparts, and the work-life balance can be better, but in return you get to deal with large-company stuff like bureaucracy, politics, multiple layers of management, etc. Also, the technology tends to be not as new (for obvious reasons) and not as fast-moving, but you can do very cool stuff thanks to the resources they have. The quality of management and of the workplace in general can vary widely. (I won't name names.) You're also much more likely to be the only person without a CS degree on your team, since these companies tend to do more resume-sifting as part of their hiring process.

These companies tend to have pretty solid advancement paths for developers: usually there's an "architect" track where you don't have to move into management but you can design and implement larger and more important things, and there's a management track where you, y'know, manage. There are also other jobs at these companies for people with coding experience where you don't code much directly -- for instance, product management. If you have a good balance of business, people, and technical skills, this can be a good direction to go. Large companies will certainly compensate you well if and when you move up the ladder, but climbing corporate ladders can be a pain in the butt and certainly isn't for everyone.

* Non-software company. Just about everyone needs software developers, so many people end up working at companies that do other things primarily, like banks or retailers. Economy-wide, more people do this than work for software companies by far. These roles can be very interesting if you are passionate about the business and in some industries (finance, in particular) the money can be quite good. But you're a cost center so you don't get the love that you would from your employer if you were the one making the money. They tend care a lot less about the latest and greatest technologies, and you might even encounter COBOL or FORTRAN at some point. Also, the career path tends to lead into management pretty soon, and you have to worry about outsourcing.

* Consulting/software services company. Write software for other people on a contract basis. You can get to choose your technologies and you get to work on a new project every few weeks/months, which some people really like. As you advance you become a more highly-paid consultant. I don't know as much about this area but I have coworkers who have done this in the past and liked it a lot.

I'm missing some things here, but I think that's the majority. I hope my fellow Mefites can fill in/correct screwups in the areas where I have less personal knowledge.
posted by goingonit at 7:01 PM on March 29, 2013 [13 favorites]

Teach Yourself Programming in 10 Years
posted by mlis at 8:32 PM on March 29, 2013

The only thing I know about the app academy is from the links you posted. But, it seems like the point of it is to quit your current job, learn a ton of programming and start in that field. It costs you nothing but time (and lost wages) until you get a job.

If you are not currently a programmer and want to be one, this seems like a really good way to do so. I particularly like that the school's interests are aligned with yours.
posted by JohnnyGunn at 8:33 PM on March 29, 2013

mlis: To be fair, nine weeks isn't exactly three days. And, at least on some of these bootcamps' sites, they do say "You will learn enough to be qualified for entry-level positions."

# Disclaimer: I recently applied and was rejected. So it's not like that art institute thing where you just have to draw a bear head and get instantly accepted with a one-time fee of $500.. and as hard as it is to admit, being a REJECT, I did actually learn a few things just during the coding challenge and coding during the interview.
posted by lhude sing cuccu at 8:40 PM on March 29, 2013

N.B. I recently posted in another AskMe about learning to program, and was gently but soundly corrected by another Mefite with much more experience. You might want to read that AskMe, both for general background on entry-level programming jobs and also to understand specifically how I may be biased.

My usual objections to these n-week things are that they will focus very narrowly and superficially on a few interfaces du jour. I remember a very disappointing conversation with some people running a similar program in Chicago where it came out that they didn't really believe in teaching the implementations or the underlying principles at all. They just wanted to churn out people who could install a gem and use the API.

A Ruby on Rails dev is a pretty short-lived entity; that's someone who can get a job now while Rails is in demand, but not necessarily someone who can find a second job when it goes out of vogue and the market floods with Rails devs. Your chances at that point are much better if you have the theoretical underpinnings to become, say, a Django dev or an AJAX dev or an ActionScript dev or, going way out there, an Elnode dev. But the point is, if you have a well-paid career already, you shouldn't go looking for another job but rather another career.

That said, the staff have impressive bios, and I like that they actually schedule a little bit of time for algorithms, data structures, and state machines. The last one would not be my third pick for an important theoretical topic in computer science, but at least there's time for theory at all. So maybe this will be the one exception to my usual prejudices.

One red flag for me as I read through their site is that the testimonials from previous batches all describe a program that teaches iOS. It sounds like they redesigned their curriculum recently, and it's not a small project to develop a 400+ hours curriculum. I'd be curious why they undertook that project.

the school's interests are aligned with yours. (JohnnyGunn)

This isn't entirely true. The school has an incentive to get you a good first-year salary. Your objectives are not as narrow; presumably, you also care about the rest of your compensation (healthcare, time off, maybe bonuses, maybe equity) and your working conditions and so on.

Also, your time horizon should be longer. If I were going to attend such a program, I'd go in knowing that from the day I stepped out I'd in a race to catch myself up on four years of theory before the one interface I've learned to use became outdated and I had to find a new job. Again, you shouldn't make this decision based on whether you can find a job as a programmer but rather based on whether you can make a career of it.
posted by d. z. wang at 9:07 PM on March 29, 2013 [1 favorite]

I am not speaking for my company, but from personal experience.

First, the caliber of applications I've seen from programs like App Academy and other intensive "teach you to program in N days" schools have not been as high as that of applicants who came through a more traditional route of "fiddle with computer stuff, teach self to program, get an entry level program job." Like another poster mentioned above, the candidates from academies seem to have a very narrow field of experience that would not be as helpful as someone who had general programming knowledge.

> Can one sustain a career in software development without a degree in computer science or coursework in things like discrete math and algorithms?

Yes! My degree is completely not in CS and I've been programming for about 6 years. The trick is to get your foot in the door of your first programming job and once you get experience there, no one will think twice about your degree, as long as you can show that you're smart and quick to learn new things.
posted by nakedsushi at 10:45 AM on March 30, 2013 [1 favorite]

« Older 20-25 minute podcasts   |   Pitchy sometimes?? Newer »
This thread is closed to new comments.