先说智商,这个低了是彻底没办法的,当然不是说像弱智那么低,而是没有一般人那么聪明,尤其是逻辑思维和数学方面。
再说性格吧,比如你天生就是坐不住的,完全没有办法呆在电脑前静坐思考,也不适合,但这个是可以后期慢慢改变的。还有就是总得过且过,敷衍了事,不肯深耕细作,就算智商再高也无济于事。
最后是学历,这个跟编码能力有关,但有限。因为,怎么说呢,有多少人在大学是混过来的?反而有很多大神是没有什么大学学历的,即便初中高中毕业,如果脑子灵肯钻研,也一定能成为高手……
最后,题主所说的睡眠不足,因人而异吧。因为偶周围有的人每天只睡四五个小时依然神采奕奕,思维清晰,代码质量很好;有的人每天睡八九个小时却仍然反应迟钝,代码一塌糊涂!