Need Suggestions for My Learning Plan and Career Options

Hi, everyone, I need some suggestions for my programming learning plan and career options. Thanks in advance for you help.

About myself

Last fall, I obtained my PhD degree in Education from a university in Canada, and then have been working as a part-time quantitative researcher and sessional instructor in the small city where the university is located till now. My contract for this position will end in February or March next year. I’m not a Canadian citizen or permanent resident (PR) yet. My PR application is still under review, and it will take me about another year or longer to give a result. My status now in Canada is as an international worker with a three-year work permit.

I’m seriously thinking changing my career to software engineering area. I feel a passion in this area for a long time, but in my late 20s, I felt that it might be too late to change my career, too late to learn a bunch of new skills. But after I obtained my PhD last year when I was 32, the “too late” thoughts disappeared little by little. Now I feel, I’m running out of my time. I should hurry up to have a try in the field I feel passionate about. I want to change my career because of many reasons and passion is not the most important one. If you are interested, you can see my reply to this post.

As an international worker with a work permit, there are some barriers for me to access education in Canada. First, I cannot go back to school for part-time or full-time programs unless I give up my work permit and apply for a new study permit (you cannot take on campus courses under a work permit, and you can only work for limited hours under a study permit). I don’t want to do so because I need a job to support myself financially. Also, permit change, school application, and on-campus learning can be very time consuming. Second, the tuition fee of university and college programs for international students or workers is 3~5 times of that for PR or citizens, which is not affordable for me.

Good thing is that I can learn through fully-online programs, for which a study permit is not required and many fully-online programs does not have extra charge on international workers or students (Many universities put their course offerings online nowadays due to COVID. But these course offerings are still deemed as on-campus courses because these programs can be turn back to a on-campus status when pandemic is over). So, online programs / courses will be my first choice.

My learning plan

Although I had coding courses (some c++ and visual basics) in high school 15 years ago, they were just introductory courses and I forgot almost all of them. In the past ten years, as a quantitative researcher in education area, I’m okay with math and statistics but I don’t know whether this knowledge can contribute some to my new learning journey. Learning to be a software engineer, I think I have to learn from scratch. The following is two tentative learning plans I made for myself, on which I’d like your opinion.
Plan A

Step 1. Computer basics. As I have little knowledge in computer science, I feel I have to learn the computer basics. The materials I would like to use is the CS50 Introduction to Computer Science by Harvard University on Edx. The learning time for this course is about 220 hours. I would like to pay 242 CAD to get a certificate for this course. This course is about the basic knowledge on abstraction, algorithms, data structures, encapsulation, resource management, security, software engineering, and web development. Link: https://www.edx.org/course/introduction-computer-science-harvardx-cs50x

Step 2. Web development. In this step, I would like to sharp my web development skills. The material I would use is the CS50’s Web Programming with Python and JavaScript by Harvard University on Edx. The learning time for this course is about 120 hours. I will also pay 242 CAD for the certificate of this course. Topics in this course are where CS50 leaves off and include database design, scalability, security, and user experience. Link:

Step 3. Learn more about python and javascript on free code camp or udemy. I’m afraid that the knowledge about the two programming languages in step 2 is not enough. I will check freecode camp and udemy to see what I leaves off on these two languages to make myself job ready.

In step 2 & 3, I will also try to do some personal projects and put them on my resume.

Step 4. Engaging more in the communities. I already have personal account on github, leetcode, and stackoverflow, and will use these websites in my learning process from the first day. After step 1, 2, and 3, I will try to engage more in the communities on the three websites. I mean, learn more from them, do more practice on them, and help more people on these websites

It will take me about half a year to reach the step 4. I will update my resume and prepare for the interview along the journey. Then I hope to land an entry level job.The following are my questions till now.

Q1: How about the 4-step learning plan?

Q2: Without a degree in computer science and with only the 4 steps learning, is it possible to land a job? I mean whether the HR will decline my application because of my degree, especially in a Canadian context?

