I'm curious as to whether students in computer science and/or code schools are getting to work with existing codebases in any way? "Legacy" or otherwise.
I definitely never did this in any types of education I was a part of, but I'm curious if anyone is doing it these days.
Latest comments (34)
Yes. In the first module we swapped our project with someone else's. Digging around newbie vanilla JS that you didn't write was... fun!
In our last module we were assigned an open source repo and had a week to fix a bug. The project we contributed to was groomed over to ensure we had something somewhat easy to tackle as beginner, and some groups had a codebase with languages we weren't learning. Some of the people maintaining these projects did not like this because (I assume) some students weren't able to fix the bug in a week and never returned to it after our allotted time. We were quite busy with other projects and stressed with graduating, but I can see the frustration the maintainers might have felt with people not keeping their word.
Overall I enjoyed the experience, although I wish I would have spent more time on it.
3 full years in college and the only time I ever worked on an existing codebase was during my internships.
One of my non-breadth electives had a project which required us to have a PR accepted. Other than that, I barely did any modern programming in class
For one of my courses at the University of Toronto we had to contribute a bug fix to Firefox. We were able to fix any existing bug (even if it was tiny) and if got accepted we got a bonus 1 or 2%.
Here in germany there are several ways where people wanting to work in IT have contact with existing code:
There are two types of Universities:
AFAIR both of these imply that you have to spend at least half a year at a company to work on "real" stuff and write your thesis after that. I mostly worked with the latter, so I can not say for sure things regarding the further.
No,never before in my college, infact just knew that there's something called as "codebase". 😄
When I went to school for my degree a couple years ago, I can't recall ever working with a legacy codebase as part of an assignment. We had a number of assignments for creating fairly large codebases from scratch as a team but never working with one that had already been created.
For reference, I went to school at the University of Arkansas, Fort Smith and majored in Information Technology - Programming, class of 2015.
I did a yearlong capstone project, but aside from that I never worked on the same codebase for more than 6-8 weeks as part of my coursework. And even the capstone project was small enough that 1-2 strong developers could’ve handled it themselves.
I remember being concerned about this as a student, and definitely wished I’d had some experience with it when I got my first job.
Last year in my Master's (Netherlands) I had the chance to follow a course called Software Architecture, in which the objective was to take an existing Open Source project as a group, analyze its architecture (and different aspects to it), and write a report on it. What was awesome though was that we were very encouraged to use the knowledge we obtained from analyzing the project to make contributions towards the project. There was also a dedicated slack channel for sharing statuses on all the PRs of all the groups, and the lecturers would highlight the merged ones during lectures and on Twitter. Was a really great way of getting to learn about the Open Source project and the community.
For those interested, all the reports of all the projects were gathered at the end and published as an ebook. The link of my year is here. Not gonna mention my particular project to avoid self-promoting, but it's definitely web dev related 😉.
Edit: In the time of the course my group and I made an amount of code based PRs to our chosen project, most of which were merged.
I run Mayden Academy, a code school in Bath in the UK. Our students complete 7 large projects throughout the course, 2 of which are done with legacy applications. New features and bug fixes.
A few years ago we started two applications for internal use, to help run the school. These applications are now maintained and developed by our students, giving them the chance to work on real world applications with real users, and legacy code.