class: center, middle # CSCI-UA 480,: OSSD ## Open Source Software Development
## Open Source and Your Career .author[ Instructor: Joanna Klukowska
] .license[ Unless noted otherwise all content is released under [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/). ] --- ## The Changing Landscape ### The Elephant in the Room: AI Coding Tools - **The New Norm** AI tools (GitHub Copilot, ChatGPT, Claude) can now write boilerplate code, generate scripts, and solve isolated algorithmic problems in seconds. -- - If AI can code, what is my value as a junior developer? -- - ** Writing code is only a fraction of a software engineer's job.** --- ## Group Discussion 1 (3-5 Minutes) In groups of 3-4 people talk about **the value of a junior engineer**: If an AI can write a perfect Python function or React component in 10 seconds, what are the *other* skills a human junior developer needs to bring to a team to be worth hiring? --- ## The "Open Source Resume" Study [**Paper** *"The Open Source Resume: How Open Source Contributions Help Students Demonstrate Alignment with Employer Needs"* (SIGCSE 2026), Utsab Saha, Jeffrey D'Andria, Tyler Menezes](https://arxiv.org/abs/2510.25180) - Traditional internships - are competitive, - often happen late in a student's academic career, - and leave many without "work-based learning" -- - Even if you get an internship, most of what happens during that experience is _proprietary_ - you cannot share the code you wrote - you do not have evidence of your interactions with your team and your supervisors - it may be hard to prove variety of experiences you gained -- - Open source contributions can act as a proxy for industry experience. - The authors interviewed US hiring managers to create "hiring manager agreements" mapping desired traits to specific open source software activities. --- ## What Employers Actually Want (according to the "The Open Source Resume..." paper) Hiring managers in 2025/2026 are looking for **non-technical traits** that are notoriously difficult to teach in a traditional CS classroom (or anywhere, for that matter): - **Initiative** - taking the first step without being told exactly what to do. -- - **Collaboration** - working effectively with strangers, accepting feedback, and communicating clearly. -- - **Resilience** - pushing through the frustration of navigating a massive, undocumented, or messy codebase. -- - **Contextual Awareness ** - understanding how a small code change impacts a larger, existing system. -- BUT how do you _prove_ these skills? --- ## How Contributing to Open Source Projects Proves You Have What It Takes - **Finding and Reporting a Bug** - shows you can navigate an existing product and identify problems. - shows you care enough to speak up about it and report it, rather than just quietly complaining. -- - **Submitting a Pull Request** - shows you understand version control, code standards, and testing. - shows that you invested your time to find the solution and implement it. - shows that you _found your way_ around the project's codebase (or other resources). -- - **Responding to Code Reviews** - shows you can take constructive criticism from senior maintainers and iterate on your work without taking it personally. - shows that you can respond in a timely manner and that you followup on your own work. -- - **Sustained Engagement** - a history of issue reports, issue comments, and commits over several months proves reliability and consistency better than a weekend hackathon project. --- ## Group Discussion 2 (3-5 Minutes) In groups of 3-4 people talk about **classroom projects vs open source projects**: Think about a class project you completed in the past (even in this class). How did that experience differ from what contributing to a massive open-source project (like Linux, Git, p5.js, Oppia,... ) would be like? What specific employer traits (listed two slides ago) did your class project *fail* to test? --- ## The AI Paradox: ### If AI Can Code, Why Does Open Source Matter? Why Do We Need Software Developers At All? - AI generates code, but humans must review, verify, and securely integrate it. -- - AI tools may be great at writing an isolated function or even a solution to a larger known problem. - But AI tools are currently bad at cloning a 2-million-line legacy codebase, understanding the subtle architectural constraints, and cleanly integrating a fix without breaking three other things. -- - In an AI-heavy world, the ability to *read and review* code safely is becoming more important than writing it from scratch. -- By contributing to open source, you prove to potential future employers that you possess the exact skills AI lacks: - **Navigating Complexity** You can jump into a massive, pre-existing system you didn't build. -- - **Collaboration** You can negotiate feature requirements with maintainers and users in issue threads. -- - **Accountability** You can take ownership of code quality, security, and compliance (AI cannot be held legally or functionally accountable; you can). --- ## Resources - *The Open Source Resume: How Open Source Contributions Help Students Demonstrate Alignment with Employer Needs* (SIGCSE 2026), Utsab Saha, Jeffrey D'Andria, Tyler Menezes, [Read on arXiv](https://arxiv.org/abs/2510.25180) - *Open-Source Internships With Industry Mentors* (ITiCSE 2022), Tyler Menezes, Alexander Parra, Mingjie Jiang, [Read on ACM Digital Library](https://dl.acm.org/doi/10.1145/3502718.3524763) - *Charting Uncertain Waters: A Socio-Technical Roadmap for Sustaining Open Source Communities in the Age of GenAI* (ACM Transactions on Software Engineering and Methodology, 2026), Zixuan Feng, Reed Milewicz, Emerson Murphy-Hill, Tyler Menezes, et al., [Read on ACM Digital Library](https://dl.acm.org/doi/10.1145/3789210) - GitLab Guide: *How contributing to open source can help you land your first job*, [Read on GitLab's Blog](https://about.gitlab.com/blog/contribute-to-open-source-land-jobs/) - *Why Open Source Contributions Matter In Hiring*, Alex Carter, Jan 2026, [Read on daily.dev](https://recruiter.daily.dev/resources/open-source-contributions-matter-hiring/) - *The right tool for the job: AI, open source, and developer productivity* - interview with JJ Asghar, [Watch at https://allthingsopen.org](https://allthingsopen.org/articles/open-source-ai-productivity-tools) - *How to turn Open Source into a Job with Nick Taylor* [Watch at YouTube](https://www.youtube.com/watch?v=m7nkioXNiik) - *Getting started with agentic AI: Open source tools developers should know* - interview with Lee Faus, [Watch at YouTube](https://www.youtube.com/watch?v=1p44SJ47Ubk)