Hacker News new | past | comments | ask | show | jobs | submit login
42 (school) (wikipedia.org)
180 points by luu on Oct 23, 2018 | hide | past | favorite | 150 comments

Having interviewed a bunch of 42 graduates, my main issue with 42 is that it doesn't teach their students to think about what they're doing, encouraging them instead to rush to the keyboard and emit as much code as they can as if programming for the last day of their project. This seems to resonate well with the culture of piscines at 42.

To me, this is as silly as training Biathlon athletes to not even aim before they shoot.

So far, I've always ended up not recruiting the candidates, because they would have made a mess of the codebase in no time, bringing negative net productivity to the team (more so than most junior candidates I've seen). And this was for jobs in a startup!

I wish 42 would teach them the necessary insights to program sustainably - that's where teachers and mentors are indispensable, and that's the rare skill most companies are lacking. Anyone can pick up tutorials and read manuals on their own. Make them developers, not eternal coding beginners. I'm not asking for an academic or scientific focus, just a good philosophy of programming in general, the kind of which you see in SICP for example.

Unfortunately, 42 does not have a monopoly on producing short-sighted developers in France, by far - that's the case of most "learn to code in X days/months/years" programs.

Yes, they modelled it after Epita which was also about code, code, code.

Also, while it's nice that Xavier Niel finances a school that is free, most of the universities and Grandes Ecoles (where many developers graduate from) are also free, and financed with public money. They work great and produce really skilled developers and architects.

