Roadmap? Workflow? Trello Kanban board? Agile/Scrum?
- Learn to finish first, improve later: https://makegames.tumblr.com/post/1136623767/finishing-a-game
https://www.reddit.com/r/webdev/comments/6lorr8/how_do_you_stop_yourself_rewriting_code_halfway/
Design software structure (architecture) / Write documents for projects / Design code structure (architecture / Design docs
-
10 Common Software Architectural Patterns: http://webcache.googleusercontent.com/search?client=firefox-b-d&q=cache%3Ahttps%3A%2F%2Ftowardsdatascience.com%2F10-common-software-architectural-patterns-in-a-nutshell-a0b47a1e9013
-
Do you do design documents? If so, how? https://www.reddit.com/r/gamedesign/comments/qfjoe5/do_you_do_design_documents_if_so_how/
-
Pretty complex design documents https://github.com/oppia/oppia/wiki/Writing-design-docs
Keyword: Architectural Decision Records (ADRs), KDDs (key design decisions), RFD, RFC
-
RFD example: https://github.com/gravitational/teleport/blob/master/rfd/0000-rfds.md
-
Documents are for explaining decision making, trade-off, pros and cons, alternatives, ... Implementation manual is not a docs https://www.industrialempathy.com/posts/design-docs-at-google/#when-not-to-write-a-design-doc.
-
Scale a website to 10m users: https://www.youtube.com/watch?v=yPF94QiI2qk
-
System design interview, scale to 1m users: https://www.youtube.com/watch?v=YkGHxOg9d3M
- Agile project management tool (Jira)
- Static Analysis Tool (SonarQube)
- Code review best practive guide: https://google.github.io/eng-practices/
- Readthedocs: https://about.readthedocs.com/?ref=readthedocs.org
- Alternatives: sphinx + netlify
- GitHub Pages: 100GB/month https://docs.netlify.com/api/get-started/#rate-limiting
- Netlify: 500 req/minute https://docs.netlify.com/api/get-started/#rate-limiting
- Cloudflare CDN: https://developers.cloudflare.com/workers/platform/limits/
- Mega.nz: 5GB downloads/days
- Google Sheet app script: https://developers.google.com/apps-script/guides/sheets
- Bypass 6 min execution limit: https://stackoverflow.com/questions/14450819/script-runtime-execution-time-limit
- Web problem's solution: https://www.youtube.com/playlist?list=PLAwxTw4SYaPlLXUhUNt1wINWrrH9axjcI
Things I wish I knew when I started Programming (note, this is self-help, nothing technical can be learned here, only principles and idealogies)
-
Don't try to learn anything, don't try to read the docs to start using something. The ability to learn quickly.
-
Nice UI doesn't mean that is coded perfect. Everycode code is garbage. Just create a prototype, clean up later. Software = duct tape and string.
-
Learning language or a a specific techonology throughly isn't important. Know enough to make something usable is important. JavaScript is decent enough since web development is closest to make something usable.
-
Don't be afraid to learn and create something. (the mental barrier is often more difficult to handle than the software problem itself)
-
Learn coding practice, learn dev process, learn how to break the project into bite size pieces. (small size div)
-
Unreadable: crazy logic, huge function, tons of if-else random helper, overengineered, ... add features is going to be hard. Write design doc please.
-
Low effectiveness, wasting tons of time. Keep your eyes to the forest, not the tree. Check the action per minute (APM). Highest APM = Win Starcraft. One piece of code commited per day/
-
Arrogance = overengineer code. Please keep it simple. Arrogance = no asking questions, please asking question, no try to tackle anything on your own.
- Github comment commit
- When learning something, try to Google "for dummies", you will be suprised.