Thanks!
High yield information sources for Software Development
Software developers have to repeatedly and continually learn massive number of new concepts, procedures and techniques related to the latest languages, frameworks and technologies up and down the stack.
The best way to learn would of course be to continuously read books in the spare time one isn't solving problems on the job and apply that knowledge.
I personally find reading books too time consuming for me. Books are presented in a depth first fashion, delving into multiple areas in depth one by one. This is not ideal for becoming productive quickly. There is no explicit ordering of how necessary / frequent a particular concept / technique is either.
What other sources of information / classes of sources are highest yield for picking up new technologies quickly [In the sense of getting productive fast].
An example of a high yield resources are well made slide decks. As an example, a slide deck on a language(e.g. javascript) made for experienced developers new to the language is much faster to process than a book. I can absorb the major features of the language, the syntax etc from a good slide deck in a fraction of the time it would take to read the introductory chapter of a book.
Any general comments (or specific sources) on how one would go about learning a new tech stack quickly would help too.
My current stack is linux, apache, python, django, dynamo, js, backbone
my experience could be useful to LWers experiementing with noo tropics in warning of the dangers of
a) drug interactions
there is need to be very careful while titrating doses up , especially when drugs are in combination. your body may manifest novel problems not seen by anyone else.
b) drug buildup :
need to be very careful while estimating effective doses to take drug buildup into account. even though superficially i was ingesting 200mg of modafinil, i was effectively on 500mg + of the drug.
You may be able to work as a programmer, given some management so that you only work on small pieces at a time.
It seems to me that it is actually quite uncommon to be able to comprehend projects of significant size, in programming or elsewhere.
Also, maybe you're not that different from other high-IQ individuals. I've always suspected that top scientists, programmers, etc. are at (just an illustrative example) 1 in 1000 on [metric most directly measured by IQ and similar tests] and 1 in 1000 on combination of things like integration of knowledge/memory, working space, etc. Whereas high IQ individuals in general aren't very far from average on the other factors and can't usefully access massive body of knowledge, for example.
the only trouble is that one is expected to mature and tackle larger and larger problems or alternatively manage a large (and always increasing) business scope with years under the belt.
both of those capacities are constrained significantly by conscientiousness / working memory / attention deficits.
Unsure as to what productive use i can be with these attributes.
That depends on what your goal is. Making enough money to fund a relaxed and happy life? Making tremendous amounts of money? Job satisfaction? Something else entirely?
in terms of goals, i hadn't formalized things but my mental calculations generally revolve around.
A) making a lot of money. B) not burning out (due to competitive stress e.g.) doing so.
these seems highly improbable in my current environment as i don't have the natural characteristics for this to happen. so either
a) i adapt (major , almost miraculous changes needed in conscientiousness/ working memory etc) to succeed at top tier software product development or any other similar high pay career track. b) settle for low quality / low challenge work and low pay (IT services ? teaching? government bureaucracy?)
jobs in the b) category pay < 20K USD in india so it won't be a very relaxed existence financially.
therefore had been trying to get a) to work somehow. minor successes overall. my working memory and conscientiousness are atleast bottom quartile/ if not bottom decile in my peer group.
stuck big time in life therefore.
between +2 and +2.5 SD IQ
Zero visual working memory (One - Two items with training). Therefore struggling with programming computers and not enjoying it. Can write short programs and solve standard interview type questions. Can't build big functional pieces of software
That's fairly interesting. It seem to be often under-appreciated that IQ (and similar tests) fail to evaluate important aspects of cognition.
yes. cognitive ability is quite varied and i am highly stunted in the visuo spatial area.
could never read fiction (no characters visuals in my head). the lack of this faculty is also a major bottleneck in comprehension of technical material.
i like syntax / discrete math / logic etc, things which which depend more on verbal facility.
Welcome!
Overdosed on modafinil + piracetam.
What was your dosage?
immediate dose : 200 mg modafinil + 800 mg piracetam around 10 am.
OD symptoms within 2/3 hours.
there was probably significant drug buildup of modafinil over the prior week i guess. was taking mostly 200mg (once 400 mg) a day the preceeding week. so i am guessing 300-500 mg built up.
effectively then
500 - 700 mg modafinil + 800mg piracetam.
resulted in 170/90 BP + 130-150 HR + severe anxiety for around 8-9 hours. ER docs didn't know what to do. I refused to get admitted to ICU.
Subsided by 10pm night. instigated a panic disorder and a drug phobia
cured by 25mg sertraline for 6 months. panic free (more or less) since.
has left me vigilant about drug interactions and adverse drug effects.
Hi,
i have been lurking around here mostly for (rational) self help. Some info about me.
Married. Work at India office of a top tier tech company. 26 y/o
between +2 and +2.5 SD IQ . crystallized >> fluid . Extremely introspective and self critical. ADHD / Mildly depressed most of my life. Have hated 'work' most of my life.
Zero visual working memory (One - Two items with training). Therefore struggling with programming computers and not enjoying it. Can write short programs and solve standard interview type questions. Can't build big functional pieces of software
Tried to self medicate two years back .Overdosed on modafinil + piracetam. in ER. 130+ heart rate for 8 hours. induced panic disorder. As of today, Stimulant use out of question therefore.
Familiar with mindfulness meditation and spiritual philosophy.
Its quite clear that i can't build large pieces of software. Unsure as to what productive use i can be with these attributes.
Thanks
Subscribe to RSS Feed
= f037147d6e6c911a85753b9abdedda8d)
I am not sure how much the "learning in depth" can be avoided. This may be a prejudice, but it seems to me that software development typically really has a lot of inferential depth compared with... I don't know... plumbing.
In addition to this, software development is in motion. You can use the same screwdriver for decades, but software frameworks are developed so quickly that even remembering their names becomes a difficult task. (I can't even remember all frameworks in Java.) So it's not like they can't be taught effectively... it's more like there is so much of them that the few people able to teach them effectively didn't have time to learn the topic and write a book on the topic yet. (Maybe they will do 5 years later, but then you will want to learn something different, or a new version different from the old one will appear.)
If -- somehow -- we could choose the best programming language, or just say best 10 programming languages, two or three frameworks for each of them, remove everything else, and freeze the progress... then within 20 years we would discover efficient ways of teaching them, so that how we learn them today would probably seem completely ineffective in comparison.
But that is not going to happen, for many reasons, at least during the following decades. (Some of those reasons are good, such as progress, some of them are bad, such as reinventing the wheel either because of ignorance or for profit.)
Anki decks are great when you don't go into depth. Or when you go into depth using some other source (such as a book), and then use Anki decks to memorize what you learned there.
In my opinion, a good way to learn is to get a lesson from someone who really understands the topic, knows how to explain it, and especially is later available to answer your questions. A week of education this way easily beats months spent reading online tutorials written by people who overestimate their own understanding of the topic, or just don't care and do it for adsense (w3schools, roseindia...). But in my experience people are usually averse to pay for this. (It's like in their cost-benefit calculations they assign almost zero costs to their time and they horribly understimate how much time would they need.) The second best option is to read a book on the topic, or perhaps a few of them.
This does not provide as much information as it seems to do. I can install Linux (using the installation wizard) and run a few programs from the command line. Linus Torvalds invented Linux and probably knows everything. Where are you on this scale? Where are you on the Python scale: are you able to write "Hello World" or what exactly? How about the many things you did not mention here, such as: do you understand algorithms, computational complexity, formal languages, automata, functional programming, etc.? That could make a huge difference in choosing the right way to learn a new language.
Also... what exactly are you trying to achieve? Add a few keywords to your CV, or some other specific goal?
The goal is to speedup becoming productive in that environment.
where productive =
desigining and implementing pieces of a big application (pieces 1K - 5K LOC, full project (50K LOC)) it implies making atleast 'not-bad' design and implementation choices and being able to think with the language/ frameworks with reasonable fluency to propose designs quickly. giving meaningful feedback to other programmers who are doing similar activity.
i realize that it takes time to get really good at and knowing the internals of the whole stack. Looking for approaches wherein the time to productivity can be reduced.