I'm an IC here at a Canadian ecommerce giant early in my career.<p>I initially started my degree in CS but failed out afterwards because of mental health and financial problems. I finished my degree though in something unrelated.
I live in Canada.<p>I'm thinking of going back and doing a second undergrad in CS which would take roughly 2 years to finish. I think promotions are limited at my company which is why I'm doing this especially with the shit show that is the current job market.The alternative is to get into a masters program but even that is hard for me to achieve with my shit CGPA. People have recommended OMSCS at Georgia Tech, but tbh I don't know if I'll be accepted.<p>The school I'll be doing my second degree at is a no name school.<p>Why am I doing another undergrad? Qualify for a TN visa, move to the US more easily, have some semblance of stability in life<p>Cons: I'm ending up with most likely the same job in the end.
Last I understand, you will need a live job offer before you can qualify for a TN visa. I think that's more important than the degree since you already have one even though it's not in CS.<p>My advice is for you to contact an immigration lawyer and get the qualifications to start. Also, take the time to solidify what you want in your career before you decide that you need more school. BTW, don't expect to have a tech job all your career. As you get older, employers look for younger candidates. Some deny that but it's a reality not everyone wants to face. Plan for that.<p>From my point of view, experience is way more important in a job search than a CS degree. A CS degree guarantees you nothing, in terms of a job, since you get a general education in CS fundamentals. You will need more knowledge to get a job unless the employer is willing to train you. A master's degree is very limited as a way to get a better job in tech. You only need it if the job requires it. Teaching is the only job, I can think of, where it might be needed.