Week 8
Tuesdayβ
π₯ Meeting Recordingβ
π© Agendaβ
- Sign in with attendance code
- Presentation by Mike Dame on the value of Open-Source development
- Q & A Section
πͺ Meeting Resourcesβ
π Meeting Notesβ
Virtual Attendance: 12
Presentation by Mike Dame
Mike Dame:
- Works @ Google
How he got started in Open Source
- Got started @ RedHat
- Great place to work
- Knew about OpenShift
- Had offer from Cisco too
Got started working on OpenShift
- Closed source work since it used a lot of billing data
- Wanted to work more open source
- Wanted to work on the product
Problem
- Had no experience working on Kubernetes
Was able to build up the experience on his own time.
- Working with an experienced person
Reviewing issues on open source projects (Kubernetes)
Common barrier to open source
- Being scared
- Proposing a solution
As a maintainer:
- Complimented when a person offeres to contribute to work on a project
Never be afraid to open an issue
Met a bunch of new people
- Open Source, build a network, GitHub contributions show for it
Open Source networking helped land the job at Google:
- Interview
- Get matched to a team
- Knew people within Google by having been working with them in the open source world
Switching to a new company
- New form of observability, eBPF:
- Linux kernel modules that can be hot-swapped to enable observability
Using open-source as a tool to develop your career
β Questionsβ
How did you develop, reaching out community members?
- Entry point, CLI,
kubectl
command - Code is available with it's commit history to understand what's been done
- Would want to change: Reach out to more people to get up to speed much faster
- Reach out to get pointers to where something connects in a large codespace
- Find an area that is easy to reproduce and test
How does corporate interest manage within the realm of open source projects?
- Negotaiate to be best for the project
- Companies Maintain a fork that carries your feature
- OpenShift is a fork of Kubernetes
- Maintain that all patches for Kubernetes still work with new changes of OpenShift
- It's typical for companies to have something unique asside from open source
Important to have quality within your commits
Maintain a genuine ineterest for your work and the projects
Moving to the new company
- Vendor agnostic telemetry
- OpenTelemetry
- Logging is odd
- Have to write code
- OpenTelemetry
- Utilize eBPF, auto instrumentation, observe your functions, make requests for statically compiled languages, started for Go.
- eBPFs has really interesting applications. Kernel development.
eBPF
- extended Berkley Packet Filter
Recommendations to get into Go
- Kubernetes is a good project to learn Go
- Web server/Web App
- Handling requests
- Go Routines
Work Life Balance:
- Disconnects from coding after work
- Satisfying quantity of work
- Cool to work at big company
- Perks
- Smart people
- Important to work on what you care about
Working to a far distance
- Tough and requires time budgeting.
- Not possible to do work while commuting often
- Can be done for an internship
How to find talks to conversate
- Follow on social media and communicate with people
- Networking 101
Sometimes it's possible to get too vested in a project
- Don't get too entreched at a particular company
- Keep things fresh
π Next Meetingβ
Presentation by Professor Idith Tal-Kohen on project management & industry collaboration
Thursdayβ
π₯ Meeting Recordingβ
π© Agendaβ
- Sign in with attendance code
- Presentation by Professor Idith Tal-Kohen on project management & industry collaboration
- Questions
- Break for Pizza
- Shift to Hands-on section
πͺ Meeting Resourcesβ
N/A
π Meeting Notesβ
Presentation by Professor Idith Tal-Kohen on project management & industry collaboration
Introduction:
- Idith Tal-Kohen
- 25 Years of experience
- Senior program manager at IBM Cloud
- Teach capstone project at Electrical Engineering students
IBM Cloud Computing Models:
- On Prem
- Cloud
- IaaS - Up to Virtualization
- PaaS - OS + Middleware + Runtime
- SaaS - Data + Application
Program Manager on Iaas:
- Parterned with VMWare (Broadcomm)
Project Management:
- What is a project
- Has a start and end, temporary endevour
- Definite, goal based, etc
- Use of specific knowledge skills, tools, and techniques to deliver something of value to people.
Trick to great management
- Maintable the balance of work and management, process should work for the people.
Methedology:
- Traditional
- Waterfall
- Agile
- Scrum
- Hybrid Models
Agile:
- PRogressive elaboration
- Iterative and incremental
- Produces working outcomes at regular intervals
- Cross Functional teams
- Mix and match different duties at different times
- Can be percieved as less stable for management, however it tends to produce better results so it pays off
- Rapid changing market
- Customer likes to be involved
Waterfall
- Follow plan determined from the start
- Phased and sequential, plan 10 times, cut once
- Only a final product is delivered at the end
- Functional Teams
- Quality over speed
How to choose which Methedology to choose:
- Depends on industry
- Depends on project goals
- Depends on project complexity
- Environment with will be working in
π« Activity Sectionβ
Rules of the game
-
Build as many paper planes as you can in a 3-minute round.
-
Team with most finished airplanes wins.
-
The planes should be built and tested in teh 3-minute increment.
-
Use only one sheet of paper for each airplane
-
Each team member
-
Similarities to Agile principle:
- Definition of Done
- Estimateion
- Continuation Delivery
- Incremental Improvement
- Usefulness of Retrospective (Debrief)
- Timeboxing (Sprint)
- Product Owner (Counter)
π¬ Activity Recapβ
Agile is simple:
- Make a list
- Size things up
- Set some priorities
- Start working
The Scrum Framework
- Product Owner
- PRoduct Backlog
- Sprint Planning
- Sprint Backlog
- 1-4 Week Sprint
- Daily Scrum Meeting
- Discuss what you will do and have done
- Sprint review
- Demo section
- Sprint Retrospective
- What to improve
π§βπ» Hands on Sectionβ
Going over Immersion as a discussion:
- Original limitations were with Discord UI
- Showcased Engage API Schema and it's complexity
Going over Cloudcraft:
- Ability to design out architecture for Immersion
- Has functionality to display the costs live per month
Split into frontend and backend teams:
- Backend team
- Designing the architecture with Cloudcraft
- Frontend team
- UI designing on Figma
- Starting design on new UI
π Next Meetingβ
Continuing Frontend & Backend Team work on the Immersion project
- Designing App Architecture
- Potentially start playing with the API Key for Engage
- Brainstorm UI design for the Discord Dashboard
Some Homework:
- Learn Go!
- Resources
- Familiarize yourself with discordgo
Cheersπ