I went to Community College of Rhode Island (00 - 05) and I enjoyed it quite a bit and felt, while I had some weird and unnecessary courses, I actually learned quite a bit. I recommend community college of those who can't get a traditional university education for financial, family obligations, or other reasons.
In 98, I started working for an internet company (right, when the internet was becoming commonplace), and in 2000, graduated from high school. I was admitted to the University of Rhode Island and didn't like it at all -- I was commuter and spent most of the time I wasn't at school at my job. I dropped out 3 days into my second semester.
I worked for several years at that company full-time going to night school 3-4 nights a week; I went on to become a junior developer at Berklee College of Music (building their online music school), promoted to senior, and then a manager of team there. Once I graduated from CCRI, I moved to Northeastern University and did the online program, which was quite new in 2006, and then to finish my final requirements, took them at night after I worked my 9-5 at Berklee. I'm now a Ph.D. student at Carnegie Mellon University -- a top-tier research university working on resilience engineering; I'm proposing this year and hoping to defend about 1.5 years from now.
I had to take a lot of weird course during my CCRI experience. I had to take introduction to computers in 00: the professor actually gave a quiz at the start of class each week and I would show up late because I worked a real job. I failed the first semester: one of the quizzes was on using the mouse. I also took introduction to the internet. However, I basically got an immediate A because the university bought internet access through my company and I was the contact. I had to take classes on Microsoft Excel, Word, Access, etc. I passed them. This is peak 2000.
By far, the most important classes I ever took were the following:
- Intro, Intermediate, Advanced C# programming. I never did C# programming before, .NET was VERY NEW and I we wrote a few desktop programs. The professor was hard; I got an A for building a CIDR subnet calculator, which no one understood because... hey, it was 2001. I didn't touch .NET until I got a research internship position at Microsoft Research in Redmond where I had to program C# and somewhat knew what I was doing.
- Advanced Databases. While I had to build everything in Microsoft Access, my professor made our project group go to another organization in the university, interview them about their problems, and build a database and form interface for interacting with it based on our interviews. This was the most real software engineering course I ever took, until I taught CMU-313, which is designed that way. Let me emphasize the time difference here: that course I took at CCRI was in 2002/3 and I taught CMU-313 in 2021. We need more of that style of course.
All in all -- do community college if that's what you have access to, work hard, work with your professors, and it will (hopefully) not be a limiting factor.
I should be clear
(as both someone who experienced this and as someone who has been involved in MS/Ph.D admissions):
Brown University admitted me as a "special student" and allowed me to take master's courses as long as I paid the $6k fee per course (in 2013), but when asked about pursuing an actual master's or Ph.D. level degree, I was told, rather disrespectfully, that there was absolutely no chance since I didn't have a computer science degree from a major university. Therefore, I had to independently seek out my own research opportunities to build a resume that would allow me to be admitted to an actual CV institution.
Therefore, I would say that if your goal is research focus on the more traditional path.
In 98, I started working for an internet company (right, when the internet was becoming commonplace), and in 2000, graduated from high school. I was admitted to the University of Rhode Island and didn't like it at all -- I was commuter and spent most of the time I wasn't at school at my job. I dropped out 3 days into my second semester.
I worked for several years at that company full-time going to night school 3-4 nights a week; I went on to become a junior developer at Berklee College of Music (building their online music school), promoted to senior, and then a manager of team there. Once I graduated from CCRI, I moved to Northeastern University and did the online program, which was quite new in 2006, and then to finish my final requirements, took them at night after I worked my 9-5 at Berklee. I'm now a Ph.D. student at Carnegie Mellon University -- a top-tier research university working on resilience engineering; I'm proposing this year and hoping to defend about 1.5 years from now.
I had to take a lot of weird course during my CCRI experience. I had to take introduction to computers in 00: the professor actually gave a quiz at the start of class each week and I would show up late because I worked a real job. I failed the first semester: one of the quizzes was on using the mouse. I also took introduction to the internet. However, I basically got an immediate A because the university bought internet access through my company and I was the contact. I had to take classes on Microsoft Excel, Word, Access, etc. I passed them. This is peak 2000.
By far, the most important classes I ever took were the following:
- Intro, Intermediate, Advanced C# programming. I never did C# programming before, .NET was VERY NEW and I we wrote a few desktop programs. The professor was hard; I got an A for building a CIDR subnet calculator, which no one understood because... hey, it was 2001. I didn't touch .NET until I got a research internship position at Microsoft Research in Redmond where I had to program C# and somewhat knew what I was doing.
- Advanced Databases. While I had to build everything in Microsoft Access, my professor made our project group go to another organization in the university, interview them about their problems, and build a database and form interface for interacting with it based on our interviews. This was the most real software engineering course I ever took, until I taught CMU-313, which is designed that way. Let me emphasize the time difference here: that course I took at CCRI was in 2002/3 and I taught CMU-313 in 2021. We need more of that style of course.
All in all -- do community college if that's what you have access to, work hard, work with your professors, and it will (hopefully) not be a limiting factor.