In the future, I'll make a blog post on how you can become a productive software engineer faster
A developer without an understanding of their environment is a carpenter without the knowledge of his workshop.
Some things you should know before coding are:
- PATH: What is it, how is it used, and how to modify it
- Linux: how to make a file executable
- Terminal: how to launch one on your OS with only your keyboard
An IDE stands for Integrated Development Environment (Code Editor), not relevant to know this though
set, dict, list and learn about generators in Pythonargparse module and create a sample terminal app with support for boolean flags and --flag argRead relevant awesome lists
The Copenhagen BookGit: Version Control System (Code History)git config --global gpg.format sshgit config --global user.signingkey C:\Users\maste\.ssh\id_ed25519.pubgit config --global core.autocrlf inputgit rm --cached -r . && git reset --hardgit apply -git rev-parse --abbrev-ref HEADgit rebase --interactive $UNTOUCHED_COMMITgit rebase -i HEAD^^ where the number of ^ corresponds to ngit push --forcegit reset $UNTOUCHED_COMMITgit reset $(git log main --format=%H | head -1)git push --forcegit reset --hard "@{u}"git reflog --before=2024-10-23T21:41:24.107351Zgit update-index --chmod=+x foo.shcommit --amend).git commit --amend --date "$(date -R)"git commit --amend --date "$(date)"git remote show origingit remote remove origin ; git remote add origin https://github.com/elibroftw/RSSHubgit checkout $COMMIT_SHA -- path/to/filegit revert --no-commit HEAD~3..I recommend learning to do everything within an IDE like VSCode
Database: PostgreSQL, use a managed PostgreSQL in production.
Backend: ASP.NET Core. Great performance, and comes with a lot of DX out of the box
When creating an ASP.NET project, use the dotnet CLI to select the WebAPI template for SPAs or the Web App template for Razor pages
If you use another backend framework, make the responses are as expected if the database restarts
You can install .NET either through Visual Studio C# Dev Kit, dotnet.microsoft.com, or Visual Studio
Frontend: use Vite to create a React orSolidJS TypeScript project combined with Inertia so that you are free to use any backend and still get server-side rendering for your single-page apps. Alternatively you can use Astro + API or the native SSR framework like Razor pages, Handlebars, htmx, Jinja2
The example code for inertia-rust is for Axum, and uses node-server (instead of bun), but we/you should be able to be easily used in other frameworks like xitca-web
You need to learn basic SQL while working on a project
Project idea: SSR blogging website with database schema upgrades and production deployments
Twitter meta tags
For one codebase and cross-platform, you can go with Tauri or Avalonia
Tauri & React TemplateAvalonia: crossplatform .NET desktop programmingWhen you need to use some specific APIs per operating system, I would suggest using a webview that uses a bridge to the native technology
Don't use react-native. Use Kotlin Jetpack Compose for Android and SwiftUI for iOS
You will need Android Studio and if targeting iOS you will also need a Macbook to install XCode
Although no great tutorials exist that I know of, C & C++ is essential to this day