At my day job, I’m currently the Graduate Coordinator for Computer Science (CS) at Bowling Green State University (BGSU). As part of that program, we offer an Undergraduate Degree in Software Engineering (SE), a Graduate Certificate in SE, and a MS in CS with a Specialization in SE. Because of this, I get a lot of questions asking me about changing careers to CS and SE, with most inquiries coming from folks who have currently earned a degree in a non-CS major. Many also have advanced degrees, most frequently a MBA. The questions are generally the same:

  1. How can I make a career move to CS or SE?
  2. Should I get a second undergraduate degree, complete a certificate, or pursue a MS?
  3. How long will it take me?

What advice do I give about this?

  • Start building a portfolio. No matter what you do, start building a portfolio on Gitlab or Github). Personally I prefer Gitlab, but the choice is up to you. Build example projects, run through tutorials, and demonstrate that you can not only develop software but follow Software Engineering practices. Demonstrate your ability to branch and merge, to collaborate with others, and to leverage the DevOps tools like those available via Gitlab. In other words, show the world what you are capable of! One word of caution - don’t post or celebrate bad work. Keep repos of your work (and assignments) private until you are ready for someone to see them.

  • Consider attending tech meetups in your area. It’s never to early to start building your network. You need to meet other CS and SE folks for guidance, mentoring, and the sharing of skills. And you’ll make some new friends along the way! For instance, if you are in the Toledo area, checkout Toledo Tech Meetups and Toledo Web Professionals. You may also want to join professional societies with local chapters like ACM or IEEE. Whatever you do, make some connections! They may help you in the future, and you may be able to use them to connect others later on.

  • A second undergraduate degree takes more time, though it is more thorough. For instance, at BGSU the core courses alone for the BS in SE count for a total of 52 credit hours. At a full time load of 16 credit hours, that’s a bit over three academic semesters, which is far too long for most professionals. Would it be worth it? Absolutely! Getting that complete education would make you a potentially excellent SE professional, but normally the time/cost trade-off doesn’t work out for those who already hold degrees or are working full time.

  • A SE certificate or micro-course is a good start towards an official credential. Courses in a certificate typically mimic those in a specialization or SE degree. This means that by completing a certificate you are well on your way towards becoming a SE or joining a MS program. Many certificate programs also offer special value adds such as guaranteed admission to the MS Degree after completion or something similar (this is the case at BGSU). With many certificates being roughly 12 credit hours, your almost halfway to a degree anyway (at least in Ohio)!

  • Look for transitional courses. While many programs assume an academic or professional background in CS, SE, or a related field, many programs also offer transitional courses. For instance, in CS at BGSU we offer CS 5010: Fundamentals of Programming and CS 5020: Fundamentals of Computer Science as online courses during the summer. The courses don’t count toward the degree, but will give you the fundamentals you need to start a transition,

  • The MS in SE or a MS in CS with a SE specialization is a much stronger credential. Why would that be? The program is longer, requires more development of mathematical and SE skills, and requires the ability to complete some type of practical or research-based project resulting in reports, presentation, and, generally, working software. This means that your technical depth/breadth will increase and you will also spend time focused on growing problem solving, research, and communication skills. Many potential students don’t consider this, but one of the greatest value adds of graduate level education in STEM is improving these non-technical skills. In addition, many employers expect that those with advanced credentials will move up the corporate ladder and take on responsibility more quickly than those without these skills.

  • Look for a program that meets your needs in terms of offerings. Regardless of the program you choose, make sure that it fits you. Online, evening, and full-time classes should all be options with many being offered in multiple formats over multiple semesters (Fall, Spring, Summer) in multiple formats (6 weeks, 7 weeks, 12 weeks, or 15 weeks for example). If you like more personalized support, choose a regional College or University that you can visit or, at the very least, choose a program in a similar time zone so that hours of access to instructors are available

  • Look for a program with strong industrial ties. Your end goal is a new and better job/career that will improve your life and the lives of those you love, so make sure you’re in the right place to get one. Most CS and SE departments have industrial advisory boards, so find out who the members are. Ask where the graduates find jobs. Ask what percentage of the graduates find jobs. Do graduates typically find jobs regionally or nationally and which do you prefer? For example, graduates from the CS program at BGSU tend to be hired by regional employers like Progressive, Nationwide, Hyland, Medical Mutal, Marathon, Honda, HMB, Accenture, and many others.