The reality is that Xavier Niel didn't do a Grandes Ecoles, he's mostly self-taught. When he started to succeed in the telecom industry other companies, full of alumni from Grandes Ecoles didn't see him with a good eye because he didn't have the pedigree (and didn't hire many of them either). So he has a grudge about the Grandes Ecoles system, and creating a school with private money is kind of a middle finger to them.

> Yes, they modelled it after Epita which was also about code, code, code.

I don't know where you last got your information about Epita, but this has been less and less true for around 10 years now.

They sought to have a state certified engineering degree for a long time and implemented a lot of changes around 2003-2007 that made the cursus a bit less about code a more about common engineering stuff (maths, physics, english, ...) with more structure (they structured classes with a credit system, made more standard student evaluations, ...)

Source: graduated in that era, been in touch with later students.

Coming from Epitech, I would say that you are right. The code, code, code mind is more Epitech and less Epita nowadays.

I've also been through Epitech which is the school that greatly inspired 42 (same founders) and I would like to add some details on top of that.

Even if it's true that Epitech us mainly about coding, the program enforce a coding standard that is a huge part of the final grade of each coding project (small functions, 80 char per line of code...). Fom the second year, components decoupling and basic design patterns are part of the program.

Nevertheless, the school doesn't really make the most to teach basic good engineering practices or at least I don't remember (doc, tests, vendoring, observability...) and this is one of the main pain point.

They have the same rules at 42 to code, 80 columns, 25 lines for a function, ect... Where Epitech is better is that from the middle of the third until the end of the beginning of the five year, you have to work on a end study project. You need to prepare everything before coding, database schema, how will you do your tests, ect.. Even tough I find Epitech better than 42 on this, Epitech is also lacking a lot of things. Some teachers to explain to you the best practices, code review, ect.. would be really nice.

Are you really talking about the EIP?

That totally sounds like gossip to me. I'm very sceptical that "he [created] a school [as a] kind of a middle finger to them".

France is still very much an aristocracy.

Niel did not come from the traditional path of the elites (Polytechnique Paris, Centrale, etc.).

He was self taught, and god forbid, earned money through minitel porn. The aristocracy considers him, well, gross.

I don't think that's the main motive for his creating 42, but he does have a very strong anti-Grandes Écoles bias.

The personal history of the founders totally supports this narrative.

Their CVs should be findable on the public internet.

his grisp against big french institutions is very real and documented. Look at how he started his company Free, telling people that if they stayed at the big telecom companies they were "pigeon".

> Yes, they modelled it after Epita which was also about code, code, code.

Yeah, no. 42 was modeled on Epitech. If EPITA was about "code, code, code", why did Sadirac leave and founded Epitech and 42 ?

For other reasons _in addition_ to that one? Many people make decisions based on a weighted linear combination of criteria.

encouraging them instead to rush to the keyboard and emit as much code as they can as if programming for the last day of their project

I believe this is a good method for beginners. A beginner doesn't need to think much because he/she doesn't have the material/experience for that anyway, but instead just practice as much as possible. Later, he/she will reflects on what he/she think he knows and get a more structured / professional work.

It really depends on how long you wait before making the students sensitive to these issues.

Wait 6 months or 1 year, and you've given them time to gather sufficient experience for motivating a more mindful way of working.

Wait 3 years or more, and you've just taught them bad habits.

I'm tired of interviewing candidates who were supposedly trained extensively in programming, asking them "how do you approach making quality software?" and hearing the usual "oh, I indent my code and write a lot of comments" as an answer.

I work with a ton of people from Grandes Ecoles and while I think they're generally great coders, certainly as much so as if they'd spent their whole education madly typing as fast as humanly possible, as juniors they're not much better than the "indent and write lots of comments" level.

I've been to a "regular" university and I'm pretty sure I said some variant of "I write lots of comments" w/r/t my code maintenance approach in a very early interview. I could have written any algorithm you gave me -- but I had no idea what maintaining an application with users entailed.

My experience is you can't really "teach" writing maintainable code beyond just having people fix bugs for 6 months in a million-line codebase that's reasonably well written.

It sounds like you are expecting junior hires to be senior, instead of training them. The average elite computer science student spends 3 years learning computer science before they start building professional programs.

It depends on the curriculum. At the last place I studied Computer Science, the department was led largely by Matthias Felleisen and Olin Shivers, and the first book they require reading is How to Design Programs: https://htdp.org/2018-01-06/Book/part_preface.html

You could write 100% functional code that handles every edge case you could think of, and you could still get a B- on an exam for not using the 'Design Recipe.' While frustrating, the students do emerge as 'junior SWEs' with a grasp on how to design organized, efficient, and complex programs themselves.

Meh, I've looked at my code when I was just starting out, and I can still trace my thought process and reasoning behind my code. Sure, there's a lot of mistakes and bad style, but I can tell that even in my first efforts I understood organization and design. Beginners shouldn't be held to the same standards as professional developers, but some guidance in terms of code quality is a good idea.

> To me, this is as silly as training Biathlon athletes to not even aim before they shoot.

People should learn this mantra: coding is to software development what moving pieces is to chess.

> coding is to software development what moving pieces is to chess.

And on a more serious note: I really like this mantra, but I do not think it's true or relevant:

There are many examples of success stories of what you would call "coders": Gates and Allen's Altair Basic and Zukerberg's Facebook are the famous ones - but I would argue that many software related business are also a product of "coding" and not "software development". See also WordPress or Wikipedia as examples. "Coding" is very important.

Software development is a very wide subject. The driving force of schools is mostly economical - training developers to fill a huge demand on this huge market. The thousands of open jobs require different sets of skills - and again I will argue that a high percentage of these jobs will allow a (very) junior developer to build good products as long as he knows to "code" and he can be managed and mentored by a senior developer. Being able "to code" will be a hard requirement for these jobs. Simple examples would be web and mobile development. enterprise/huge software projects. "Coding" can get you a job.

And, as I wrote in my other comment above, "training software developers" is not the same as "developing software". There are many ways to train developers - and where to start from and how much time it takes are good questions. Assuming a year (or 3-4 years) in college is very expensive and not accessible to anyone who can and want to be a software developer, finding other/more/different approaches to enter the software industry is needed. "Coding" is an eligible trailhead for starting to learn software development.

> coding is to software development what moving pieces is to chess.

AFAIK, when teaching kids chess, the best way to start is teaching them how to move the pieces.

The very next thing you teach them after the theoretical knowledge of how the pieces move is to sit on their hands, to avoid making impulsive moves.

This -- absolutely.

Knowing how to move the pieces is a foundational piece of information, but without the understanding of the theory of the game it's useless information.

Yes, and chess teachers will tell you, the way to improve as a beginner is through playing many many games quickly to get a wide variety of exposure and start developing intuition.

But most people wont go ahead 1600 elo easily without theory.

I know what you're getting at and it's a good mantra in a 'corrective' sense.

Perhaps a closer (nitpicky?) metaphor would be running to basket ball.

It's clearly important to be able to run well above average but trying to get to sprinter/marathoner levels has little to no benefit. Especially if it's at the expense of other skills like shooting, jumping, reflexes, etc.

Moving pieces is much simpler though... A lot of graduates of computer science didn't do much coding and are bad software engineers in my view.

Depending on the problem, I disagree with this idea "think before you code". I think /by/ coding, sometimes a problem is too big to fit into my head and if I write some code and try to string it together the code will tell me where my mental concept is missing something.

If the real underlying problem/solution is a shape too big to put in your head, what do you propose? Pen and paper as superior to code for modelling things?

I never wrote "think before you code", and agree that's not always the most suitable way to go about a problem, although I believe a lot of programmers would benefit from doing that more often.

I wrote "think about what you're doing".

I'm sick of dealing with code written by people that had no clear thought process before they started coding.

It comes through in the code, it's messy, there are entire classes and functions that are never used. The logic is all over the place. The code is messy to look at. There are edge cases that haven't been handled.

Well engineered code I should be able to look at understand what the developers thought process was as he was writing it.

I've seen a Dev write a piece of code, that wasn't that big, maybe a few hundred lines then later that day he couldn't explain how it worked in a meeting. Even going through his code line by line he couldn't follow what was happening.

If he can't follow what is happening in his code or explain it coherently, how can anyone else!

And it was because he dived into coding something without thinking.

Have always been curious if 42 would inherit the "piscines" culture..

That said the opening year they let people try student challenges and they were brilliant. Tiny and principled, out of the box thinking, mostly relying on creative and critical thinking.

Anyway, there's a need for patience driven cursus :)

Development requires analysis and programming. Some people are both analysts and programmers - they are the elite, not the norm.

I can manage large business requirements, I write functional specifications and negotiate them with users, I plan technical architecture... And then I'm happy enough with programmers who need hand-holding at every step - anyway my telco employer has long stopped having budget enough to pay contractors who understand our business.

Pure programmers may be short sighted but they provide the value some of the market needs, for people such as me who are decent analysts and exceptionally bad programmers - learning the latest Javascript framework is a dirty job but somebody's got to do it !

Though it is quite common, I think this is a very bad way to organise a business. It's as if programming were bricklaying, a simple operation to be performed under instructions from an architect.

That's just not true, the main reason being that if you're not programming any more, how can you define a modern technical architecture? If you don't know the precise technical limitations, how can you negotiate functional specifications?

Engineering is Engineering, whether it's IT systems or bridges

> if you're not programming any more, how can you define a modern technical architecture ?

Knowing one's limitations is key - I certainly won't get in the way of implementers. But functional requirements do drive some architectural decisions and spotting them upstream helps, for example once the conceptual data model and typical query usage are defined, one can decide whether the contractor one sends a purchase order for needs to grok graph databases or relational ones.

Even without the burden of understanding business requirements, it still takes programmers a fair amount of analysis to program without making a mess that will kill their ability to make progress; learning the latest JavaScript framework does not help at all in that regard. I'm glad to hear you manage, but your employer may want to consider hiring fewer programmers and paying them higher wages - I know a lot of companies would benefit from that.

> your employer may want to consider hiring fewer programmers and paying them higher wages

I do advocate a high-low mix with fewer people and a higher proportion of the higher tier, but the purchasing department loves low unit prices and has decision over them. Well, at least we have the developers co-located with us in the same office and no longer work with offshore Indians through two layers of intermediaries... Progress !

> This seems to resonate well with the culture of piscines at 42

I do not understand this. What does "culture of piscines" mean? I assume it's not literally pool culture.

Piscines are intensive multi-days coding sessions that are predominant in these schools (selection for entry is done with those sessions as well).

This is to encourage the "get shit done" mantra of these schools.

It equates to (more or less) the method of teaching to swim by throwing them in a pool: swim or drown. In 42's case, it's code something or fail your class, but without any (or much) guidance, mostly in self-taught way.

I think it refers to the culture of the first selection phase which is called 'la piscine'

It wouldn't even be that difficult to have a series of examples of developing tests, cleaning up, trimming down, and debugging other people's code. Almost all of the classes I took didn't allow collaboration, even though that's probably the most important working use case. Lines of (useless) code removed is at least as powerful a metric as lines of (usefull) code added when developing.

It wouldn't directly teach them to think before writing, but they might learn the downside of failing to design the program structure well, and the pain of refactoring. It would be hilarious to give them back one of their early projects and slightly change the (marketing) requirements... (then require functionality can't be broken for testing more than X min-hours), just like real life. They'd learn they ARE the jerk writing unmaintainable code.