Q3: What kind of entry level job should I seek for (front end developer, back end developer, full stack, or QC/QA (quality assurance/control)? And what else should I learn for that entry level job? I really hope that the new job is not so overwhelming so that I can have a smooth transition from academia to the new area.

I will continue to learn in my work and spare time after the job. At the same time, I will try to apply for a degree in computer science.

Step 5. I’m thinking to apply for the online master of science in CS program (OMSCS) of Georgia Tech next year (the application deadline for fall 2022 is March 10, 2022). I need a degree because I find many jobs asks for a BS in CS. I hope to have more opportunities with the online master degree. Also, I think I need more knowledge in computer science and software development. I choose OMSCS because it is affordable (7000 USD for the program), flexible (fully-online and one can finish the program in up to 6 years), time saving (I only need to finish about 10 courses to get the degree), and prestigious (although it is an online master program, Georgia Tech is prestigious, especially in majors like computer science). They accept students with a bachelor degree from other area as long as they can provide proof that they are academically ready for the program. After step 4, I think I can meet their requirements.

Q5: I like your opinions on my step 5. Do you feel a bachelor degree in computer science or software engineering is better than OMSCS program? If so, another possible choice for me is to apply for some online bachelor degree. But there are not many online bachelor degree and it takes longer to finish the BS program.

Plan B
Another possible choice for me to apply for a competency-based online bachelor program. In a competency based program, I can pass the course as long as I prove that I master the competency, and I can finish the program in shorter time, like the program in Western Governer University. My university experience can exempt me from some general education courses and I can finish the program within about 1 or 1.5 years.

Q6: Do you feel plan B is better?

Thanks very much for your help!!!

Hi @LeeCode !

Welcome to the forum!

There is a a lot of information here :grinning:

I am just going to offer my point of view as someone who started learning how to code a year ago and currently working on building portfolio projects.

I took this course when I first started and it is a great course.
They offer a free certificate as long as you pass the course.
Don’t pay for a certificate through edx.

As for the time listed on the site, that is just an estimate.
It is a 10 week course.
It varies from person to person on how much time it takes to complete the course.

I personally didn’t do this course but there are a lot of good reviews for it.
I would also advise you not to pay for the course.
When I was first starting out, I was like you and thought I had to pay for all of these online certificates so I can show them to employers.

But a lot of professionals have said that employers are not going to place a lot of emphasis on online certificates.
It is more about the knowledge and what you can build.
The only certificate they will really look at is a CS degree.

In my opinion, you will learn the most by building your own projects.
That is the best way to apply the knowledge you learned from all of these courses.

I did a few of the FCC courses and a couple udemy courses.
That was a great introduction into the fundamentals, but for me, the greatest learning was in the form of building my own projects.

That is an absolute must. :grinning:

In my opinion, you are never to early to start being active in a community.
You don’t need to be an expert to help some one in need. :grinning:
Start getting involved now.

I got involved with the FCC forum two months into my learning.
At that point, I just knew some basic html, css and javascript.
My approach from day 1 was to be genuine and lend a helping hand where needed.
Because of my involvement on the forum, I landed my first freelance gig. :grinning:

There are plenty of discords, forums, chats, twitter, etc to get involved with.

I can definitely tell that you are careful planner.
A word of advice, you will need to be flexible with your game plan.
Life happens and things will come up (both good and bad)

Just be prepared to make changes to the game plan when necessary. :grinning:

As for your other questions at the end, that would be best answered by one of the pros :grinning:

Hope that helps!

1 Like

I want to change my career because of many reasons and passion is not the most important one. If you are interested, you can see my explanation here: https://www.reddit.com/r/cscareerquestions/comments/o1iz7h/need_suggestions_for_my_learning_plan_and_career/h238u86?utm_source=share&utm_medium=web2x&context=3

Thanks veru much for your response, and it does help me a lot and add my knowledge!!

You said that the employers care about the certificate in CS. So I add a plan B. I’d like your opinion on that.

The link for the program I mentioned in plan B is here:

I am not really familiar with western governors university.
So I can’t really comment on how that program would be perceived by employers.
Hopefully, someone in the industry can comment on that specifically. :grinning:

I see. Thank you very much for your prompt reply. It’s very helpful. Have a nice day~

Hi Leecode.
I will give my suggestion, based on what you said: “I want to change career for many reasons and passion is not the most important one.”

Since you have a PhD (even if its not so quantitative) plus some experience. I would recommend you to consider the data science path. It will take you one year or two with formation (or even without it) and its more" in business" with your profile.
However, this suggestion its dependent of your skills, consider in what field you are better (remember the market is competitive.)
Discerning the path:
You can begin learning the basics of python, while at the same time watching the possibilities (cybersecurity, Software development, data analysis etc.) Learn about the different roles. And then discern if you are more statistically oriented, or more computer science oriented (Statistics will help you in Data analysis and Machine learning.
If you don’t like math, then coding could be your path. If this is the case, don’t go for another degree, learn Python Djang, Java script, Node. js instead. This transition seems more difficult and the journey is more long.

This topic was automatically closed 182 days after the last reply. New replies are no longer allowed.