Ask HN: I feel like an 'expert beginner' and I don't know how to get better
https://news.ycombinator.com/item?id=7761134I really want to improve at programming but I feel I'm kinda of stuck in this 'expert beginner' phase. I'm familiar with basic data structures and their complexity (linked lists, arrays, hash tables, queues, trees), some basic theory (DFA, NFA, CFGs, TMs, lambda calculus etc), and elementary math (calc I, II, III, linear algebra, ODEs, discrete).
I don't feel particularly confident in any of these areas of study, knowing the minimum amount to get me by. Sure I know what a NFA is, but ask me convert it to a DFA and I'm lost. I lack 'deep', real knowledge and am desperate to acquire this mythical stuff before it's too late.
In terms of areas of interest, I am interested in type theory, FP, compilers, machine learning, expert systems and AI.
So knowing this, how would I best use say 8-12 hours a day, every day, to learn this stuff? Should I be reading papers all day? Should I be writing code? Should I be doing exercises in books? There's just so much material I need to get through that I am lost on how to actually spend my time getting better.