Hacker News new | past | comments | ask | show | jobs | submit
Reading these types of of stories growing up was always humbling.

I started at Microsoft on the Windows Mobile compiler team, having never taken a compiler class in college. I was surrounded by people who had already done great things, and by the time my career started the glory days of doing real software engineering was already waning.

I got to work with a few of the greats during my time as Microsoft, and I wish I'd taken up an in offer I had to meet Raymond Chen.

Sitting next to people of old school caliber and watching them work is, to use the proper word yet again, humbling as hell.

Fuck your design patterns. These people can debug starting at assembly, and sometimes when that fails they'll debug by pulling out an oscilloscope. Then when that is done they'll build design patterns on top of the foundations they laid themselves.

Yes, it was humbling and one reason was many of them had developed their skills in tandem with the growing complexity of the hardware and software. They had an amazing advantage of being there when it was all happening and being built up around them.

As for design patterns, I would never accuse Andy of using them. He was a coding wild man and super impressive, but his real skill was coming up with cool ideas and willing them into existence. Working with him, I always felt he was going through the jungle making paths with a machete and the rest of us had to actually build the roads behind him.

You can still get this experience by trying to do some things the old ways. One that's come up to me recently: program an ATMega328 (the famous Arduino chip) in assembly to output a waveform with tight timing requirements.

That is, as opposed to using a timer interrupt or a delay routine, arrange instructions so that the processor naturally gets to the instruction to change the output pin at the correct time, within the acceptable tolerance. These processors have no caches or predictors so instruction timing is reliable.

I think people are doing it these days on the Raspberry Pico chips, but any "old school" microcontroller will do.