Join Our Community
Thank you for your interest. Applications for Spring '23 are now closed. We will be recruiting for developers again in the fall!
Our client teams work with industry partners to build products ranging from full stack web development and data visualization to machine learning and infrastructure.
- At least 2 semesters left at Cal (including Spring 2023).
- Taken or are concurrently enrolled in CS 61A or previous coding experience.
- Completed a significant coding project (side project or industry experience).
For example, our past Client devs’ backgrounds have ranged from freshmen who had done a few small side projects or high school CS classes, to second-semester juniors who had internship experience, but were looking for a college community.
Our mentored team focuses on learning the essentials of software development and simultaneously develops a full-stack web application for a non-profit organization.
- At least 3 semesters left at Cal (including Spring 2023).
- Taken or are concurrently enrolled in CS 61A or previous coding experience.
- No prior industry experience.
- Little to no prior web dev experience.
- Completed 1 or fewer CS or Data Science upper-division technical courses at UC Berkeley.
For example, our past Mentored devs’ backgrounds include freshmen who were taking 61A and had never coded before that, sophomores who were taking their first upper div but had no projects or experience outside of classes, or third-year non CS majors who wanted to learn software development.
Applications for Spring '23 are now closed. Check back next semester for our Fall '23 application.
Frequently Asked Questions
What is a Codebase project and what can I get out of one?
Each semester, we work with a number of industry-leading tech companies to develop a project together. What the project is can vary - among other things, we’ve built full-stack web applications, mobile apps, and offered machine learning consulting. What you get out of a project will be a solid grasp of software development, having built and delivered a tangible product with a team of engineers end-to-end.
What kind of candidate is Codebase looking for?
Our ideal candidates are tenacious problem solvers, imaginative inventors, and fearless students with a knack for asking the right questions and a willingness to try things that might not work. While an aptitude for computer science is important, we’re not looking for any particular skill set or background - our members come from all sorts of experience levels and have all sorts of passions and interests. We’re looking for developers with a voracious appetite for growth, whether in the technical, professional or personal sphere. Codebase works with a diverse range of technologies, and we never expect our developers to have specific prior experience. That’s why we look for developers with the passion and drive to learn something completely new! During our recruitment process, we look for candidates who are able to demonstrate their commitment to the club and mission, effectively communicate and collaborate with others, and contribute socially back to our organization. Our Base Behaviors are a great place to start!
What should I expect as a developer on a Codebase project?
As a developer on a Codebase project, you’ll be working with 6-8 other members and 2 project managers. Each project typically spans about 12-15 weeks and includes a mid-semester deliverable (you can think of these as “due dates”) at around Week 6 as well as a final deliverable at around Week 12. The work you do and the time commitment you put in will be at the discretion of your project managers and the project scope, but in previous semesters, developers could be expected to put in anywhere from 15-20 hours of work per week.
As a developer, what kind of social experience can I expect?
A big part of being a Codebase member is being involved in the social environment, both during club-wide events and within your project team. Within your project team, we take the same ethos towards socials that we take toward technical growth: you get out what you put in. Teams usually try to have a social every week or so, where you'll get a chance to get to know your team members outside of technical work! We strive to make each project team a source of constant support for our developers, whether that’s in terms of your technical growth, professional development, or just to have fun! We meet every week as an entire club during our general meetings and we also have a few large events every semester, but the most fun part of Codebase’s social environment is the various ad-hoc events that pop up throughout the semester! We call these events Codehosts, where a member (or members) host a gathering to share their passions, whether that be gingerbread house building, charcuterie board making or a whole range of fun things. We also have Codepals, where members are paired each week to hang out with one another, and Codetalks, where members give a presentation about their passions and loves at general meetings. It’s always great fun!
What is the difference between the mentored project and the client project?
The mentored project is intended for students with an interest computer science who don’t have a lot of experience yet; the project is to build a tool for a nonprofit organization with the goal of teaching students the fundamentals of software development. Meanwhile, our client projects are for students with demonstrated skill in computer science and software engineering - client teams work with companies to deliver a real product by the end of the semester. If you haven’t coded too much but would like to dip your feet into software development, apply for the mentored project. On the other hand, if you’ve worked on larger projects and/or have participated in a SWE internship before and would like to gain experience on software for industry, apply for the client project. We reserve the right to move applicants between the two application pools based on experience.
Which track should I apply to: Mentored or Client?
This is a very common question, so we have a more comprehensive guide below to guide you through making a decision! An important note: we might move applicants between tracks if we find that your skillsets and background are a better match; this won’t negatively affect your application. If you’re still confused about which track to apply to, come talk to us at our info-sessions or at one of our Discord office-hours. https://berkeleycodebase.medium.com/how-to-choose-a-track-mentored-vs-client-38b56f11ce8
What is the time commitment for a developer?
The time commitment averages 15 hours a week. For the majority of our organization's members, Codebase is their main extracurricular activity. Ultimately, what you end up getting out of Codebase depends on how much effort you want to put in! A week for a mentored developer might look like: • 1 planning meeting (2 hours) • 2 whole-team worksessions (2 x 2 hours) • 2 small-group worksessions (2 x 3 hours) • asynchronous work (~3 hours) + a weekly social (not included in work time) A week for a client developer might look like: • 1 planning meeting (2 hours) • 2 whole-team worksessions (2 x 2 hours) • 2 small-group worksessions (2 x 3 hours) • asynchronous work (~3 hours) + a weekly social (not included in work time)
As a developer, what support and resources will I receive to help me in my role?
We know that joining a new community can be stressful and hard, and we want to make sure that all our developers find a community they feel comfortable growing in. We always seek to make our project teams into an ongoing source of support for our developers. Whether it’s about your technical growth or personal development, your fellow developers and project managers are always there to provide guidance, support, or just someone to talk to. In terms of technical growth, every project has a ramp-up project at the start of the semester that is designed by the project managers to introduce the developers to the new tech stack. Codebase projects involve a diverse range of technologies, and we don’t expect that our developers have any specific prior experience with them; your PMs will always be there to support you throughout the process. In terms of your professional development, all our developers are encouraged to participate in our mentorship program where you’ll be assigned a mentor to get one-on-one guidance to guide you through discovering and developing your career goals. We also have a strong alumni network with a diverse range of experiences, who you can always reach out to to learn more about!
How is Codebase going to operate this semester?
Following campus plans for an in-person semester, Codebase will be returning to an in-person model with in-person events, meetings, work sessions and socials. We'll be following campus and public health and safety guidelines for all in-person activities and remaining flexible in case situations on campus change.
I won’t be on campus for all or most of this semester. What should I do?
Given that we'll be operating in-person, we won't have the bandwidth to support remote members. Since we can't promise to offer the same engaging experience to remote members, we'd strongly encourage you to apply in a future semester when you're back in Berkeley. If you have any questions or concerns, please feel free to email us at email@example.com or fill out the "Contact us" form.
What is the application process? How many rounds are there?
Online Application To apply to codebase, you should submit an online application using one of the links above (please only submit an application for the Client track or the Mentored track but not both!) Initial Interview After the application deadline, we will review all online applications and invite a subset of applicants to the initial interview. Technical Interview After reviewing initial interviews, we will reach out to applicants invited to the technical round. Final Interview Finally, after the technical round, we will reach out to applicants invited to the final interview and after reviewing final candidates, we will reach out to our newest codebase members! We know that applying to clubs, including codebase, can be a long and draining process so we aim to make the experience as seamless and friendly as possible. We genuinely appreciate everyone who takes the time to apply!
When can I expect to hear back about my application status?
We understand that early in the semester is a busy time for many, so we try our best to get back to our applicants as promptly as possible. We expect the entire interview process to take a little less than 2 weeks from the written application due date. At each interview round, your interviewers should provide a timeline for when you can expect an update, barring any unforeseen circumstances. Feel free to ask about the timeline during your interview as well!
What does the online application entail?
The online written application asks a few contact details and two quick essay questions so we can find out who you are and how you might fit into Codebase! You can access the application above, which is due on January 25th at midnight (we have a 3 hour buffer period until January 26th at 3:00AM for any technical difficulties). We recommend that you come out to one of our info sessions and read through these FAQs before applying!
What is the initial interview?
The initial interview* is a quick in-person 15-minute chat so we can get to know you better, and what you’re looking for in a campus community! Expect a casual conversation about your background and interests, and a chance to ask us any questions you have about Codebase. *By invite only
What is the technical interview?
The technical round* is a 45-minute call where you’ll be asked to solve problems of a technical nature, including both coding and non-coding questions. We’re interested in your unique approach to problem-solving and communication! *By invite only
What kinds of questions will be asked in the mentored technical interview? Will it include a coding component? What should I do to prepare for the interview?
The technical interview does include a coding component! We don’t publish any details on what kinds of questions will be asked to be fair to all our applicants, but in terms of technical knowledge, we only require that our mentored applicants have completed the first two weeks of CS61A, or have equivalent knowledge in writing Python. Specifically, this consists of the first two modules of the class: Functions and Control. More generally, the technical interview isn’t like an exam: we aren’t grading you on whether your code matches a solution, but rather on your ability to problem solve and communicate! We don’t expect any kind of specific preparation, and we want to see how you solve problems your way.
What kinds of questions will be asked in the client technical interview? What should I do to prepare for the interview?
What is the final interview?
The final round* is a 30-minute interview so we can learn even more about you, your passions, and how you might fit into Codebase! This is also another chance to ask us questions and learn more about the club. *By invite only
What if I can’t make an in-person interview?
If you have extenuating circumstances for not being able to conduct the interview process in person, you can note it down in the last section of the written application and we will try our best to accommodate! If something comes up during the interview process and you need to request a remote interview, feel free to email us at firstname.lastname@example.org to let us know! Unfortunately, due to our tight recruitment timeline, we are unable to offer alternate interviews other than on the days offered.
Do I have to reapply every semester?
No! Once you join the codebase community, either as a client developer or a mentored developer, you are part of our club and you do not have to reapply the following semester. Any semester you can choose to be an active member and most members choose to be active developers in one of our project teams for 2-3 semesters and then go on to take other leadership positions within our club. If you join as a mentored developer, you would return as a client developer the following semester and if you join as a client developer you would return as a client developer again or in a leadership role.