I'm sure your critique is the same with graduates from any school. You need experience to understand not to do that. At least 42 seems to give you more experience than most schools.

This kind of discussion will end up being the typical (French) disdain between people learning engineering in the public schools v/s the ones learning in these "practical teaching" private schools and vice versa.

There are good engineers in both, both have different approach to teach which fit different people. Both do generally good in the private sector after they're done with it.

As usual the people graduating from public schools will say the private graduates don't have the theorical foundation, and the private graduates will say the public graduates don't have enough technical skills when they graduate. In reality the decent students will pick up the theory from the practical projects and vice-versa.

If that matters, I did Epitech, which is similar-ish to 42 and all the people that graduated with me have decent positions and are in high demand by the job market. Some of them in big name companies.

This kind of private schools are a good alternative for people who don't fit in the public education by letting them just do practical projects with some direction and let them pick up the theory from there. Some people are really good self taught hackers but would otherwise drop out in typical education, but they can shine in these schools. I've met many.

You forgot to mention the private schools are expensive and use a somewhat pyramidal scheme where older students teach newer ones to repaid part of their school fees. In public education all teachers hold PhD or engineer titles so they have more years to think about what they teach than the guy who is only year+2 of the teachee.

Edit: I checked Epitech tuition fees, it's around 40k€ for the whole 5 years curriculum. You can make a century of studies for the same price in any public university.

