TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

Ask HN: How long did it took you to master programming?

1 pointsby fishmeatover 7 years ago
I&#x27;ve been learning C and assembly through textbooks its exercises for 4 months. I did well in exams but when I try to look at coding challenges like Project Euler, I felt like I haven&#x27;t learned anything at all.<p>So, how long it took you to master the art? What would you have done to shorten that time?

6 comments

tboyd47over 7 years ago
You never really master it. The key is to get comfortable enough with a popular technology that you don&#x27;t struggle to complete your daily work, leaving your mind free to approach higher-level problems.<p>I got there with Rails after about 2 years of training, self-study, and the right work environment. I haven&#x27;t been able to repeat that success, although I have been exposed to one or two out of these three with many other languages and tools. I think all three must be present at once to really feel that sense of mastery. Training for the theory, self-study for the practice, and work environment for the application.
rgacoteover 7 years ago
40 years so far and working to &quot;master&quot; probably my tenth significant production programming language.<p>What I&#x27;ve worked to consistently master over those years is:<p><pre><code> * listening * recognizing patterns * turning a blank whiteboard into a plan * reading, reading, reading, ... * asking for help * accepting criticism </code></pre> Getting a little better at it each year. :}
techjuiceover 7 years ago
It will take years to master C and Assembly. This time also increases especially for Assembly when you start learning new architectures (e.g. MIPS, PowerPC, SPARC, ARM, etc.). The best way to speed up the learning process is to use an applied approach (e.g. game development, systems programming, network programming, microcontroller programming, etc.).<p>I would recommend getting into building things that have already been built before (bootloaders, ISO creator&#x27;s, GUI frameworks, bandwidth monitors, firewall, kernel modules, etc.) so you have some real world projects under your belt. As by widening what you work on outside of just textbooks makes you a better engineer and normally only learned through personal projects or working for an employer.
twobyfourover 7 years ago
To be able to write software that functioned? A couple months of study and practice. (Won&#x27;t claim the output was any good, but it mostly functioned.)<p>To be competent? Two years of study plus three years of professional work.<p>Mastery? I&#x27;m not sure anyone ever achieves mastery. But almost 20 years in, I do continue to improve every year.
jerengieover 7 years ago
Well in no way I consider myself &quot;master&quot;, but my progress is 10 years ongoing. I am still studying and therefore I did only a few small projects and just a single one I got paid for.
MsMowzover 7 years ago
It took several years before I really felt generally competent. I don&#x27;t think there&#x27;s a mastery stage, in the same way that artists never master a medium.