well, it&#x27;s a gradient, and the only way to move up is years of practice.<p>i liken it to any skilled trade.  you can probably fix your kitchen table or change the brake rotor on your car but you&#x27;re probably not qualified to work at a bespoke furniture shop or the porsche dealership - but you could be, if you really tried, or if you got lucky.  and if you did get lucky, you could probably figure it out with some help.<p>some people just can&#x27;t do these things, no matter how hard they try.  they simply don&#x27;t possess the aptitude, or iq, or whatever you want to call it.  maybe just plain old discipline.<p>the interesting thing about programming to me is it&#x27;s easy to lose - i&#x27;m totally unqualified to do anything serious these days because for the past 5 years i&#x27;ve spent most of my time running a business and doing &#x27;housekeeping&#x27; technical (sysadmin, very light dev, some ops stuff) tasks that i don&#x27;t want my senior devs to do.