Something interesting is that the way Epitech (and 42) work is completely different from what you would have in public schools (at least in France).

For example, one key part for me was that the school allowed me to practically don't go to classes as long as I could prove that my work wasn't affected. It's something that you won't find everyday. I'm 100% sure I'd have failed university otherwise because the lack of freedom would have bored me to death Conversely, friends of mine have dropped from Epitech in the first two years because they didn't get enough support, so it shows that the most interesting thing the school has to offer is its learning devices. They understood that one size doesn't fit all (which is against the French public school philosophy).

So yeah, the tuition is expensive (and frankly given how the school works you sometimes wonder whether they eat luxury cars for lunch), but there's simply no public alternative.

One other factor I've also wondered is if people paying for their scholarships weren't more invested in making it a success? I knew my fair share of people who weren't thriving as developers at Epitech as well, mind you, but most of them dropped before the end.

I don't understand, you say they allow to learn at your own pace but don't offer enough support for those who need it, that certainly sounds like trying to fit all with one size?

I've done Ensimag, which is a public school in the same sector, and you definitely could skip classes if you wanted to (though most of the ones who skipped classes did it out of sloppiness)

I meant "at your own pace" as in "they let you decide how you want to learn it". Meaning that instead of following classes (which were quite basic anyway) I spent most of my time reading man pages and reading obscure forums, and they were perfectly fine with that.

Those who had issues were those who needed to be told where and what exactly to look for. They often felt like they were paying for little to no teaching (which is true, in a sense, but I preferred to see it as an opportunity to grow by myself in an environment where I could have extra resources at my disposal if I needed to - the best one often being other students, sometimes from previous years).

Sure, but that's just a different form of fitting one size for all, where they assume that every student can learn by themselves.

And once again, all engineering schools considers their students adult enough to let them do their thing: there's no repercussion if you don't go to classes, it's not 42-specific

What you don't realize about Epitech (and other similar private schools) is that the only value you're getting is paying a bunch of millionaires the right to join a selective program.

I graduated from an enginnering school, and you can absolutely skip all classes if you wanted to. Sure, the teachers don't encourage you to do it, but the freedom is definitely there.

BUT, since there will always be a percentage of students who don't succeed in a "traditional" way, a bunch of rich people will always attempt to lure them into a paid program (which is, I repeat, selective). So they learn quite a bit, and they can become high-earners in the future, since they're all hanging out with technically good people.

Out of context, thank you for your support when I was there :)

> private schools are expensive

> I checked Epitech tuition fees, it's around 40k€ for the whole 5 years curriculum

$9100 a year is indeed expensive for French schools, but I'm sure some Americans on the other side of the ponds are chuckling right now.

For comparison purposes, tuition fees in a French public engineering school were around 700€/$800 per year when I was there about a decade ago, and I wouldn't expect this to have changed much.

This is without considering students whose parents have low revenue, thus getting access to financial help from the government. This was my case. Technically, I was paid to go to University, with 3600€ per year for being one of the top students.

For more comparison, tuition feeds at my alma mater (a German university) were 500€ per year. Most of that was for the semester ticket, that allowed me to use public transit completely for free across the entire state (Saxony).

2012-2015 was still 700€/year at Centrale - I'll let you guess which one.

Don't forget though that housing, food, "Sécurité Sociale", library, etc. weren't included.

Yes but food and housing is not included either when attending a private school.

Not sure about France, but in the Netherlands now it's 2000 euros. Though I believe people are trying to lower that again.

For comparison purposes, tuition fees in a French university were around 0$

And if you're the best of the best, they pay you to attend (X, ENS)

No they don't. The chaussette has to be repaid...

In the University where I teach, fees are below €500 a year, AFAIK.

>$9100 a year is indeed expensive for French schools, but I'm sure some Americans on the other side of the ponds are chuckling right now.

Good public schools are about that much - or less. At Ann Arbor it would be $8000/year for tuition.

Some of their practice does suck, but it does work nonetheless since nearly everyone end up finding a decent paying job after graduation. You could find bad things about the public institutions too (some people complaining about coding on paper, outdated etc).

As I said "This kind of discussion will end up being the typical (French) disdain between people learning engineering in the public schools v/s the ones learning in these "practical teaching" private schools and vice versa."

At the end of the day, both ways work. One is free if you fit the public education.

It's indeed very expensive but if you want a school with a 5 years curriculum focused on practice it's not like there's much choice in the public schools unfortunately.

  You can make a century of studies for the same price in any public university
Sure, if you manage to not pay taxes

having been through university in France, I can tell you that the PhD teachers give no shit about their students or how they teach their courses.

Isn’t 42 free ?

It is. It's Epitech that's expensive.

