NerdSchool
Find your niche
- 1. What problem do you see that bothers you?
- 2. Can you be a solution to this problem?
- 3. Don't be the jack of all trades, become a master at something.
Getting up to speed - Programming types, levels and runtimes
- - Variables
- - Data Structures
- - Methods
- - Inheritance
- - Overloading
- - OOP Principles and Interfaces
- - Dependency Injection
Setup your development environment - Github, IDEs and the system shell
- 1. Understanding the shell and environment variables.
- 2. Setup SSH keys or use a standard password.
- 3. Managing application code/dedicated repositories.
- 4. Setup your laptop with the latest kits and cli's.
- 5. Using an integrated development environment.
Servers
- 1. A dedicated Linux environment. Welcome home, this will be your domain that you can access remotely anytime you want.
- 2. Building your profile. Expand to aliases and export variables to operate during live sessions.
- 3. Learn the network. Understand DNS and protocols. Access your website with a direct internet address.
- 4. Working with transport layers. Understand the difference between http and https.
Databases
- 1. Cover the structured query language syntax, learn about joins/inner joins etc..
- 2. Communicate with database servers through workbenches/clients.
- 3. Understand connection strings and how to target databases running in your environment.
- 4. Learn how to containerize a database and access on the docker network.
Communication
- 1. Http, stateless, service-to-service.
- 2. Network communication.
- 3. Protocols and internet traffic.
- 4. Communication security.
Containerization
- 1. Install docker on your machine and understand what it is and how to use it.
- 2. Familiarize yourself with creating docker images. Understanding the use case.. why push to docker hub?
- 3. Once you learn docker, we will look at docker-compose. Understand the difference and when to use each.
- 4. Understand the internal docker network.
- 5. Learn how to use traefik, this is like a reverse proxy on steroids.
Monitoring
- 1. Learn how to collect metrics on your technology stack.
- 2. Use prometheus to scrape data.
- 3. Container advisors can gather network traffic with little setup.
- 4. Grafana provides a rich user interface where you can setup dashboards and alarms.
Cloud and AI
- 1. Lets get you set up with a cloud provider. Do you want a minimal setup or a fully capable option like aws?
- 2. Understand how your application interacts with the cloud at runtime. Learn roles and cloud security and why its important. Where do you fit in?
- 3. Launch an AI server. How to select models and fine tune them to your application. Infuse your app with AI capabilities.
- 4. Communication with third party apps like Twilio, webhooks and sms processing.