3 ms·
There's lots to learn from Mr Carmack, and other impressive programmers for that matter. He had/has an amazing talent for producing truly great work at great s
by illumen 15y ago
There's lots to learn from Mr Carmack, and other impressive programmers for that matter.
He had/has an amazing talent for producing truly great work at great speed. Is it just magic that he can do this? Or does he have techniques that help him?
It seems obvious, but great tools help a great craftsman. So can great methods. He combined so many techniques from different disciplines.
What tools can a developer use today that propel them above what others are doing? If you're just using a standard issue macbook at this point, your tools are not better than what others are using.
His techniques for focusing on development tasks are also very useful. It boils down to a bubble sorted todo list, constantly refined and structured for high throughput.
I also like his approach to C, and learned a lot about being pragmatic and keeping things simple. For example, his approach to file io. He would read in a whole file at once, rather than reading chunks at a time. This was at a time, when most file readers were mixing file io in with their parsing code - making them slower and more complicated.
His business techniques have always been amazing to watch too. Like how he used blogging in the 90s to gain a wide audience. As well as doing demo software for shareware. Finally his move into space craft after his successful game development career has been inspirational too.
- dasil003 15y ago> What tools can a developer use today that propel them above what others are doing? If you're just using a standard issue macbook at this point, your tools are not better than what others are using. Depending on what you're doing, hardware is mostly a commodity at this point. You need sufficient hardware speed to maintain flow, but that's about it. Otherwise a big monitor (maybe several of them) and good keyboard / mouse / ergonomics are all you need. Workflows though, I think that's where the magic is. And a great workflow is perfectly suited to the task at hand. The true master programmer optimizes the workflow without descending into wasteful fiddling.
- illumen 15y agoYeah, customised workflows are great. Resources can always help though. An SSD vs a HD, 64GB of ram compared to 1GB, 16 fast CPU cores vs 1 slow core, will all help with development. Things like integration servers and such can help too. A testing rack of 30 mobile devices is another useful thing. If you have 100 times the amount of processing power as a standard macbook pro I can assure you, a good programmer will be able to use it to increase their productivity. Even something like a backup internet line could save 1 day a year. Fast backup and restore tools could save another 1-5 days per year. There's one script that helps a lot with improving productivity... sudo echo "127.0.0.1 news.ycombinator.com" >> /etc/hosts
- captaintk 15y agowhen calling this as a normal user, it will most likely fail. try echo 127.0.0.1 news.ycombinator.com | sudo tee -a /etc/hosts instead
- ellyagg 15y agoHis techniques for focusing on development tasks are also very useful. It boils down to a bubble sorted todo list, constantly refined and structured for high throughput. Do you have a reference for this? I'd love to know more.