I firmly believe you need both theory and practice to be a good engineer (note I neither said technician or company founder/manager). Now, I tend to think most Universities / public schools tend to focus a little too much on theory and not enough on practice, and schools like 42 seem to focus way too much on pure practice.

My opinion is that you have a close division of very good students, good students, average students, mediocre student, etc. in both the public schools and the more private ones.

I'd say that it seems like it's easier to make it as an average/mediocre person if you're doing epitech, 101, 42, etc.

If you're very good, it seems like you'll do better with a more beefy theoretical background

> I'd say that it seems like it's easier to make it as an average/mediocre person if you're doing epitech, 101, 42, etc.

You could just as well learn all the theory by heart, do not know how to use it in practical situations, forget it after the exams and pass just fine in most public schools as well. If you're bad and not willing, you're gonna be bad, no education will save you

yup, but if you do that, you are not good.

Everytime I ask someone who met students of a certain kind (private, elite, public) they always say "They're lame". :)

I don't know how anyone has the energy to write code for 50+ hours a week for a whole year. Surely you have some burn out with that as your base-line cadence.

I have no doubt some younger people, competitive alpha minds would take this in their stride, but I worry this culture of hyper competitiveness permeates into employment. When this stuff is accepted as 'work ethic' and normalized you tilt toward what some asian cultures are experiencing today - producing overworked unhappy individuals.

Personally I don't think it's great to brag about how hard you work. I don't think it's ok to be proud of bootcamps (although 42 School explicitly says it's not a boot camp which is a little Orwellian). People should be proud of being healthy, getting enough sleep, eating well, having social interactions, learning, cultivating well balanced meaningful lives.

To truly be a school of the 21st century we need to do away with this culture of stress. It's killing the best of us.

Disclaimer: I'm a 42 student.

I agree with this sentiment so damn much. When I joined the school, I was very afraid that such a rhythm would lead me to a fast burnout.

Thankfully, there's no pressure to do any kind of crazy hours. The school is open 24/7, and there are no deadlines for projects or whatever. This is a two edged sword: on one hand, there's an incentive to stay at school as long as possible, and put in some crazy hours. On the other side, though, it creates a lot of flexibility for student. If you need to take a breather, you can totally put in less hours, or even totally stop going for a while. If you need to do some odd hours, like working a night schedule, that's also possible.

Of course, I have put in some 50+hr in a week sometimes,while hacking away on a project. But i have also clocked 25hr some weeks. This absolute flexibility is a real stress relief.

I'm a student at the Paris 42 campus. It is not true that the average 42 student lack theoretical understanding. We may not take a semester long course in compiler theory for example, but we do manage to build our own shell scripting interpreters and pick up enough compiler theory to define a grammar, build a parser to produce an AST and then interpret it accordingly. The same goes for other theoretical foundations of programming. I understand that the traditional way of hiring engineers and teaching them practical programming skills on the job is well established. But you would be surprised how good some of our students are both in theory and practice and how few guidance they required in reaching their level of skill. If you have any questions about the curriculum or our work here in general, feel free to contact me!

Quite honestly, most companies don't care about one's compiler theory knowledge or ability to build shell scripting interpreters, nor should they.

> Quite honestly, most companies don't care about one's compiler theory knowledge or ability to build shell scripting interpreters, nor should they.

Your reply, in the context of the comment you replied to, strikes me as a point of view so American that it's almost cliché.

I think that it'd be quite sad if we'd adjust education so that it'd merely contain things that are of interest to companies.

I'm French. And I live and work in France.

Although yes, it's sad to adjust education strictly to companies' needs. It's also sad to force people to spend so much time on the intrisinc workings of a microprocessor when all they want is to make web apps or a living ¯\_(ツ)_/¯

There's no one size fits all.

> Quite honestly, most companies don't care about one's compiler theory knowledge or ability to build shell scripting interpreters, nor should they.

Right. Like how you don't care about the persons' physics knowledge when hiring an architect. /s

I'm going to say it. 99% of 42s students wont be architects. It's just the reality. I come from one of these schools, and the best thing you can say about the teaching : It teaches you how to learn. If you think anything else you learn is how it works in a company. you're wrong :)

No. Like you don't care about one's ability to make some concrete when hiring an architect. It's nice to have, might be essential on some specific projects. Usually won't matter.

I'm sorry, but if architect cannot make some concrete, i.e. he doesn't know basics of his profession, what you expect from him? A house?

Yes, you can hire him, but that will cost you lot of money. There are tons of examples of cheap architect work, e.g. collapsed bridges in the Western Europe.

I seriously wonder about the proportion of architects who ever mixed any concrete themselves in their lives.

Seriously, almost no developer would be able to write a compiler today. The same way I wouldn't be able to build a micro-processor worth anything.

You wouldn't expect any compiler knowledge from most web (back or front) developers, the same way you wouldn't expect much GUI or globally distributed consistent databases knowledge or experience from most embedded developers.

And it's just fine. It's their problem, their limitation, their career, them missing out and, no, in most cases, it won't impact their jobs or the quality of what they make in any way.

Why do you have to have a problem with that ?

Edit: also, bridges collapse all over the world. Tunnels too.

I'm software developer (backend, fronted, cloud, embedded, etc), but it's often very helpful to know how hardware works, how processor works, how kernel works, how compiler works, how network works, and so on, because it's allow me to make my abstraction at top of all these layers to work much more efficient. It's not expected that I will be expert in all that, but it's expected that I will know basics, so I will not make noob mistakes. Are you expecting noob mistakes from architect, which made your home? Or it's ok if he made mistakes in someone else home or bridge?

I'm a software developer too. Mostly mobile and backend.

On the mobile part, most of the clients have pretty much no idea what a processor really is, or how networks work. Hell, I have to explain to them that if they want to build this kittens social network, they're going to need a back-end and that no, it doesn't matter to the mobile apps what language their back-end is written in (and vice-versa).

For most of what these people ask, all you need to know are the basics of Android and iOS's SDKs and how to make API calls. Half the time, their isn't even any networking involved !

I'd be thrilled to work in an environment where this kind of knowledge matters. But like most people I'm stuck working with some people who'll tell you that they don't want to be software developers; it's just a means to an end to them (which is fine. Just don't use that as a shoddy excuse for doing crap), refactoring codebases built by some kids who don't have any software architecture knowledge and don't see the problem in their network layers popping modals and alerts, wondering how on earth a view could end up being a singleton (and no, "I was somehow convinced I needed to access it and change it's properties from this class over there" is not a satisfactory answer) or spend half my day on a single rebase because of some git submodule crap.

