Advice for Continuing with Second Degree
I quite like my job at the moment (public sector data analysis, with experience programming in R & SQL) and am not willing to quit to study full time, but would like to move into a software development role. Although I'm doing well enough in the one 4 credit course I'm taking, my mental health is not at its best and I'm finding it very difficult to manage work, school, and life. The program I'm taking is great, UBC has a top notch CS department, but it must be completed in 4 yrs.
The concerns I have are 1) getting burnt out, and 2) finishing the degree without having relevant work experience/a portfolio due to only having time for coursework. Another bachelor's degree takes a long time, especially part time, and I'm wondering if, given I (think) I have some aptitude for programming, my time would be better spent putting a dent into that 10 yrs of learning by doing that Norvig talked about. I would do this by working on large open source projects, reading lots of code, and studying (at a more manageable pace, from good sources like those on teachyourselfcs.com) CS theory. The thing holding me back from forging my own path is the worry that I would never be taken seriously without a formal education in the subject.
Any advice/thoughts would be greatly appreciated!
3 comments
[ 4.0 ms ] story [ 20.2 ms ] threadI'm happy that I made the decision that I did, but I had already been pretty heavy into self-learning for years before going back to school. I could see both approaches working, but I felt more comfortable getting my foot in the door as a developer with the degree.
Working full-time while working towards your CompSci degree sounds rough! I didn't even try it.
Not sure how helpful that is for you, but I wish you the best of luck.
I tend to do well with watching videos as a way to get familiar with new tools, stacks, languages, concepts, etc. Then I need to get my hands dirty. For my first few years learning programming, I went pretty deep on personal projects.
Additionally, I've always had an interest in the ops side too, so I got comfortable with stuff like Docker and Linux pretty early on. Having a general sense of how your software gets built and deployed really helps, in my opinion.
The biggest thing for me was building up the confidence that I would be able to figure out whatever was thrown my way. Between my self-learning and internships, I stepped into my first job after school with enough confidence to really hit the ground running. That mindset continues to be an asset now.
My CS program was heavy with theory, so it was important for me practice building software the whole time. This is probably the biggest reason to avoid juggling the degree and a full-time job in my mind. Your coursework will keep you plenty busy on its own, let alone doing your own personal learning and projects!
Regardless of the approach you take, I wish you the best on your journey! I love talking about this stuff, so I'm always happy to share my experience.