3 ms·
Old guy here, About 1/3 of my computing time was pre internet. Before that we did a lot of trial and error, reading electronic documentation (READMEs etc) and a
by maerF0x0 3y ago
Old guy here, About 1/3 of my computing time was pre internet. Before that we did a lot of trial and error, reading electronic documentation (READMEs etc) and also books.
Depending on your current skill level perhaps the following would help.
I would recommend getting a book on each of your interest areas of the stack and work through them ~2 hours per day per book.
eg: a curriculum could be:
- A book on linux, android, or iOS operating systems. Learn about filesystems, reading binary files, and at least one binary file layout to get a sense of "it's all just data" (Hexdump or C)
- A book on networking (learn all the OSI layers, practice working with the various envelopes, see them in TCPdump / Wireshark or other sniffing tools
- A book on internet like technologies eg: https://hpbn.co/ https://hpbn.co/
- A book on Frontend development. perhaps React
- A book on Backend development. Perhaps something about making HTTP + RESTful + JSON apis (alternative GRPC development)
- A book on a datastore of choice, I recommend postgres and you can grab the manual and books from here: https://www.postgresql.org/docs/ https://www.postgresql.org/docs/
just my 2c of how I'd spend ~1 month per book offline but still progressing.
The hardest part is going to be the discipline to actually work at it every day consistently and for more than like 15 mins :)
- onos 3y agoPretty interesting to think about how the internet has changed engineering. Eg if most things were learned by book in the past, I’d guess that would result in more coalescence around the standard libraries — need enough readership to make it worth writing a book on it, and it’s also easiest to find the books that are most widely available. Now that we have internet and can easily find stack overflow pages, it probably leads to package proliferation, and less solid knowledge of the standard libraries.
- noir_lord 3y agoCertainly some element of that - though there was also just a dearth of packages/libraries for most languages, you got the compiler, the standard library and if you where really lucky some vendor extensions that didn't make you want to weep softly.
- mattpallissard 3y agoI agree with this. I travel a lot and read a lot of ebooks. I also get a fair amount of work done without internet connectivity. * plan out exactly what you'll be working on, to the minutia * save source and upstream dependencies locally * have a local environment where you can build and run the code locally * download specific sites and documentation with `wget -r` and the like * have multiple things stacked up for if you hit a blocker on one project. If it's a solo big project you can work without internet in perpetuity. You just have to RYO on any libraries you don't have downloaded before hand.
- maerF0x0 3y agoFun true story. I had a professor in university who only had 1 finger on 1 hand. He would plan out whole programs in his head, debug them mentally (step the code afaik), and then when he knew exactly what he wanted to write, he'd sit down and pluck away at his keyboard, one effortful keypress at a time. He was productive and smart enough to do it, and I think it's a great exercise for engineers to at least try a few times. Try to think about what you're going to write before you even open your editor. Try to break down the strategy into a recipe of things that can be done in about hundred lines each or so. Then sit down and type it out.
- tamiral 3y agosomething similar to my process when I was in university doing my internship and was doing half requirements gathering as a business analyst and half developer working on different small projects. It's really helpful to organize yourself , visualize the code, the problems, plan it out on paper and then code... less coding more design upfront.
- qup 3y agoI hope he's having a heyday with chatGPT translating his voice into code.