So yeah, for most of the people I've had the 'delight' of working with, they are missing so much that no, hardware intricacies, processors inner working, compilers logic and functioning or networking knowledge aren't the critical aspects they're missing.

Heck, I'd be glad if their code was even just readable and had anything resembling an architecture. Or if they didn't turn everything and anything into a singleton whenever they felt like it.

I'm going to stop now. But going back to the architects analogy, if these developers where architects, then most of those I've met can't tell the difference between plumbing and electrical wiring, so I'd be glad if they left the concrete to the craftsmen and at least managed the basics of their jobs' specifics.

Software scientist != software/hardware engineer != software/hardware developer != programmer/coder.

Programmer must know how to program.

Software developer must know how to make good software product.

Software engineer must know how to understand and meet specifications, follow engineering codex, and son on.

And so on.

I'm talking about software developers. You are showing me examples unrelated to professional software product development at all. Moreover, there are lot of professionals in IT, but only part of them are software developers.

So we are just talking about different things: you are talking about "someone who sits in front in compute and enters programming code", while I'm talking about professional Software Developer, short segment of IT professionals, subset of programmers.

You are pretty much making my point, you know that, right ?

I'm talking about people who are one of the or the only persons with any technical knowledge in their companies, who's job it is to interpret and understand whatever the requirements are and deliver on the products, wether it's apps, web or mobile, back-ends or both.

They need to know how to make good software products, they definitely should know how to understand and meet specifications, etc, etc, etc. They just don't. And yet, they have the positions they have. And what they're most lacking, contrary to the point you were making earlier, definitely isn't compiler theory or the ability to build shell scripting parsers, but the very abilities you just listed.

So no, we are talking about the exact same thing, you just seem lucky enough not to have encountered this kind of people in that kind of position, and I'm glad we have finally come to an understanding.

Of course, I know such people. They are called "anykeyers" in my country. And of course, they are not software developers or software engineers.

If they have no education/training adequate to their profession, they are just amateurs. I trained about few dozens of them during my career.

We have outsourcing industry in Ukraine, so "Software Developer" is well defined term here. Somebody cannot sit five years playing with Excel, or JS/HTML, or mobile apps and then pretend for Senior Developer salary. Inexperienced (junior) developers causes lots of problems to project and must be supervised by a senior developer. We work on tight budgets, so we have no time to play name games. If someone has "developer" in his title, he must meet expectations for his role. Otherwise, project will collapse and everyone will suffer.

What is your mathematics curriculum like?

there is no maths curriculum. in the first year we do some projects that require sorting efficiently (i picked up a text book and taught myself O notation, and introductory algorithms and data structures content through a ocw course). There is also a networking project that exposes us to graphs and graph traversal algorithms.

i do have a solid maths background from previous studies, but i dont use much of it on an average day.

"The candidates must be between 18 and 30 years of age (18 - 45 in Silicon Valley).[14] No previous diploma is required."

Age discrimination at its best. Cap it at 45?

How many people over 30 (45 in the US) are trying to retool and get educated on programming?

