If you came directly here, most things are in the README. Please, take a look there first :D.
Click on the outline button:
-
Tools are overrated; foundations are not. With solid fundamentals, you can master almost any technology.
-
BUT... deep expertise is highly underrated. Being the go-to person for a specific domain is a massive career advantage.
-
Developer Experience (DX) matters. Bad technologies drain productivity. Good DX keeps teams fast and happy.
-
Design before you code. Choosing the right architecture upfront saves countless hours of painful maintenance later.
-
Start with the problem, not the hammer. Choose technologies based on requirements. The shiny new tool isn't always the right fit (unless you're just learning it).
-
Bad communication causes most problems.
- Sending a message doesn't mean it was read. Double-check.
- Broadcasting to a group doesn't mean stakeholders saw it. Ping them directly.
- Over-communicating is almost always better than under-communicating.
-
Good documentation is a superpower. It saves hours of meetings, prevents knowledge silos, and applies the DRY (Don't Repeat Yourself) principle to human communication.
-
Automated testing is non-negotiable for any serious project.
-
Great UX is essential if you want people to actually use what you build. And performance is UX, which is different than premature optimization.
I don't think so!
I use AI heavily to boost productivity, but solid engineering foundations are still mandatory. How can I evaluate if an AI-generated algorithm is optimal if I don't understand its bounds?
To use these tools effectively, these fundamentals are more important than ever:
- Algorithms and data structures
- Software design and architecture
- Programming logic
- Testing & Documentation
- Code review
- Clear communication
- Great UI and UX
- JavaScript and TypeScript
- Astro
- Tailwind CSS
- DaisyUI
- Clojure and ClojureScript
- JavaScript (React, Node.js)
- Python
- C++
- Protocol Buffers
- HTML/CSS
- TypeScript
- Vim
- VSCode
- Bazel (build system)
- Bash
- Java
- REST (for APIs and databases - think CRUD)
- SQL/NoSQL
There's more, probably...
- Svelte
- Deno
- Next.js
- Go
- Tachyons CSS
- Bulma CSS
- Bootstrap CSS
- Material UI
- DaisyUI
- jQuery
- Objective-C
- Dart and Flutter
- F#
- Ruby (and Rails)
- Elm
- Rust
- V (vlang.io)
- Haskell
- Unison
- OCaml
- Erlang
- Elixir
- Gleam
- Lua
Currently, take a look at the pinned ones at the main page.
