For most college Computer Science students, an internship is a period of tremendous personal and professional growth. Friends are made, concepts are learned, meetings are had. Then you get the offer of a part-time position. Internships usually classify as full-time commitments so the first exposure to a professional environment is a primary focus, but what happens when the problem of balancing next semester’s courses and a 20 hour work schedule occurs? This post will go into some tips I have found that made working and going to school a smoother process.
1. Plan Your School and Work Schedule Ahead
You may be in a position where this talk has not occurred between your supervisor and yourself. Before meeting with your supervisor, make sure to evaluate If you want to continue working with the same company and if you have planned out when you would theoretically work.
Unsure of the experience you had with the company? Write out some things you did in that time period. Note any personal accomplishments made and reflect on the environment the company projected. I like to also make sure I feel the company gives me the ability to develop as a programmer and that I am contributing to the success of the company. This is usually the toughest part if this is the first internship. Try to take everything into account, including your gut. If you have an even pros and cons list, imagine what you would say if the supervisor came to your desk and asked you on the spot yes or no and you had three seconds to answer.
An imperative thing to consider is travel. If you go to school an hour away and from school it’s another hour to work and from work you have another hour commute to your apartment, you lose out of three hours a day. Something to consider is the ability to work remotely some days out of the week.
If you have registered and know what your week days will look like, then plot out time to work for 15-20 hours. If it’s the ending weeks of your internship set up a meeting to discuss the future. Bring your computer with you along with a well documented visualization of when you would work and when you would be in school. I suggest using good old google calendar for this. Not only will this keep you organized, but it will show your boss how much thought you have put into being a part-time employee. When making your calendar be sure not to assume you certain perks like remote working or working on the weekend. Usually these things are awarded when an employee has shown aptitude in being an efficient coder in those instances.
Once you are prepared, schedule a meeting and make a case why you should be hired as a part-timer. Highlight some contributions you have made during your internship and why they were critical. Discuss how your typical school day will go with traveling to work. Assert why you would be able to balance school and work. It is recommended that you cite any other times you have had to dedicate your time to many different things such as a work-study, school projects, and school clubs. Include some difficulties and how you eliminated or reduced them. If you did your homework and made compelling cases for yourself, hopefully your boss will agree to take you on part-time during school.
Now that you have been hired part-time we can go over some useful ways to manage working and going to school.
2. Have the First Week of School be a Test
Consult your initial plan of the week and inform your supervisor that you are using this week to evaluate your schedule. With most things, the first draft is not perfect and you should give a week to make the necessary adjustments. You may find that the transportation between work and school is actually longer, or that there is a better route to take. You should also look at your class syllabus to see when you may require more time for studies such as midterms. Once the experimental week is up, make some adjustments and meet/inform your supervisor of the changes you made.
Other things to experiment with is how you will develop during times away from the office. If you have a work computer and a school machine, you may be reluctant to bring both around with you. Consider using a virtual machine if the operating system is crucial. I use a shared virtual machine for my school laptop and home desktop. This keeps everything nice and synced so I do not have to maintain two separate virtual machines.VMware and Virtualbox are some software that may help you out with this. Finally, challenge yourself to complete more work when you are remote than in the office. This will help start off in the right path and reduce the likelihood of falling into being unable to focus. I found it also difficult to work in between class. If possible try to not break up your work day into more than 2-3 chunks.
3. Keep Communication Lines Open
If you plan on going to the office during hours when people on your team may be heading home it could seem like you have disappeared all together. It is important that you utilize any forms of communication that are available. Prioritize face to face communication when possible. This will make your team feel that you are still present and up to speed on whats been developing throughout the week. Review any notes from meetings you may have missed due to scheduling and make sure you know the changes that have been going on within the sphere of your designated team. Being informed will make work in general easier to follow because you will know what is high priority.
It is easy to become closed off by being swept away with just getting work done so you can study later on. If you plan out your day properly this should be a low-frequency issue. However, if you do become concerned with school work, make sure you let your team know you will be stopping work to make progress on studies. If you find yourself doing this repeatedly, you may have over-scheduled yourself. Find that sweet spot that works with your school work.
The best advice I can give is to weigh the potential learning in both work and school. The two are not mutually exclusive. If you are working on a unique and conceptual driven problem in school with no relevance to your company; the school work should take precedence. There is more benefit to learning new concepts and engraving them than if you are just doing some bug fixes for work. Alternatively, don’t be afraid to miss an elective or even a core class assignment if work presents a task to make a multiprocess script with external service hooks and analytics. Any problem with multiple layers of complexity are the ones you may see in the future and as such will help you out. It is rather unpopular to say put work before school, but sometimes work provides more beneficial learning than some classes. This of course goes both ways. Use your best judgement and learn the most you can.