The older copy of the US site at https://web.archive.org/web/20180206011840/https://www.42.us... is very clear: "I AM NOT BETWEEN THE AGES OF 18 AND 30. CAN I COME TO 42? No. While we do not have anything against those who are over 30 years old, when opening a new location, we have decided to concentrate our where they can be the most efficient and where we have a great deal of experience."

On the current site this is changed to: "You can apply to 42 if you’re older than 45, but please know that most students here are younger and that Intensive Basic Training is tiring."

Hardly encouraging.

The french site http://www.42.fr/ says "ouverte à tous et accessible aux 18-30 ans" (18-30 only)

Draw your own conclusions about age discrimination here. You are free to apply...

Have you tried applying to a publicly funded phd program or med school @age > 45?

I don't know about PhD, but I know several who went to med school after the age of 40. Lots of weird midlife crises out there.

I know I could see myself wanting a PhD if I suddenly made enough money to finance the rest of my life.

No comment about the age cap but I've witnessed a lot of people (especial those with H4 visas) who are over 30, coming here without programming background, going to local CalState schools for an MS in CS/Stats, most of them were able to find job after graduation. The high living cost in the Bay Area is the motivation, it's difficult to raise a family with only 1 income

Well I guess it’s mostly because in France there is a difference between young and adult formations.

As you might know, in France, we are good at taxation. One for the companies is for « formation continue », which is for adults formation.

For example, you work in a company and ask them to get a formation in a particular subject. If it suits the company they can pay it for you, and it costs them less than the tuition because it’s paid in part by the state (with the tax I mentioned).

So there are a lot of private « schools » dedicated to adult formation, in general separated from the « classic » student cursus.

As another poster verified with information from the actual 42 site, there is no age ceiling for prospective students for the 42 Silicon Valley campus.

This school is for free, and to educate the next generation of students, why do you have to complain?

Because there're laws against age discrimination in US.

I am very happy about this trend of project-oriented, deferred-tuition programming trade schools. So far I know of:

- 42 (France and Bay Area)

- Lambda School (online)

- Holberton (Bay Area)

- There is also Epitech (France) which is the "ancestor" of both Holberton and 42. They don't defer tuition, but have the same project-oriented, TA-intensive curriculum.

It's still early and all these schools have their strengths and weaknesses... But I think this is a positive trend. It makes tech education more accessible to a lot more people, and can produce quality engineers. It's definitely much better than the horrible coding bootcamps popping up everywhere, that charge 5 figures and leave you completely unprepared for a software development career.


There's also

- Make School (Bay Area)

- CODE (Berlin) [I'm one of the founders]

101 in Lyon

This is cool to see as I once owned the domain school42.com because I wanted to build something similar but more focused on allowing teachers to do 1 on 1 teaching in a large group setting. Ideally I felt if teachers could see all their students work using something like Web Sockets, they could visit 1 on 1 either digitally or physically when a student was having trouble. Since this was a digital platform, you could set up simple triggers to determine if a student might be struggling.

I dug up some really old notes that referenced my reasoning for the name.

"42 is the number used to define the meaning of life, learning is also arguably the meaning of life. It also sounds like school for 2 (teacher & student). This will hopefully help one to one learning."

Some previous meta-discussion about a reddit post that made some very critical claims about 42: https://news.ycombinator.com/item?id=18189670

I’m a current student at 42, myself and my fellow students all had a pretty good laugh at much of their comments. We didn’t really see an accurate representation of our school, and much of it came across as a bitter student who wasn’t accepted.

For example, there is a cat at the Paris campus and the students are asked to ignore it and not pet it. That guidance turned into the ‘rule’ that if ‘the cat touches you, you fail’. I promise the school doesn’t have a secret failure cat.

I’m referring to the reddit link, not the HN comments.

Pet-based discrimination.

why not pet a cat?

what did the cat do to them?

is 42 anti cat?

just kidding. see how easily conspiracy theories form?

damn cat haters.

I once wrote a purely academic article about election map data visualization and after it got picked up by Fast Company it was amazing how some people in the comments were convinced that it was written to further some sort of political agenda. Just sitting there reading that made me go wow, I wonder what I’ve been lead to believe from the outside looking in that is just flat out unfounded

My son is a student at 42 (in Paris) and he's very happy to be there. It seems that the system they have is a better match for his learning style than what you would find in a more traditional school.

There is a bunch of successful companies led by graduate from theses kind of school. Check out vente privée CTO. Another example could be the core team that developed docker that was from there as well.

Sure, but this doesn't tell us anything about the role 42 played in these successes - there's also a fair number of successful entrepreneurs without any higher education, should we infer from it that no education is the key to success?

Docker was a school project at the origin. The CTO of vente privée said in multiple interview how he use to be challenged in his previous school.

you might also conclude this school creates better founders than employees

Honestly I'm unsure about this (except if you're a fresh high school graduate). Sure you will probably land a job in tech but considering how easy it is now for ANYONE to land a job in tech, is such a school really needed ?

