Quick and random thoughts...

The easy short answer is: here's a very early version of an onboarding document we used to send newly hired people, or candidates we have not accepted who asked us for pointers[0].

The longer answer is: get your fundamentals right. What you learn (in university?) and the above are table stakes.

Now...

"Mehr Licht!", as Goethe would say. Work in well lit environments. Reminder that you should be looking for "Lumens", a measure of the total quantity of visible light emitted by a source per unit of time[Wikipedia], not "Watts", a unit of power. i.e: energy per unit of time.

If you are fortunate to be able to see, take care of your eyes.

Ergonomics: hands, shoulders, wrists, back, neck, eyes, etc... Spending on these is one of the best investments you can make as it compounds.

Learn consistency, diligence, problem solving, communication, marketing, and sales. If you have side projects, don't optimize for portfolio: go all in and try actually to make a product and sell that. You may not be successful but it will prioritize work, teach you tradeoffs, make you interview people and teach you how to peel solutions one layer at a time until you get to the actual problem.

It will teach you that most things are easier on UML than in the real world, and the assumptions you made because it was more comfortable to whiteboard it than to talk with an actual human will knock your teeth out and kill your project. It will teach you a bit of this, and a bit of that.

You still will hack around, but you'll know you're going the solutionism route for fun and definitely not for profit. Many people get confused about the two. Inability to tell things apart leads to bad decisions later on, succumbing to hype, being reckless with the stack, and giving some architect/guru/conference speaker proxy power over your brain.

If you are like everyone else, you'll be treated like everyone else. Learn not to bullshit your way out of things. Honesty to say you don't know, curiosity to want to know, and drive to see things through are amazing qualities the right people look for. Learn when to be the elbow and when to be the grease.

Learn when to be a reagent and when to be a catalyst. Learn to talk with people, you'll get things done faster.

Now is a good time to start curating. Good books to spend time with and learn from. A graph of authors and companies and books recommended by authors of books you liked that were recommended by authors of books you liked or people who have done interesting things. You'll either note down or remember to check out the book recommended by someone who mentioned the title in an interview. Note these things. This is how you cut through all the crap and go straight to the good stuff. I push this a bit and pause videos that show a bookshelf. Case in point: look at my comment on this video https://www.youtube.com/watch?v=8aW5gdRRn_U. Someone even helped me out.

Read good content voraciously, including getting intimate with the same content. There's a special feeling when you read the same book at different times and things you had missed before hit you like lightning. You had read that paragraph before but it didn't click until now. Holy cow! It was there the whole time. In some cases for centuries or millenia

Learn to shape your message to your audience, and learn to write in a way that addresses points relevant to everyone in your audience. I call it "fractal communication": the piece should make sense at different abstraction levels. You'll be in meetings with, and write emails to, executives, engineers, used-to-be-engineers, domain experts. Learn what matters to every "profile", how everyone thinks, what everyone optimizes for and you'll know exactly how to present things that hit the mark with everyone. You'll expose a business objective in terms executives care about, link it to activities sales people care about, that are tied to issues and bugs and lines of code the most technical people care about. Multi-stage impedance matching, or multi-adapter if you will.

Solving people's problems will teach you so many things that wil be so, so, useful when you add software. They will give you real life experience that will be very relevant in some project or another involving software. It will help you expand your network: you'll know musicians, poets, and writers, physicians, and physicists, engineers, and lawyers, cops and farmers, business owners and actors, mechanics and dancers. It's easier to build a model of the world early on as opposed to later, in my opinion. Learn as much as possible, keep learning. Principal and interest reinvested.

- [0]: https://jhadjar.gitlab.io/kbase/hiring/