How much structured 'fun time' do you think established or upcoming AI researchers regularly allocate, and how does this affect their happiness/productivity balance?
I find Plato's view on the correspondence between the soul and the state helpful as a heuristic. That is, a "heavy hand" like pomodoro feels to me like a totalitarian regime. I instead prefer to govern as a kind of benevolent feudal monarch mediating between quarreling nobles. I find it is helpful to burn willpower on establishing good habits as an investment. I can learn to brush my teeth every day, and similarly I can learn to go to a coffeeshop/library/etc. to work every day. Once a good routine is established, you don't have to burn willpower on it anymore.
Time spent purely on fun is not really wasted. Not only is it good for morale, and not only are you making parts of yourself happy, which is important, but also our brains are weird and often do useful processing when you seemingly aren't doing anything productive at all. Morale is your hit points.
Flitting around between different things when studying is natural. I find it more efficient to go with that tendency than to fight it. Having a hard time studying on your own is natural.
School rank is not so important if you are self-propelling. Just find good people to learn from. The internet makes it easier.
Getting into programming and research early is very good.
Be nice to yourself :).
Jonah Sinick and I (both frequent LessWrong posters) operate Cognito Mentoring, a free advising service for students and learners. We'd be happy to discuss your situation with you and offer suggestions. Email us at cognitomentoring@gmail.com if you're interested.
In the particular case of the first problem there may be a shortcut that is worthwhile exploring. As I see it, your problem is that you would like to know how much leisure time to allocate to improve your productiveness (including the possibility of zero leisure time). The ‘improving of productiveness’ is the important goal to you, not the philosophical distinctions regarding the optimal work/life balance. Since productivity is something approximately measurable, you yourself can optimise over this domain.
With that in mind, you can perform an experiment on yourself. Start by allocating an amount of leisure time you think is excessive, but not wildly so. You want to pick a number that means you will be completely relaxed when you attempt to perform productive work, such that your productivity is ‘100%’ (however you want to define that). When I was at university I needed between one and two hours a day, now I work a full-time job I need closer to three. I’d suggest based on my experience alone that two hours a day would be a good starting point. Force yourself to have this much leisure (but to optimise substantially, train yourself that activities like exercise, cooking and meditation are pleasurable). If you find yourself worrying about not benefitting the future, think to yourself, “I am currently engaged in an experiment on myself, the results of which could make me substantially more productive for the rest of my life. It is highly unlikely that the insights of a marginal two hours’ work will benefit the future more than the insights from this experiment.”
After the end of your first week of this, reflect on whether you think you could reduce the number of leisure hours you spent and maintain your productivity. In particular, you should reflect on whether you can achieve the same level of fun in a shorter space of time, or whether you can decrease your marginal fun without decreasing your productivity. For example, would a ten minute break each hour be more refreshing than a two-hour game of Civ? Reduce your leisure hours by a small fraction of their total value; maybe schedule ten minutes less leisure next week. Repeat. It is important you don’t decrease fun too quickly or too sharply; you need to have a slow-ish period of optimising your fun.
Eventually, you will come to the point where you cannot possibly decrease fun without cutting into productivity. Here you want to make the decreases in your scheduled leisure time much shorter, and try to track more closely the impact they have on your productivity, such that you can identify the point where a marginal minute would be better spent resting than working. Remember that productivity isn’t simply the ability to churn out mediocre code with few errors, but the possibility to have a ‘brainwave’ and capitalise on it. After all, Friendly AI only needs to be solved once! Personally, I think I would happily take an extra half-hour out of my day if it meant I could guarantee I would be working perfectly productively for the rest of that day, but if your cost (in time) is high for a marginal unit of productivity you might differ.
Determining the amount of fun time in advance seems like a good idea in itself.
This reminds me of how I have to set an alarm clock during meditation. If I don't... I will spend most of the time thinking "should I already stop, or should I continue?", which defeats the whole purpose of meditation. I suppose the same kind of worry can also spoil fun. So just set up an alarm... and until it rings, feel completely relaxed about not being productive.
You might consider contacting Cognito Mentoring. It's a free service set up by some LessWrong regulars. My understanding is that it has been set up in order to advise high school students about the sorts of things you're asking.
Your time schedule doesn't include anything about spending time with other people. Social skills are very important in life.
Funny story: I actually did try tracking daily 'social interaction time' for a while. It's much harder to track than anything else, because it is such a fluid and unpredictable activity, and I don't have access to my spreadsheets while socializing.
I've had moderate social anxiety for many years, starting because of issues (mostly inside my head) in early public school. It was severely exacerbated when I switched to online school because I spent so much time, locked in my room, on pleasurable activities.
I have a small group of friends who I met in public school; we still meet once every couple of months to play video/board games. This results only in casual interaction centered around the game, never anything serious that involves personal issues or philosophical debates. And of course, the entire time, I am thinking that I could be doing something more productive or fun-efficient. Those friends are not exactly positive influences: they spend a lot of their time on video games (CoD etc.), and they are constantly laughing at internet memes or terrible sex jokes. I've tried meeting other people online, but I never really can get engaged with them, also because I feel that I am using time inefficiently. So, in the social interaction department, I am not really making any progress. That could be considered another big problem in my life; I probably should have included it in the main article.
A great way to track time spent on activities (especially fluid and unpredicatable ones) is an app called TagTime. It works best on Android, but you can also get it on your computer if you're hacky. It pings you at random intervals that average out to be worth 45 minutes each, and asks what you're doing at that exact moment. You create tags for different activities, so you just click on the relevant tag(s), and don't have to type in anything. It also integrates with Beeminder, if you'd like to track things that way.
Although it doesn't provide real-life interaction, it still sounds like you might find the LW study hall useful.
If insightful conversation is something you want out of social interaction, and there's a LessWrong meetup group you can get to, it'd probably be worth trying it out. I've found the conversation there is usually very good.
It's much harder to track
I take a pen and paper everywhere I go. It is a small pen; and I put it and a small piece of paper in the casing of my mobile phone. It helps me note any ideas, and it's faster and more convenient that using a smartphone. (There is an inconvenience with processing the pieces of paper later. But it's not a trivial inconvenience against making notes.)
You might look for homeschooling groups in your area, sports leagues, etc. Athletes make more money. Or work at a coffee shop. Consider brainstorming ways to meet people and then trying them out systematically. Is there a local LW meetup?
I take Taekwondo class and will have a black belt before I enter college, does that count? There are other methods of meeting/working with people that I have looked into, but I can't seem to find one that I can get engaged in. There aren't are local LW meetups, but there are a few that would be practically accessible; I will be considering them as well.
Taekwondo sounds like a very good thing.
Partnered social dancing is a good segue into human interaction for those with social anxiety. The crowds tend to be very positive and friendly, but you take them in bite sized chunks, a dance at a time. And the crowd gets more positive as you get better at it.
IMO, it beats the hell out of video game playing as a past time.
What you have described here and in the OP doesn't lead me to believe you have any issues that would prevent you from developing into whatever you wanted, socially. I would estimate that most humans have "mild social anxiety" in the sense that the social situations cause them some level of anxiousness, especially during the uncertain adolescent years, where your status is objectively low because you are young and have no independence or financial means. This gives you essentially no information about what you are capable of growing into. If it helps, imagine some extremely debonair person or fictional character who you like, and trust me that if you start at age sixteen, you can probably become as socially powerful and confident as that person/character by age twenty. I have seen such transformations happen many times, and flatter myself to think that I was such an example. Human social circuitry is hella powerful stuff when you lean on it.
However, this can only happen if you surround yourself with actual humans. Your post is well thought out but you seem to be trying to bend over backwards to avoid engaging with physical human beings. I actually understand why all too well, it is uncomfortable and unaccommodating, but neglecting it would be like neglecting algebra and still expecting to be able to help with FAI.
Possibly even more importantly than all of the above, the effort required to bootstrap yourself toward being better at performance across a wide domain of tasks will be far more difficult without actual people in your environment to give you critical feedback, support, and anchors to sanity. In more colloquial terms, you gotta have good friends around to tell you when you're being an idiot, because you will always be the last person to see it. I would emphasize that one shouldn't just view socializing time as a box to be checked off. Socializing and friendship is an utterly critical cornerstone of human existence and friendships are the things that retrospectively end up being most important to you.
I take Taekwondo class and will have a black belt before I enter college, does that count?
Yes, that's good. Martial arts are a good physical activity.
Fascinating post!
Here are some of my thoughts:
Given how you set yourself up at the beginning of this post, I'm actually pretty impressed by how far you've come. You should feel proud, too. If you continue to self-improve and try stuff out at the rate you have been in the past year, you ought to be in a pretty good position in a few years.
If something isn't working for you (e.g. mindfulness), you might want to try something else instead of continuing to try to make it work. For example, have you experimented with an exercise regime? (This post has some recommendations that I've been following.) I think I remember reading that CFAR found that people who tried out more things tended to see more things stick.
It seems like you've had a lot of success with measuring your time usage and making your goal of spending your time better in to an urge. Could you create more sophisticated measurements for your productivity? For example, exercises completed in Artificial Intelligence: A Modern Approach. Give yourself "points" according to the difficulty of material and the amount of it that you read. Or some kind of rubric that describes how productively you spent the past hour. This would both get you to spend your time more effectively (since you'd be motivated to actually accomplish things rather than log hours) and also maybe once you replaced your motivation system with a more effective one, you'd feel comfortable letting off on the time-tracking and letting your breaks better rejuvenate you.
I agree with the book The Power of Full Engagement that energy management matters more than time management and that highly rejuvenating breaks are critical. I think your idea of trying to maximize breaks for rejuvenation per minute is a good one. You might want to experiment with lots of different break activities and take notes on which ones work. (For example, an acquaintance swears by lying down, closing one's eyes, and daydreaming about things that aren't work.) Based on the results of productivity studies, I'm inclined to agree with this Quora answer that a focused 40 hours a week is what you should aim for.
In terms of studying, one idea is to aim to pass specific AP exams. This will get you out of taking college classes, so you won't have to learn the same material twice. It's pretty reasonable to be wondering what you should study. I think it would be a good idea to start taking notes related to all the topics you should study, pros, cons, etc. and maybe ask some questions on topic-specific message boards as well. This thinking up front will probably be worthwhile and may help you stick to particular topics. You might want to try to identify one topic to self-study in (e.g. programming is good since computers give you honest feedback) and really concentrate on that, then major in something else in college (e.g. math). For more in-depth advice, you might want to contact Cognito Mentoring... it seems like you're exactly the sort of person they want to advise/help.
I think in general, achievement-oriented studying might be better than learning-oriented study. Instead of trying to learn electrical engineering just from a textbook, build a pocket amplifier and aim to really understand how it works (note on circuits in particular: my old physics teacher used to say that students who only had practical knowledge of circuits tended to do poorly when asked to reason about them theoretically. So you do want to understand what you are doing on a theoretical level and a textbook may be helpful there.) Instead of trying to read an AI textbook, write an AI to play a specific game (reading the chapters of the AI textbook as they are relevant, maybe skimming them at the beginning so you know where to look as you run in to problems). This has a few benefits: it's learning by doing, achievements are better for your resume than books you've read, and you know that you're learning useful skills and wrestling with reality. MOOCs are also a good way to go since they get you certificates, a community of other learners, deadlines, and graded assignments so you can learn by doing.
Another autodidact hack: I'm not much of an autodidact really, but I found that I preferred lecture notes to textbooks when it comes to teaching myself. Textbook authors have an incentive to make their textbooks long so they will cost more money. Lecturers have no such incentive. And lectures will often be an informal style that seeks to teach rather than impress. Something really cool you can do with lecture notes is: if you know that the material in a given set of notes was presented over the course of 1 hour, you can set a timer for 1 hour and then aim to get through the entire PDF of the lecture notes in just an hour, taking notes in your own terms on a sheet of paper for comprehension. This gives you a great source of motivation and allows you to go at your own speed rather than the lecturer's speed (skipping things you already understand; soaking up concepts that seem tricky to make sure you really get them). For the sake of learning, I think it's probably better to spread your study of a given topic out over many days so it will stick in your long-term memory. So you probably want to do something kind of like what they do in college and be studying many things gradually in parallel. Remember that you get knowledge points for every lecture you consume. To find lecture notes, look on the course websites for courses teaching what you want to learn.
My quick and dirty intuition is leaning towards the Stanford OHS. It'd be good for your college application (I assume) and help you overcome your autodidact issues. My impression was that you can retake the SAT and just send your best score but correct me if I'm wrong.
Hey, thanks for your comment; it's provided me with some very helpful insights. I'll now be responding to each of your points in turn.
I appreciate the optimism. Often I feel proud of myself when looking back over the past year, but I can never stop stressing over current issues. I still predict that, even if I never further optimize my habits, I will indeed be in a good position in a few years.
As I said in the discussion, I've tried a lot of things; the things that worked are my current habits. I've had a sort of exercise regime from the beginning (early on, I was mostly dedicated to improving my health) that has evolved over time. Based on the article you linked, it could certainly use some optimizations, however; I'll be changing some things around.
I've never tried using a 'point system' or productivity rubric before; those seem like good ideas. I definitely need to make myself (in the short-term) want to accomplish things rather than log hours. I'm thinking I'll create some kind of productivity log that I can also use to summarize what I just read/worked on.
That book you just mentioned is so extremely relevant I wonder how I have missed it. I'd like to thank you for including it. Anyway, I'll also look into experimenting with different structured break activities aside from leisure computer use/reading, like another form of meditation. If I can successfully implement some of the studying tactics I'm talking about, I think I'll be able to more easily partake in fun time.
Indeed one of my medium-term goals is to pass AP exams; I will only be focusing on the most relevant ones, however. I haven't tried formally analyzing topics to see if I should study them or when; that seems like another good idea. I'm planning on studying all the topics presented in the MIRI recommended course list, but I will most likely major in CS. I've already sent an email to Cognito Mentoring, actually; I'm optimistic about their potential to help guide my self- education.
I agree with you here. Most of my game programming skill came from working on my own projects. My reply to another comment in this thread is very relevant. I'm going to take some MOOCs (not just the ones in the MIRI course list), but I'm unsure of how I should fit them into my longer-term study plan. I'm also interested in experimenting with studying lecture notes. A lot of the courses/lectures available are probably above my level, though, so I might have a hard time finding some that I can use.
I didn't mention it in the discussion, but most likely I won't attempt to transfer to Stanford OHS. It's too much of a rush/gamble, I want to keep my total control over my education, and I believe that I will (eventually) become an acceptably efficient autodidact.
As I said in the discussion, I've tried a lot of things; the things that worked are my current habits.
Cool; glad to hear you're trying things.
I will most likely major in CS
That's a good option, but as a CS major if you're serious about doing AI research for MIRI I think I would be leaning towards math. It's much easier and more effective to self-credential in CS than math by having a GitHub full of cool projects. With math you actually benefit from a classroom environment to a much greater degree in my opinion. Also, my impression was that MIRI was more in need of math talent than CS talent. I think math + self-taught CS is good from a career perspective as well (math signals intelligence to CS employers; math + CS is good for quant/data scientist type jobs).
A lot of the courses/lectures available are probably above my level, though, so I might have a hard time finding some that I can use.
Yep, that's something tricky about being an autodidact.
I didn't mention it in the discussion, but most likely I won't attempt to transfer to Stanford OHS. It's too much of a rush/gamble, I want to keep my total control over my education, and I believe that I will (eventually) become an acceptably efficient autodidact.
Seems reasonable.
Can't answer any of the bolded questions, but...
When you did game programming how much did you enjoy it? For me, it became something that was both productive (relatively, because it taught me general programming skills) and fun (enough that I could do it all day for several days straight, driven by excitement rather than willpower). If you are like me and the difference in fun is big enough, it will probably outweigh the benefit of doing programming exercises designed to teach you specific things. Having a decent-sized codebase that I wrote myself to refactor when I learned new programming things was useful. Also, for everyday basic AI you can work on AI for game enemies.
If you want to be an FAI researcher, you probably want to start working through this. You need advanced math skill, not just normal AI programming skill. There's also earning to give. I don't know which would be better in your case.
About programming, read all of these, and note what MIRI says about functional programming in their course list. Though the kind of functional programming they're talking about, without side effects, is more restrictive than everything Lisp can do. I expect that learning a language that will teach you a lot of things, and let you abstract more stuff out, and then if you need to, learning pure function programming (no side effects) later is best or near-best.
I often had to force myself to do/learn game programming, but it still could be very enjoyable and motivating.
it became something that was both productive (relatively, because it taught me general programming skills) and fun (enough that I could do it all day for several days straight, driven by excitement rather than willpower)
This is a near-perfect description of it. Around 5-7 months in I was skilled enough to start working on more difficult projects. I often became completely obsessed with what I was working on, trying desperately to maximize my time spent working on it. This ranged from being super exciting to painfully disruptive. It allowed me to get things done, but often made it hard to continue studying after I finished the project.
As for including AI in games, that's something important that I have considered. I won't be giving up game development completely, partially for that reason. There are books like 'Programming Game AI by Example' that could greatly increase my programming skill and knowledge of AI-related topics. Also, having a portfolio of completed game projects, especially ones with AI in them, would be highly favored by colleges.
I linked the recommended MIRI courses page in my discussion; you must have missed it (that's okay, it was in the most boring part.) I have already considered that several other topics, aside from programming, are essential to know about when dealing with the creation of AI. So I already plan to learn functional programming; I will begin dedicated study of it within a year, whenever it will fit into my short-term studying plans.
I would emphasize the importance of strong external feedback. Static sources on the internet are much better than nothing, but all the best athletes have coaches, all the best business people have mentors, and it's no different with the best scholars and researchers. After a certain point, you won't have a teacher anymore per se, but you still have to learn from active engagement with your peers.
Also, fun is good. Don't be down on yourself for leisure, as long as you are also working hard (which you clearly are).
I sent you a PM; I have a CS/AI background and can talk to you about it.
As far as Stanford OHS: can't hurt to try. And people take then re-take the SAT all the time.
As far as you spend time on art, it doesn't have to be wasted time. Being good at visually expressing ideas is a valuable skill.
xkcd is extremely influential. People frequently refer to xkcd comics to illustrate ideas. Professors in my university used xkcd comics in their slides when they wanted to illustrate a point.
There are a lot of memes on LessWrong that would benefit from someone with good visual skills getting them down into a picture that's easily shared.
You say a number of negative things about your productivity and work habits. It's reminiscent to me of what I used to laughingly call "self sadism", but I no longer think it's a laughing matter. Negative self talk is known as one of the hallmarks and inducers of depression.
How often do you criticize anyone else by the same standards you criticize yourself? How you'd treat someone else who was trying to be more productive? With encouragement and celebration of progress? Compassion isn't just for other people.
You see, there is a mystery to resolve about why many of us are so lazy. Like many around here, I waste all sorts of time. It's strange, because the time wasting is in fact not as enjoyable as productive time, even in the doing, and certainly not after the fact. Why don't we just work all day, producing endlessly, and be happy about it?
In fact, in the perversity of it, I find that I'll freely work for hours, and enjoy it, but usually only if it is nonsensical work that I probably shouldn't be doing. Like fixing my car, when I should buy one that works.
I wonder if the slave being whipped to produce more eventually gets sullen, and decides not to work out of spite. Never underestimate the power of spite. Are we spiting ourselves because we don't like being bossed around, even by ourselves? Or because we don't think it's fair to be treated this way, because you wouldn't treat others this way?
David Rock wrote a book "Your Brain at Work" which focused on research showing how productivity at work was largely tied to how well we feel we're being treated.
I suggest an experiment. Instead of bossing yourself around as usual, treat yourself as a younger brother you're encouraging to do what will make him happy. See if that has an effect on productivity.
I had been practicing mindfulness meditation for 20-40 minutes a day, but I recently reduced and then removed that habit because it almost never helped me.
If you can I would encourage you to find a local meditation teacher.
First of all, tracking your time by editing a spreadsheet manually requires a lot of work, and makes it unnecessarily complicated. There are many programs that track your time for you, like Hamster, timetrap and arbtt. All you need to do is check in and out of activities, and the program does all the magic and generates csv files which can be loaded into spreadsheets. [A]rbtt requires even less user interaction: it just monitors the name of the focused window all the name and that way keeps track of what you had open for how long. This is not as organized as the other methods, of course, but the advantage is that it works even if you're too lazy to check in and out of activities (like me).
Those are all *nix programs. If you use Windows, there are many alternatives, but I can't comment on the quality of them.
I'm in a similar situation myself, and I've also trained myself to 'hate fun' (although this was mostly an unconscious process for me). However, this didn't have the preferred outcome. Quite the opposite, in fact. I saw things like reading books as activities that you're meant to do after studying, so I avoided those, but I still wasn't happy inside and I longed for leisure time. As a result, I always tended to partake in activities that are relaxing, but which don't require much of a conscious decision to start doing. In other words, I ended up spending entire days on 4chan and Reddit when I was supposed to be productive. It was easy to end up doing those things since they're below the 'guilt threshold'; it always started with telling myself it'll take “just a couple of minutes,” but in the end it constantly caused me to spend more time surfing the web than I would have spent reading a book. I see reading books as a sort of semi-duty: I realize they're not quite important compared to my life goals, but I do see them as self-development and when I reflect on my past, I really wish I'd spent more time reading books. But because of this guilt I've associated reading books with, I ended up with the worst result: I didn't get to read many books, nor did I do the productive, more important things either, and the time was spent in a way that I see as utter waste instead.
Actually, it's tricky when it comes to Reddit: it covers good articles on my interests, so I get to feel less guilty about spending time on it. I get to tell myself that it won't take long and that I'm spending my time usefully. But the reality is that Reddit is just as addictive as and the articles I've read still aren't nearly as significant to me as the books I could have read in the same time.
Back to my point: what I did to solve the issue was that I decided I'd only read books if one of two conditions are met: I'm on track with homework and I'm satisfied about my productivity; or it's before 9.00 AM. This caused me to start the day 'correctly': I've had some leisure time and feel less of a desire to let myself get sidetracked browsing the web. Next to that, the early time limit motivated me to get up early: I could spend hours in my bed thinking about all the ills of this world, how humanity should be ashamed to be in a state like this one during the 21st century, but I'd be aware of the fact that this was taking away from time I could spend reading a book. Reading a book is more fun, and getting up early is the only way to get to that. Not quite the same, but you might also want to check out this article.
Next to that, something else that works really well for me is to spend time with friends moderately. I'm not in college this year (I'm self-teaching myself math so I can do exams and get the certificates I need to switch to the major I want), I don't have a job, and my mom does all the groceries, so I don't go outside and see other people often. This has made me hungry for social interaction (as far as introverts can get hungry for that). I'm not talking about online contact, since this is just not the same for me. I don't hesitate to make appointments with friends, and even though I still see each of them only once every few months, we're spending quality time together. By seeing my friends just a bit less often than I desire, I keep on anticipating the next time I see them and I don't feel guilty for not being productive when I'm with them, since a bit of social interaction is important for good mental health. In other words, I get to reap the benefits of friendship without spending too much time on it.
Of course, you need to have the right kind of friends for this to work. Judging from your comments in this thread, it seems like you don't connect with your friends on an intimate level. What I recommend is to hold on to your current friends (since it's better than having no friends), but at the same time start trying to meet new people through social clubs. If you're into chess, join a chess club. Or, if that's more your thing, use a website to seek real-life contact with people. Once you've made better friends, you can slowly start seeing your superficial friends less. Don't end your friendship with them or anything, since you might need them at a later point, but don't waste your time either.
Regarding efficient studying: I can only repeat that you should utilize breaks well. Try schemes like 50 minutes of studying, 10 minute breaks. There's one caveat, namely that you could get sidetracked and that the break becomes a hours-long one (that's what happened to me at first), so make sure that you're spending your breaks doing something you don't find addictive. Watching series worked well for me.
An advantage of this scheme: you learn more by giving your brain a rest, so it helps you see your leisure time of 10-minute breaks as a productive activity, rather than a wasteful one -- exactly what you wanted. This will help you be more productive and enjoy leisure time more. Next to that, it gives you a pointer as to how much time to spend on leisure.
Another thing that might motivate you more: although I can't find a proper source that quickly, I read that you learn better in the morning. An hour spent studying in the morning will teach you more than an hour spent in the evening. This is reason to study early in the morning (for myself, immediately after 9.00 AM), and allocate leisure time after that. This ensures that you at least do a bit of homework each day, rather than starting with fun things and forgetting yourself.
It tells me my comment is too long, so the rest can be found here.
As a secondary opinion (from someone with a formal CS education), John is correct - self-education is easier with CS than math, as is signalling that you're good with CS. However, some random suggestions, assuming you still want to be good at CS:
Self-educating in CS is likely to leave a few holes. To the degree you can do so cheaply, consider trying for a CS degree while learning math. It's entirely possible that you'd be able to accomplish the CS degree with only a few weeks of work per semester. This depends on local conditions and the cost of formal education, though.
Alternately (or additionally), an internship in a good technology company is a nice way of rounding yourself out, while also paying off economically. Avoid the ones that would want you to work free or very cheaply; avoid non-tech companies that happen to have a large tech division. Google is a good alternative, but there are quite a few others. This has large potential downsides if you pick the wrong company, though, so be careful; it's also a large time investment.
Practically every coder/computer person believes their skills are better than they actually are until they've worked a few years in the field. A lot still believe that afterwards. Take this into account; you wouldn't believe the number of really terrible interviewee subjects we get. On the flip side, if you're genuinely good then you don't need to worry about getting a job; the high rates of refusals on job interviews with e.g. Google are mostly because the interviewees are, as previously mentioned, really terrible.
Don't underestimate the value of holistic understanding of computers. A lot of the people who get rejected (at Google) are rejected because their understanding is too narrow. However... that may not be such a problem if your plan is to work for MIRI. You'll want a plan B, though.
Take this into account; you wouldn't believe the number of really terrible interviewee subjects we get.
Can you give some examples of responses at the threshold of terrible?
The more I think about it, the more I think I have to say "no comment". Sorry, I'd have liked to answer.
Instead, have some thoughts:
Curiosity is good. Once you get above the dregs, the #1 problem with programmers is if they feel comfortable not learning anything not important to their job.
There's a difference between "knowing how to do something" and "understanding how it works, therefore knowing how to do something". Everyone wants the latter, some don't realise they want it, but a lot of people settle for the former.
With that said, I imagine we'd hire anyone with either outstanding depth of knowledge or breadth of knowledge, but don't quote me on that. It's general advice, definitely not a comment on hiring practices that I'm not that familiar with.
I didn't mean to ask for actual responses. Fictitious works fine too. I was just trying to identify the boundary.
There's a difference between "knowing how to do something" and "understanding how it works, therefore knowing how to do something".
The difference between having a lookup table of solutions, and having an accurate model of the system upon which solutions can be simulated and verified.
I didn't mean to ask for actual responses. Fictitious works fine too. I was just trying to identify the boundary.
I'd never have provided actual responses. However, even vague descriptions of what we're looking for risks getting more candidates who have optimised to pass the interview instead of actually doing well in the job. Proxies for ability are necessary, but proxies only work so long as they aren't common knowledge.
The difference between having a lookup table of solutions, and having an accurate model of the system upon which solutions can be simulated and verified.
That's part of it, but especially with computers - which are built on abstractions - you can have an accurate model of single layers without really understanding how the layers beneath (or above) work. Ideally, we want people who have reasonably accurate models of all layers.
A lot - possibly most - programmers don't have that, and therefore fall prey to leaky abstractions on occasion. We can't afford that, not when potential losses are measured in thousands of dollars per second.
[deleted for containing personally identifiable information]