lessons from working during undergraduate studies
In my final year of undergraduate studies, I had the opportunity to work part-time for Aerobotics ― an agritech startup. With a passion for development, an eagerness to learn and a curiosity for machine learning in the wild, I embraced the opportunity fully, despite having some reservations. How would I manage my final year of undergraduate studies and simultaneously deliver at an acceptable standard at work? As concerned as I was, it turned out to be an exceedingly positive and rewarding experience. This post aims to highlight some of the lessons I learned. It is an extension of a thread of tweets.
Choose the right company
This cannot be understated. If you’re going to work and study, the company must be willing to accommodate it. The primary reason for my success at work was the company’s understanding of my position and consequently, the realistic nature of their expectations. As I was still new to development in industry, my tasks were often scaled such that they were achievable in 2-3 days. This often resulted in adopting a support role for my team, picking up tasks that did not have large scope and were not mission-critical. This gave me extensive breathing room but still stimulated consistent learning. Alongside this, I was given time to ensure that my academic performance was maintained during test and exam times.
The right company will also enable the ideal environment for the adjustment of your routine. Initially, I did not know how difficult final year would be so I opted to work fewer days in the week. Oftentimes, my working days would change and that was accommodated for. Overtime, I was able to gauge my capacity fairly well and formulated a fairly consistent routine. By the second half of the year, I was working 3 full-days a week. Being allowed the time and space to go through this process was an overwhelming contributor toward the positive nature of this experience.
Manage your time
I know it’s a major cliché but it’s critical. Managing your time effectively is the key to ensuring you’re meeting both work and university expectations. For me, this entailed planning my upcoming day every evening. As a result, I always knew what I should aim to achieve on a given day. This manifested into some desirable outcomes: I never worried about missing a deadline or forgetting to complete compulsory work. I found this to be an essential part of my journey as it enabled me to achieve the work I needed to on time and to an acceptable quality.
Start early
This is particularly relevant in the context of university. The personification of procrastination is your average university student! When you’re juggling work and university, this simply is not an option. Starting early (and by early I mean at least two weeks early) gives you more flexibility and control over your assignments and studying schedule. University work can be consuming and it is important to give yourself the necessary breathing room. Stress and anxiety have come to define the university experience and it’s important to minimise these effects through active measures. An unwanted scenario is a diminished capacity owing to poor planning and the inability to meet the expectations of your workplace because of university work.
I achieved this by starting work roughly 2 weeks early and completing 80-90% of the required work. The last 10-20% would be completed in the last few days before the deadline, allowing me to close it out at that time. This worked for me as it reduced the amount of stress I had for any given assignment but didn’t place a burden on me to finish it immediately. It also gave me enough flexibility to do other work instead of focusing on one thing at a time.
Be uncomfortable
As is commonly said, you only grow outside of your comfort zone. As a newbie, everything was outside of my comfort zone! Obviously as time goes on, you become more comfortable with the technology. At this point, you may find yourself being allocated tasks you already have knowledge of, preventing that consistent learning. To avoid this, I intentionally took on work which I had minimal or even no knowledge of. This was incredibly rewarding as it helped me upskill at a rapid pace. My overarching recommendation is that you should be prepared to ask questions and get used to feeling out of your depth. All. The. Time.
Be humble but not too humble
When I started working, I had no industry development experience to speak of. I had not worked with tools like Docker, Spinnaker, AWS and APIs. At this stage in your career (and as you progress) it is extremely important to remain humble and to listen, learn and absorb the gems of knowledge that experienced developers have. A wealth of knowledge and subsequent learnings exist in this space, allowing you to grow as a developer. However, it is equally as important to be confident in your abilities and to contribute to discussions just as anybody else would. You’re new, energetic and have a fresh pair of eyes. It is important to voice your opinions and contribute toward the success of your team.
Ask questions and engage
By questions, I mean high-level questions like “What is the purpose of CI/CD and what problems does it solve?”. Questions like these allow you to understand the history of development, why these tools are necessary and what their ideal use-case is. Again, this helps you grow as a developer and understand the full stack of technology you are using. I’d like to emphasise engagement here. By this I mean that before asking such questions, you should read up on them and have some baseline knowledge of what they are. Asking the question then fills in the gaps and helps cement these ideas. I have found this to be useful as it allows for more critical thinking on your choice of technology and eases any concerns you may have.
Temperature check with a senior
Make sure you check in with a senior colleague regularly in a one-on-one setting. This ensures that someone on the team knows your capacity and general state of being at all times. This allows for expectations to be set correctly and provides an opportunity to communicate how you’re feeling about the work you’re doing, the directions you’d like to go in and any general business questions you may have. Additionally, it cultivates a meaningful relationship from which you will undoubtedly benefit over the course of your stay in the company.
Enjoy the ride
Juggling both work and university can be testing but it is an incredibly rewarding experience. Development in industry is exciting and the promise of making valuable technology is inspiring. Take the opportunity with both hands, enjoy the ride and have fun!