Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

You don't learn French just by trying to write letters and articles in a vacuum, you learn by reading articles, letters and books in French.

Similarly, to become very proficient with code, read other people's code. Read code written with the help of a framework, read code written in Python, try to read some in a functional language, try to read some C for an embedded system (FreeRTOS, perhaps?).

But similarly, don't just read. You need to be practicing your writing of code too. Write small things, an AVL or Red-Black tree in C, a small web server in Python, an IRC bot in Objective-C are all semi-decent pedagogical projects. You don't need to devote your life to a small project, just knock it out over the course of a couple of weeks to become familiar with the idioms.

Investigate asymptotic complexity, basic data structures (Arrays vs. Linked lists, Hash Tables vs. Binary Trees (balanced and unbalanced), various methods of queuing, stacks), you'll need to know the standard algorithms (binary search, various sorting algorithms, some search algorithms, etc.)

The only way to improve is to continually try to improve. Write code, read code, read books, try to implement the ideas from the books. AI, compiler design and implementation, functional programming, hardware (all the way down to signal processing and digital electronics, see if you can't design a programmable analogue computer!)



Consider applying for YC's Fall 2026 batch! Applications are open till July 27.

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

Search: