Some of my best decisions:
- learn C (gives understanding of stack, heap, and memory management)
- learn git (no joke, I was taught at my first job, but before I was copying folders for that purpose, believe me, it’s a mess)
- learn assembler (it helps with reverse engineering, but don't ask me when you need this skill)
- try not to google, try to remember at least the basics (read from file, write to file, find in array, ...)
"Hey boss, we go home today."
"Why? Does your compiler need Internet?"
Software essentials
- Debian - server OS. No other questions asked.
- Ubuntu - developer's OS. Choose LTS versions, upgrade with full reinstall.
- docker, Jenkins - automated build system (also present in GitLab, but I didn't start the migration yet)
- GitLab self-hosted (no BitBucket or GitHub) - git version control system.
- Redmine (no Jira) - issue tracker. Install this theme - it will look almost like Jira
- Confluence (?) - knowledge base. Redmine is very limited, though it has simple wiki pages
- Zulip (no slack, no discord) - quick communication, file and code sharing system. Or IRC?