Hacker News new | past | comments | ask | show | jobs | submit login
What is the easiest barrier to entry as a self-taught programmer?
5 points by HiroshiSan 3 months ago | hide | past | web | favorite | 16 comments
I'm currently studying computer science at university (2 years left), to say the least, I'm not enjoying it, but I do find programming interesting when I explore interests on my own.

Right now I'm really into C and want to dive deep and learn the language well. That being said I also want to make a comfortable living that can allow me to afford my other hobbies.

How can I start transitioning away from school so that I can start working full time as a developer as soon as possible?

The reasonable answer seems to be to just suck it up and finish school, anyone have any other ideas? Is it worth dropping out?

I'm okay with not being a ninja rockstar 10x programmer, I just want to be "average", decent enough to maintain a stable career as a developer, while allowing me to pursue my other interests.

If just 2 years are left. Then don't bother dropping out!

Life is easier with a degree. It's not necessary for success tho.

Even if you pass with medium or low grades, it would be quite ok.

It's worth dropping out when there is better opportunity in front of you for example if you are working on a project which you feel is guaranteed hit.

I hated school when i was there now when i revist the content, it seems soo easy!

I was simply lacking motivation back then. When i worked on my own projects, i learned faster and did Ok based on gained knowledge.

You are not enjoying school because you don't see how it's going to help you. I also didn't see.

All you need is a project which motivates you and then the real learning will start!

Yeah that's what I figured, if I had something lined up the decision would be easy. I'm very used to running away from things that are "hard" relatively speaking. I guess it will be worth finishing just to finishing something somewhat significant.

And in a fun twist, what you mention is 99% of the reason for 99% of degree requirements on a position (yes, some positions truly do require years of specific background education) -- it's the best evidence a company has on an inexperienced person that the person can persevere.

As someone who entered the field with a non-CS degree, I can tell you about my own experience. I graduated with a degree in the hard sciences without any programming experience and now work at one of the big tech companies. If I had to do it again with programming in mind, I would absolutely take computer science in school and do as many internships as I could to gain work experience. With a STEM non-CS degree it was an uphill battle for many years, and it would have been even more so without a degree at all.

I also never want any additional reason for a potential employer to pass on my resume, and not having a CS degree is potentially one of them. I have been able to offset this with the classes I've since taken and fortunately the name recognition of my current company, but it would have been nice to have had it from the start. You mention wanting a "stable career"; the degree can help with that.

> I'm not enjoying it, but I do find programming interesting when I explore interests on my own.

I don't think dropping out would let you explore interests on your own, especially when you're faced with bills to pay. My recommendation would be to finish school and explore your interests in side projects, open source contribution, or internships if you're able to.

You should probably start cranking out code, either via personal projects, or work-related projects.

> How can I start transitioning away from school so that I can start working full time as a developer as soon as possible?

These people either 1) get internships with a decent salary while in school, and just dropout or 2) build their own side project into something with cashflow, then dropout

> I'm okay with not being a ninja rockstar 10x programmer, I just want to be "average"

Frankly, you'll have to change this mindset if you want either #1 or #2 (which I mentioned above). The folks who either dropout due to amazing internships, or because their side gig has taken off are usually pretty good programmers. Not "balls-to-the-all amazing", but definitely better than average

My suggestion: Stay in school. Learn the fundamentals (e.g., C), but learn how to sling code around at the same time (e.g., React, Python, etc). You'll get your shot in due time.

Would you say that web development is an easier barrier to entry than most other sub fields?

Which part of web development? I know it sucks that I'm answering your question with a question, but learning the stack is crucial in any field on dev work. Example: web dev can be frontend (what you see a lot with React : UIs, UX), or backend (what you see with Python or Go : APIs, middleware, databases).

But to answer simply yes waits for rock to be thrown, web-dev is something you can get started with right this second. Just download react js (frontend). Get started with either Python/Go (maybe Python will be faster to learn), and then just start throwing things together.

I would finish your degree, you won't regret having it and it will open some doors for you.

Getting a degree is hard, it's work that is why not everyone has one. You learn lots of things at university that will help you later that are unrelated to your degree. So dig in study hard, play hard and enjoy your time there. It's some the best times of your life.

As far as making money. I would start learning Rails or Laravel, there are lots of web application positions out there making web applications for businesses. These pay really well, you can work remote or even have your own consulting business.

You might also find StartupsForTheRestOfUs.com interesting, start in the archives. I don't want to sell you a dream of having your own lifestyle business but it's definitely possible.

> Right now I'm really into C and want to dive deep and learn the language well.

You can't learn C in isolation. Even though C is full of surprising and unexpected behavior, it is a very simple language. Great C programmers didn't study C. They studied computer architecture, compilers, algorithms, and operating systems. The power of C only reveals itself when you gain a deep understanding of how the computer works.

University is a good place to gain that understanding.

If you'd rather work on web stuff then you probably don't need to understand any of it. Learn a popular language and get to work.

As a hiring manager, our company requires a degree in IT, Engineering, or CS. I would highly recommend that if you want to work as a programmer, having the degree will help you get in the door at companies.

>Is it worth dropping out? NO if >I just want to be “average”

because you would put yourself into a self-dug hole that needs more fuel and attitude than that

Thanks for this comment, I never thought about it like that.

By working as a contributer for an Opensource project, you can learn to communicate, design, develop and explain a project.

After that you can work in a small time.

Do you recommend any resources on how to contribute to open source projects? I've only just learned how to use git this year and just barely.

I am not a rockstar either but I've worked in a small team and delivered a few successful projects.

First, you need to find something which interests you.

I am not on nerd level, so i never created projects like compilers or other heavy programming stuff.

But more like products which help people automate business tasks.

Most GitHub projects have a page on how to contribute so you can follow that.

Take a look at github issues and see how people communicate and work together.

Other than this, i am also looking to develop an Opensource project, see: https://news.ycombinator.com/item?id=18607244

It includes most of the things that a person will end up doing at a startup (SaaS focused)


Applications are open for YC Summer 2019

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact