Ask HN: Am I good enough for a developer internship/job?

11 points by coralreef ↗ HN
I'm about 1.75 years into learning software development. I went to business school but figured I wanted to be in technology, so I started with developing iOS apps.

I've shipped 2m downloads since starting, and I make an average income from my apps. I would like to learn more and code more by interning at a startup.

The problem: I don't know a lot of things. I don't know terminal, git, any semblance of code review or QA, etc. I don't know a lot of CS fundamentals. I've always just hacked what I need to get my product working. I cut corners, use open source, paste StackOverflow. If I had to do a coding test or hold a technical conversation, I might embarrass myself.

Am I too green for an internship? Am I the wrong type of person for a developer role?

13 comments

[ 3.5 ms ] story [ 40.2 ms ] thread
First off keep on learning. You just listed areas you are weak at, I would suggest you buy some books or read websites on those technologies.

Take some online resources http://www.noexcuselist.com/ and learn what you can on your own time. When you work you won't have much time to learn, because you will be coding.

I worked with interns, and tried to teach them how to program and use tools associated with programming. Sometimes management didn't like me teaching them and decided to make them move boxes around instead. I just had one Intern from 1999 contact me on LinkedIn that I helped and he seems to be doing well. The law firm I worked at decided to make him move boxes and do manual labor after I tried to teach him how to program. So it really depends on management and your work environment.

Trust me if you don't know data structures and algorithms, your code won't be as good as someone who knows how to use those things. It is never too late to learn, I am taking a course on algorithms right now and I am 45, learning all over again as I forgot because I was disabled and out of work for a decade.

Good luck and never stop learning, technology changes every day, learning to adapt to change is what makes you a good programmer, learning from your mistakes and learning new tricks of the trade makes you a better programmer.

I would say you could fit right in, especially if you started in a company that works on iOS apps directly- you could prove your capabilities by showing your completed projects.
No, I don't think you are the wrong type of person for a developer role. You're obviously engaged in building things, and your portfolio of work can speak volumes. You could always show off your work and mention that it's profitable, and some interviewers might forgive your lack of experience when they actually watch you code. Alternatively, you could start by volunteering at a startup and gaining the relevant experience, or take a course from a school like Coursera, General Assembly, or your local university which will teach you more formal principles. Hope this helps.
Arrange some interviews with companies that look cool. Then just say all that in the interview. Many will want to hire you :)
"I've shipped 2m downloads since starting"

You're ahead of almost every new CS graduate they'll see in that regard. I mean, CS fundamentals do matter and many companies will really need to see them. But no you're not the wrong type for a developer role, you can ship stuff.

Terminal (bash shell) and git are comparatively easy to learn. You can learn very basic functionality with those in a weekend... so no real downside to picking those up -- http://gitimmersion.com is good for git. CS fundamentals like algorithms and data structures are obviously another can of worms. Luckily, while knowing them will give you a far higher ceiling as a developer, they are not always required to contribute to a project in an employable way (depending on the company). So you could definitely get hired as an intern and then dedicate yourself to going back and learning the CS fundamentals over time. I'd say you would want to make it one of your primary personal goals over the first couple of years if you want to really get the most out of your potential in the industry. But it's not a barrier to entry.
I am just completing my first internship at Intuit as a software development intern working on turbotaxonline, after only 2 years in the Cal Poly SLO computer science program. Before college I had no experience in programming at all, and before the summer I had no experience in web dev. So it doesn't take all that much experience to be able to function in an internship, you just have to be driven to learn and teach yourself.
>"I've shipped 2m downloads since starting"

I know a boss who just hired someone with 2 masters degrees that hasn't done that much.

You're fine. Keep killing it.

Hey there - sorry to not answer your question directly. Just commenting here. Very happy to see how positive the responses from others were. Makes me feel very good about the community here on HN. Take that as a sign. You can learn more by just continuing to ask and be curious.
I'm in a similar position, wrapping up with a BBA in Entrepreneurship and BS in Economics in December, but only about 3 months into learning to hack. Do you have any tips? Links to the stuff you've built?
Build stuff, ship stuff, get users. Debug your own problems as far as possible. Learn how it actually works (well, building stuff fast kind of requires you to gloss over how it exactly works, but as you can see not having CS fundamentals is holding me back).

Follow tutorials, use that code as a base to ship a related idea.

All good points, thanks! I hope you keep us all posted on your progress, it really is cool to hear that someone with a biz background can get shit done!
"I never commit to memory anything that can easily be looked up in a book" - Albert Einstein

All of us who program for a living use google,stack overflow,...etc. Keep your reasoning skills sharp, and you are a perfect fit for developer role.