This is a rough plan of the development internship program for 2024 -8 to 10 weeks program-. The intern need to be able to reason about the code, and be able to write tests (units and integration), then they should be able to contribute to the daily work with the team.
- Go fundamentals
- Typescript fundamentals
- coreutils #105:
echo, env, cat, wc, head, tail, yes, true, false, tree
(use gobyexample to speed up things) - Testing fundamentals
- INI Parser project with tests #21
- Github workflows
- Datetime server #144
- HTTP Service testing
- Docker
- Docker compose
- DateTime http client #145
- REST API
- Swagger
- Postman
- pokemon API https://pokeapi.co/ (create http client for pokemon API + tests) #146
- Deployment of Datetime server #154
-
docker docs https://docs.docker.com/engine/install/ubuntu/
-
multistaged builds https://fabianlee.org/2020/01/26/golang-using-multi-stage-builds-to-create-clean-docker-images/
-
docker docs https://docs.docker.com/engine/install/ubuntu/
-
multistaged builds https://fabianlee.org/2020/01/26/golang-using-multi-stage-builds-to-create-clean-docker-images/
- Frontend track https://github.com/MohamedElmdary/cat-frontend-circle-road-map
- https://github.com/MohamedElmdary/frontend-session-resources
- Vue.js
- React Megatutorial
- https://selenium-python.readthedocs.io/locating-elements.html
- https://www.toolsqa.com/selenium-webdriver/selenium-locators/
- https://filiphric.com/cypress-basics-selecting-elements
- Cypress https://testautomationu.applitools.com/advanced-cypress-tutorial/
Testing session: https://docs.google.com/presentation/d/1ljUyCXWN-ZF3FyNDUOYXoyOrEagy_DoXWeL5wDMF47Y/edit?usp=sharing
Starting from that week the intern should be able to write testable code and can be introduced to our platform and projects. Best intro the platform by manually testing the capabilities and reporting issues on the normal of the enduser.
- Intro to Codescalers and TFGrid Platform
- How to write a bug report https://www.softwaretestinghelp.com/how-to-write-good-bug-report/
- Manual Testing
- Namespaces, CGroups, Docker
- The Dashboard and deploying your first machine on the threefold grid)
- Terraform and deploying your virtual machines machines on the threefold grid)
- Rust fundamentals
- Manually Testing the platform (intro to testlodge -qa tool we use to develop and track our tests-)
- 4 solutions
- GPU services integration *
- ZOS service rewrites in rust
- Freeflow twin
- Threefold Connect *
- Planetary Desktop/mobile App
- Increase code coverage
- Deployments web builder (drag/drop)
- IaC
- heroku like system on the grid maybe? gridify pushing forward
- bitcask paper
- Extra: RESP Parser
- NTP #141
- BMP Width/Height #142
- REST API
- GraphQL
- Protobuf
- gRPC
- Concurrency
- Blockchain
- Vue
- Docker/CGroups
- Testing
- Redis
- UNIX Programming
- Caddy
- Zinit
- Flist
- Raft
- Packer
- Zig
- TLS
- Encryption (symmetric/asymmetric)
- 12 factor apps https://12factor.net
- Github flow https://docs.github.com/en/get-started/quickstart/github-flow
- Building a small busybox based distro
- write your own git: https://leshenko.net/p/ugit/#
- creating package in 2022
- python
- django rest framework DRF
- pymotw
- jinja
- bottle
- exploreflask
- flask megatuorial
- TDD with python/django
- redis university
- redis in action is a book that will help you to know redis by practice.
- The following topics are important to know about Redis:
- Data structures
- Pub/Sub Guide link 1 | Guide link 2 | Video
- Data persistence (snapshots & AOF) Guide link | Video
- Transactions Guide link
- Distributed locking Guide link1 | Guide link2
- Resp Protocol Guide link
- Trunk based development https://trunkbaseddevelopment.com/
- effective shell: https://effective-shell.com
- ubuntu server guide
- nginx
- debian handbook
- tmux
- building root filesystem
- coredns
- https://www.nginx.com/blog/what-are-namespaces-cgroups-how-do-they-work/
- https://www.youtube.com/watch?v=8fi7uSYlOdc
- build container in 500Lines
- unix programming
- https://learn.particular.net/courses/distributed-systems-design-fundamentals-online
- slides: https://thesecretlivesofdata.com/raft/
- https://raft.github.io
- https://en.wikipedia.org/wiki/Raft_(algorithm)
- https://capnproto.org/
- https://google.github.io/flatbuffers/
- https://developers.google.com/protocol-buffers
- Kubernetes
- Helm Charts
- Blockchain (substrate, cosmos, solidity?)