I visited 42 in Paris a while ago and chatted with some students. It's impressive. Technically, the program is really good. They start with some pretty low level stuff (they learn C and reimplement bits of the std lib) and go from there.
But the most impressive thing was the potential of the school as a "social elevator" (ascenseur social) as we say in French - meaning a way for people from lower class backgrounds to land middle / upper class jobs. One such story that stuck with me was a guy who used to work construction jobs. Then he landed a job as a sales guy at the French equivalent of Best Buy. There he heard of 42 and signed up for it on the demo computers in the store (he had no computer or internet access of its own). When I met him, he was halfway through 42's program, and he's probably working a pretty nice job now. Truly an inspiring story.
I was poor. I joined the US ARMY. I went from poor to lower-middle class. When I left the army, I took what money I had earned and went to The Flatiron School (a ruby-on-rails bootcamp) for $6000. 3 years later, I make pretty good money. All these schools have the potential to become social elevators. It's awesome that free organisations exists. I may have not joined the US ARMY if 42 US existed.
3 of the 4 cofounders of 42 have previously worked at Epita, a private French computer science school that I attended and graduated from in 2003. Specifically, Nicolas Sadirac was the key director-level person in charge of pretty much everything: designing the extensive computer labs and networks used by all students and staff for everything (NetBSD and SunOS workstations, OSF/1 servers, NNTP newsgroups, a custom internal instant messaging system "Netsoul", etc... aah memories), selecting which classes to teach, hiring professors, and as a true hacker himself I believe he was even writing/designing (at least initially) the various programming tests, including those used during the famous "piscine". As to Kwame, he was working closely directly under Nicolas. I remember him as being also very talented, jovial, and very loud :) Florian, I don't remember him personally. I am less sure what connection Xavier and Nicolas have, but they seem to have known each other for a long time. Xavier appears to have not attended our taught at Epita? I could be wrong.
Epita was very successful thanks to its insanely intense focus on fundamentals: algorithms, programming, OS/compiler/DB design, low level stuff (reimplementing the standard C library, a 3D engine, a UNIX shell, etc). I absolutely loved all of this. However its investors and other directors wanted to change the school to have more general/non-programming courses in order to be recognized by the CTI (commissions des titres d'ingénieur, basically to give Epita's diploma more credence in the eyes of mainstream employers). But Nicolas disagreed and believed keeping the focus on fundamentals was key.
So in 1999 he left and started his own school called Epitech. For a while Epita and Epitech shared buildings and even some professors.
Eventuality Epitech became as successful as Epita (even more in my opinion). It gained a great reputation and graduates are courted by many employers.
I have been following the progress of 42 over the last few years, and I am really excited for them. They have the right team to succeed, that's for sure.
The school 42 its NOT A BOOTCAMP. I think people are not reading the article because i see a lot of people comparing it to bootcamps. It lasts a lot more than bootcamps, 3 years and students never learn rails javascript or any web developement stuff.
[EDIT] You learn the base, lowllevel stuff and you code a lot. Afterwards you are able to pick any language or framework in a week. Students learn to teach themselves.
There is already some web development projects (currently html/css/php and javascript), and RoR subjects are being crafted by students. We start with low level, and after some basics (unix shell, stdlib, printf, corewar, raytracing 3d-engine and web), there's some sysadmin stuff, pentesting, kernel programming, functionnal programming, unity, machine learning, etc.
+1, 42 seems to be a much better approach than bootcamps and even most University programs when it comes to learning software development. I would think most of these students would be far above and ahead of what I see from a lot of people with even a Masters in CS in terms of aptitude/approach.
On the flip side, it's hard to imagine making it through 3+ years of 6x12 days without burning out... Though I'm not sure what the vacation/holiday break schedule looks like.
I've always been suspicious about those schools. Computer science is far more than just "coding". While I'm sure many cool projects can be done with patience and motivation, there is also a lot of fundamental knowledge that is hard to acquire just by doing unsupervised coding projects.
Be careful, it's more of an accelerated natural selection than a school.
The postulate of 42 is that talented people will acquire this fundamental knowledge no matter what, and that non-talented people will simply drop out of school. The big idea is to make sure that people with a gift for programming, no matter where they come from or what they did before, become highly productive and achievement-driven. The rest better pack up and go do something else.
That's also one of the reasons why the school is free. Dropping out and failing should be as quick and painless as possible for both the school and the student.
I've always been suspicious about those schools. Computer science is far more than just "coding".
The difference between a CS degree and a coding bootcamp is very similar to the difference between being a computer scientist and a developer. In my 20 years of development so far I've never implemented a doubly linked list or designed a search algorithm.
But you don't need computer science to get and perform very well in a programming job. I'm a sample size of one, but I never had any formal comp-sci education and only after about a decade in the industry did I go back and teach myself algorithms, data structures, and all the other comp-sci stuff. I only did this out of interest, not necessity. My experience is not unique.
You are absolutely right. In France CS is often learned in "engineering schools" which are generally almost free but are also very selective (you generally have to pass one of the hard preparatory school competitive exams). The main difference 42 school has is that they are much less selective (if at all?) and of course the level at the end is much more random than an engineering school [1]. Btw I am not sure how it works in other countries, but in France they are not allowed to deliver "engineer titles" (I believe they actually do not deliver any real degree at all) which make it very clear that when you hire someone from 42, you are hiring a coder, not an engineer. That said, that might be exactly what you want, and I believe 42 was born precisely because of the lack of coders. We have also had very pleasant surprises and some of our hires from 42 are actually very good.
There are videos to follow. And you have your peers to ask questions.
The only thing missing is the opportunity to ask question directly to the instructor. But doesn't many students graduate without interacting with the instructor in traditional school?
Would love to see comments from someone studying there or someone who has done it in France. Also, I understand the costs of running this school are low, but still how are they funding this?
I was admitted for more tests for the one in paris, but living in paris is outright impossible for me money wise.
The idea is great, but when you're poor, the price of the school is not the only problem. In france education is already free, and the problem is still the cost of living.
Obviously it is a great alternative because the selection process in other universities is tedious (you need to be good in high school etc), meanwhile with 42 you just do some fancy tests, so it's more open.
But I'm curious about how poor students can really finance staying at 42. Students here are already working more hours outside so they can study.
Obviously, making such school in the US is going to make it more interesting than 42 in france.
>Obviously it is a great alternative because the selection process in other universities is tedious
That's not true, in France going to the university is open to anybody that obtained the "Bac" (not necessarly a general or scientific one, doesn't matter, you can get in mathematics there with a mechanics degree) and if you don't have it there are some formations to get an equivalence, opening the doors for you. (of course it will be extremely difficult to catch up in compsci for someone without a scientific bac but he can try)
And the university is almost free (less than 500e a year if you don't get any social help)
It is true however that you need good grades to get to the top engineering schools.
As you said the bigger issue anyway is the cost of living.
You can loan like 15k euros without any interest, and work part-time after your first year, or even during the first but it' s not recommended. If you've already worked before you can get ~650e per month during the 3 year of the formation.
Was anybody else surprised to see beginners are taught C and spend time reimplementing parts of the standard library. C is pretty low level for introduction to coding no?
Pascal was often used as a teaching language specifically because C was too low-level for many beginners. Python is often used now days. I think it's important to give beginners an easy start where they pick up the mental process of solving problems with code and libraries with steadily increasing rewards & difficulty. C is the wrong start for that.
What I'm uncertain about now is if they should start with dynamic or static language. Starting with something like Python gets them results and basic skills quickly. Might even maintain interest by being a break from the hard stuff in lower-level languages. After Python, something like Oberon or Go that's statically-typed, closer to the metal, and still easy to work with. I'd have said Oberon in past due to simplicity but a Go subset might be better today due to all Python to Go articles. They can do some work in Go to see benefits of static types, do algorithm optimization, whatever. Only then do they learn C with early intro on its pitfalls, undefined behavior, and efficiency advantages. They need to see how each thing helps, hurts, and is properly used. Then maybe a standard library re-implementation starting with a simpler one.
That's how I'm seeing the process in my head. Side-benefit is you get usable, job skills if you make it through any stage. Just don't drop out before done with Python. :)
My introduction to programming was one semester of Pascal in high school (2 years before college). There was a second semester class as well where the teacher just handed us an intro C book and told us all "Go learn it. Make up your own assignments and I'll grade them. I'll be over here teaching the first class if you need help."
I think schools are way too coddling when they teach kids "Pointers are scary. That's why you'll only learn Java here." I don't think my classmates where particularly gifted and yet we all survived C with minimal assistance.
At my university, the first semester's course is taught in Java. We were permitted to use any part of the Java API for all of our work. The one 'but' was that, during exams, we were not allowed to use the internet. We did have a local copy of the Java API though. We weren't really taught data structures in depth, but we did very briefly go through it (i.e. we learned how to reverse an array, what a linked list is, etc.; we did not implement our own data structures and such).
The second semester was taught in C/C++ and we did the things they described in the article (reimplementing the standard library, making doubly linked lists, etc.)
I think my university made the right call with making Java the first language. Even then, the failure (and/or dropout) rate was 30%+ for the first semester. A further 30%+ failed the second semester's course. If we had started out in C/C++, I imagine the overall failure/dropout rate would've been far higher.
I think we'll see more of these types of opportunities, both private and public. And we'll get to the point that motivation is a big, remaining issue - starting a program like this (or any online course) and seeing it through.
I tried learning Ruby on Rails on Windows 7. It mostly worked, until it didn't. When I asked others around for help, and it became clear I'd done some newb thing to generate an un-google-able error, I was on my own. No one I knew developed on Windows. After being stuck enough times with maybe-Windows-specific errors, I decided I need a Mac.
In a world where you want to be able to develop for anything from a single machine, Mac is your only option. e.g. If any of the courses offer iOS, they'll need Macs. The machine can boot, or run VMs for other OSes but you can't boot OSX (legally?) on anything else.
[+] [-] gregschlom|9 years ago|reply
But the most impressive thing was the potential of the school as a "social elevator" (ascenseur social) as we say in French - meaning a way for people from lower class backgrounds to land middle / upper class jobs. One such story that stuck with me was a guy who used to work construction jobs. Then he landed a job as a sales guy at the French equivalent of Best Buy. There he heard of 42 and signed up for it on the demo computers in the store (he had no computer or internet access of its own). When I met him, he was halfway through 42's program, and he's probably working a pretty nice job now. Truly an inspiring story.
[+] [-] weatherlight|9 years ago|reply
EDIT: typos
[+] [-] yodsanklai|9 years ago|reply
There are many French universities with CS programs that are virtually free (and work as social elevators too).
Maybe that's one of 42's strengths. Via their media exposure, they can attract students who wouldn't have thought about studying otherwise.
[+] [-] mrb|9 years ago|reply
Epita was very successful thanks to its insanely intense focus on fundamentals: algorithms, programming, OS/compiler/DB design, low level stuff (reimplementing the standard C library, a 3D engine, a UNIX shell, etc). I absolutely loved all of this. However its investors and other directors wanted to change the school to have more general/non-programming courses in order to be recognized by the CTI (commissions des titres d'ingénieur, basically to give Epita's diploma more credence in the eyes of mainstream employers). But Nicolas disagreed and believed keeping the focus on fundamentals was key.
So in 1999 he left and started his own school called Epitech. For a while Epita and Epitech shared buildings and even some professors.
Eventuality Epitech became as successful as Epita (even more in my opinion). It gained a great reputation and graduates are courted by many employers.
I have been following the progress of 42 over the last few years, and I am really excited for them. They have the right team to succeed, that's for sure.
[+] [-] tek4|9 years ago|reply
[+] [-] fk_mks|9 years ago|reply
[+] [-] tracker1|9 years ago|reply
On the flip side, it's hard to imagine making it through 3+ years of 6x12 days without burning out... Though I'm not sure what the vacation/holiday break schedule looks like.
[+] [-] yodsanklai|9 years ago|reply
[+] [-] babebridou|9 years ago|reply
The postulate of 42 is that talented people will acquire this fundamental knowledge no matter what, and that non-talented people will simply drop out of school. The big idea is to make sure that people with a gift for programming, no matter where they come from or what they did before, become highly productive and achievement-driven. The rest better pack up and go do something else.
That's also one of the reasons why the school is free. Dropping out and failing should be as quick and painless as possible for both the school and the student.
[+] [-] onion2k|9 years ago|reply
The difference between a CS degree and a coding bootcamp is very similar to the difference between being a computer scientist and a developer. In my 20 years of development so far I've never implemented a doubly linked list or designed a search algorithm.
[+] [-] n72|9 years ago|reply
[+] [-] forty|9 years ago|reply
[1]source: hiring / interviews
[+] [-] iamcreasy|9 years ago|reply
The only thing missing is the opportunity to ask question directly to the instructor. But doesn't many students graduate without interacting with the instructor in traditional school?
[+] [-] d--b|9 years ago|reply
[+] [-] rahimnathwani|9 years ago|reply
42 is free thanks to the financial support of Xavier Niel, a French entrepreneur and the founder of the telecommunications company ‘Free’ in France."
[+] [-] pavs|9 years ago|reply
[+] [-] jokoon|9 years ago|reply
The idea is great, but when you're poor, the price of the school is not the only problem. In france education is already free, and the problem is still the cost of living.
Obviously it is a great alternative because the selection process in other universities is tedious (you need to be good in high school etc), meanwhile with 42 you just do some fancy tests, so it's more open.
But I'm curious about how poor students can really finance staying at 42. Students here are already working more hours outside so they can study.
Obviously, making such school in the US is going to make it more interesting than 42 in france.
[+] [-] bench_soup|9 years ago|reply
That's not true, in France going to the university is open to anybody that obtained the "Bac" (not necessarly a general or scientific one, doesn't matter, you can get in mathematics there with a mechanics degree) and if you don't have it there are some formations to get an equivalence, opening the doors for you. (of course it will be extremely difficult to catch up in compsci for someone without a scientific bac but he can try) And the university is almost free (less than 500e a year if you don't get any social help)
It is true however that you need good grades to get to the top engineering schools.
As you said the bigger issue anyway is the cost of living.
[+] [-] fk_mks|9 years ago|reply
[+] [-] bogomipz|9 years ago|reply
[+] [-] nickpsecurity|9 years ago|reply
What I'm uncertain about now is if they should start with dynamic or static language. Starting with something like Python gets them results and basic skills quickly. Might even maintain interest by being a break from the hard stuff in lower-level languages. After Python, something like Oberon or Go that's statically-typed, closer to the metal, and still easy to work with. I'd have said Oberon in past due to simplicity but a Go subset might be better today due to all Python to Go articles. They can do some work in Go to see benefits of static types, do algorithm optimization, whatever. Only then do they learn C with early intro on its pitfalls, undefined behavior, and efficiency advantages. They need to see how each thing helps, hurts, and is properly used. Then maybe a standard library re-implementation starting with a simpler one.
That's how I'm seeing the process in my head. Side-benefit is you get usable, job skills if you make it through any stage. Just don't drop out before done with Python. :)
[+] [-] corysama|9 years ago|reply
I think schools are way too coddling when they teach kids "Pointers are scary. That's why you'll only learn Java here." I don't think my classmates where particularly gifted and yet we all survived C with minimal assistance.
[+] [-] kevindong|9 years ago|reply
The second semester was taught in C/C++ and we did the things they described in the article (reimplementing the standard library, making doubly linked lists, etc.)
I think my university made the right call with making Java the first language. Even then, the failure (and/or dropout) rate was 30%+ for the first semester. A further 30%+ failed the second semester's course. If we had started out in C/C++, I imagine the overall failure/dropout rate would've been far higher.
[+] [-] Avshalom|9 years ago|reply
[+] [-] p1esk|9 years ago|reply
[+] [-] prawn|9 years ago|reply
[+] [-] weddpros|9 years ago|reply
[+] [-] zouhair|9 years ago|reply
[+] [-] caub|9 years ago|reply
[+] [-] amorphid|9 years ago|reply
[+] [-] jasonkostempski|9 years ago|reply
[+] [-] dizzy3gg|9 years ago|reply