9 ms·
Mostly-joking-but-I-would-absolutely-make-good-on-it Offer: I will ask you one obnoxious* question at a time, with no deadlines, until you are a self-taught sof
by zellyn 9y ago
Mostly-joking-but-I-would-absolutely-make-good-on-it Offer: I will ask you one obnoxious* question at a time, with no deadlines, until you are a self-taught software engineer.
The first question is: What is the sum of the numbers from 1 to 1024. Please use Python, not the Gauss/two-triangles-make-a-rectangle mathematical method.
* - “obnoxious” means it's a leading question: it's simple to state, but you might have to learn a bunch of crap to even really fully understand the question.
Sample far-future questions:
- Does it seem magical that you can turn an NFA into a DFA?
- How does a shell pass stdout from one process to the stdin of the next?
- Why is the Frame Pointer technically unnecessary, but useful?
- Why do people complain about Go's nil pointers? What's wrong with them?
- zellyn 9y agoAlternatively, watch all of Casey Muratori's “Handmade Hero” stuff, and code along, and you'll probably be a better programmer than most of us here.
- xtagon 9y agoPlease make this an app
- zellyn 9y agoHow? I think the value would be in the real-life back-and-forth involved with really trying to understand and answer the questions, and in tailoring the questions to where you know the person answering needs to go next.
- freehunter 9y agoThere might be some branching, but mostly it'd be a straight line from "you are here" to "now you know enough". The back-and-forth shouldn't be with the person asking the questions, because then that's called teaching, not self-taught. What they're asking for is a syllabus.
- rhizome 9y agoI've had the idea-man work done for a wildly expansive version of this for a few years now. I should spend some time on that.
- taurath 9y agohacker.org
- akvadrako 9y agoWhy doesn't the OP just make this an app?
- deleted 9y ago[deleted]
- eliah 9y agoThat is a kind offer and probably a good way to go, but I have a small objection: I think at the end of it, OP would be a zellyn-taught software engineer, not a self-taught software engineer.
- bigkm 9y agoIn that line of thinking this askhn basically makes it impossible for op. Like going and buying a self-help book is getting help (thanks George C.)
- user5994461 9y agoSoftware engineers cannot be self taught, at least not in any of the countries where engineer means something.
- Waterluvian 9y agoLower "e" engineer. In Canada, like many places, the title is protected. But in reality, it's not often necessary for software. A significant number of the roboticists where I work do not have an engineering degree.
- user5994461 9y agoIf the title is protected, it's not possible to be an engineer without having the degree. Anyway, the author was posting google requirements. More than 80% of google developers have a master or more.
- aoeusnth1 9y agoUh, that's not true at all - most Googlers don't have a masters. Do you have a source?
- user5994461 9y agoI can't find the source again. Instead, here some numbers showing that 76% of ALL Google employees have a degree. https://www.cnbc.com/2017/07/28/this-tech-company-has-the-most-highly-educated-employees.html https://www.cnbc.com/2017/07/28/this-tech-company-has-the-mo... The saying that one doesn't need a degree to get a tech job is nonsense. Do the test: Ask one guy working in one of the major tech company how many of his direct neighbors have a degree, most likely it's all of them.
- jfoutz 9y ago> Gauss/two-triangles-make-a-rectangle mathematical method. I... I never thought of that geometrically. but your way... __ __ __ | || / | | | ||/ | | | / | / /| |/ |/ /_| that makes so much sense!
- deleted 9y ago[deleted]
- rodorgas 9y agoI searched for it and it would be more something like this: . .. ... .... That's 1 + 2 + 3 + 4. To sum, double the triangle, you'll get a rectangle: .oooo ..ooo ...oo ....o 1 + 2 + 3 + 4 = area ÷ 2 = (4 * 5) ÷ 2 = 10. So, the sum of 1..1024 is: 1024 * 1025 ÷ 2 = 524800.
- jfoutz 9y agoAh, that's a much more direct interpretation. I'd always considered the /2 to mean find the middle element. take the biggest and the smallest, add them, and multiply by the middle. Which is a little closer to my drawing. My interpretation is bad, because i'd always have to mentally special case odd length sequences. Your way, the doubling is obvious, so you see why you can always /2 at the end. Hmm. Haven't thought about this stuff in years. This was a pretty pleasing thing to revisit.
- zellyn 9y agoSee, my obnoxious questions are awesome :-p Actually, I came here to post the correction rodorgas beat me to posting. But your diagram works too: 1/2 base * height… nice.
- devtonym 9y agoThis seems like a good idea but could be a lot of work. It would be easier to distribute to more people if you had a mailing list/website and open-sourced at least the guiding questions. You could then track user submissions to see how many people complete your questions.