I would recommend against dropping.  It sounds like you are more interested in <i>Software Engineering</i> than the more academic <i>CS</i>, so if you could transfer into such a program, I would do that, if you really think you can&#x27;t deal with CS any more.<p>From your description above, your ambition is to work at a big company, which pretty much by definition is working on big projects.  CS will give you (some of) the tools, the ones you say you&#x27;ve never needed in your small projects, to deal with these big projects, and they are the kind of thing that a big company would find appealing in an applicant.  I think you will learn those things much better in a university setting than on your own, and at the end you&#x27;d have the credibility to back up such learning.<p>Another note is that communications skills are important for working with others, as you&#x27;d have to do in a big company.  I have to mention that in your post title, you should have written &quot;Please advise me&quot; (an &#x27;s&#x27;, not a &#x27;c&#x27;), and your conclusion should be &quot;What is your advice, HN?&quot;<p>Finally, I think that you might find the work world to be at least as hard to deal with as university.  Persisting with CS (or an alternative) would be better than dropping out and taking your chances on a purely self-taught skill set.