Resources online are plenty (and actually 42's main way of learning), so learning material is not the problem.

If you're already in the workforce, you can get yourself a training through the employment agency, or even better an apprenticeship.

Consulting firms hire science graduates and train them to be developers. I went that way, switched for a small company after a few months where I am better tutored. Some friends stayed in consulting and still improve. Sure the pay is low in consulting firms, but it is immediate and you build professional experience directly instead of wasting 3+ years.

Doing 42 when you already have a degree sounds like a waste of time to me. I guess it's fine if you're 18 and need guidance though. But I'd still prefer prepa and engineering schools over 42...

> except if you're a fresh high school graduate

That's their main source of students, no?

For anyone that is considering attending the school I recommend reading also some criticism:


That being said I met some super smart people from 42 that had built extremely interesting and technically challenging projects! For example a first year student I met had built a 3d rendering engine in C without using any external library.

This is at least the second time someone posts this link. I read it the first time, and found it not convincing: that person failed to get in, is telling a bunch of second hand stories that are probably wildly exaggerated. Not much to see there...

I have gone to several hackathons at 42. It is quite a nice campus, really well maintained.

It's much bigger than you'd think and the supervisors are happy to let visitors explore

It sounds like an interesting experiment, though I agree with other posters about the age cap.

A school named 42 that would not accept Douglas Adams as a student, were he still around. Ha!

Somewhat related to this, we founded https://code.berlin, an accredited university in Berlin with strictly project-based, interdisciplinary and self-directed 3-year Bachelor programs in Software Engineering, Interaction Design and Product Management.

We're in our 2nd year now, with 230 students from more than 40 nations. We've partnered with 42 US for student exchange last summer, and it was an awesome experience for our students who went there.

You should post it to HN! I see it has been posted once before, but that was over a year ago, it's perfectly fine to post again.

Thanks, will do :) I'll just wait until November when we reopen applications for next year.

Any 42 silicon valley grads here on HN? How was it?

I graduated from 42 in April. I moved here with no prior work experience in tech, and got a developer job in a little under a year. The curriculum is mostly C based which can be a little tedious, but you do learn programming from the ground up.

I am a french 42 graduate. It was a lot of fun and I learned a lot of usefull stuff. I am now an IT programmer since 2 years in a selective IT company. Everything is going well.

Not a grad yet but I'm level 15 of 21, currently doing an internship at ford. As for 42 it's not for everyone, you have to be a self starter and you have to be driven. I came to the school because I wanted a place that would help focus my studies, I think that if you can relate to that you would do well here.

There is 101 as well: https://www.le-101.fr/

Sounds somewhat similar to https://www.recurse.com

totally different. 42 is a real school with a, I believe, 3-year program.

I'm not saying it's the same, I'm saying they share a similar ethos:

"The school does not have any professors, does not issue any diploma or degree, and is open 24/7. The training is inspired by new modern ways to teach which include peer-to-peer pedagogy and project-based learning."

still completely different, at recurse you are free to choose whatever you want to do, whereas 42 has lists of exercises, challenges and exams that you must go through.

What do you mean by a "real" school? Are they accredited and give degrees?

I'm not sure if they give out a degree, but they have a real program that you must follow, and exams.

42 delivers no degree, and you can do it as fast as you want.

Too bad I'm over 30.

There’s no age restrictions for the Silicon Valley campus, you’re more than welcome to apply.

The terms of service you must agree to state:

Terms of Use for this Website

Candidate to 42, I...: Confirm that I will be between 18 and 45 years old in november or less then 18 years old and in 12th grade (or equivalent). ...

45 is the cap.

Why not look at the source to get the right information? https://www.42.us.org/42-admissions-overview-requirements-pr... https://www.42.us.org/42-admissions-overview-requirements-pr...


> Yes! We are looking for learners who are motivated. In establishing the school in the US, we focused first on the age range we’re familiar with, then expanded to include high school, and will continue to expand. It’s important to develop a program that supports the success of students while still challenging them. You can apply to 42 if you’re older than 45, but please know that most students here are younger and that Intensive Basic Training is tiring.

For what it’s worth, I’ve been absolutely smoked in 5k races by people who were 40+. Instead of offending those people by implying they don’t have the stamina to keep up, just say no. People respect “no.” No one respects disingenuous language.

It's likely illegal to "just say no".

I’m typing this comment as I sit inside the 42 Fremont campus and I’ve personally seen students here that have to have been older than 45.

Most likely they are younger than 45, but didn't age well :) I work with guys who in their late 20's but look way over 45...

They were significantly older than 45, by over a decade, closer to two. There’s 0% chance.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact