

Ask HN: Becoming a hirable programmer - stingrae

Hello,
I am currently a student at a community college, where the programming courses have not given me the confidence that I could hold my own at an internship. I have taken all that the college has to offer in computer science (Intro c++, Advanced c++, Data Structures, and Discrete Math) I have already applied to transfer, but in the mean time, how do I make the next step? This summer is coming up, what kind of projects should I be doing to make myself competitive for internships. 
Thank you in advance.
======
a_a_r_o_n
What's the software service or app or tool that you most want to have, that
would make the hair on the back of your neck stand up when you say "I built
that?"

Build that. Or build a small piece of it. Or build a prototype of a small
piece of it.

In other words, build something, anything, that makes you want to get up in
the morning and skip school to work on it all day. (But don't skip school.)

------
code_pockets
1\. Pick one of the startups mentioned daily in HN. 2\. Build a clone (even if
very basic). 3\. Repeat.

Make sure to have some kind of online portfolio (github is fine), a place to
write about your experiences (a simple blog), and make sure to talk about the
difficulties you had (plus how you solved them).

Good luck.

~~~
glimcat
> Make sure to have some kind of online portfolio (github is fine), a place to
> write about your experiences (a simple blog), and make sure to talk about
> the difficulties you had (plus how you solved them).

I think the critical thing is to document your experiences for your own use.
It doesn't have to be in any particular form.

Online portfolios, open source, blogs, etc. can work very well - but they're
just modes of expression. Some people take to them very well and use them very
effectively, and that's great. But not everyone needs to have a coding blog.
It's just one arrow in the quiver, and you should focus your time and
attention wherever it will give optimal results _for you._

------
GFKjunior
Contributing to your favorite open source projects is a favorite. I recommend
checking out Google's Summer of Code, sounds about perfect for you.

~~~
jnazario
i whole heartedly agree, participate in one or more OSS projects. then, as
your hiring manager, i can see your code, your interactions with people
(bugfixes, code reviews, etc), and your interests. plus you'll learn a whole
lot, meet people, contribute to the world, and find out about good
opportunities.

------
stingrae
thank you all so much for answering.

------
robwgibbons
Just build something. The easiest way to learn is to do. In fact I personally
find fixing other people's bugs to be a terrible idea for someone wanting to
learn how to build things and learn more about the general field of software
development. It's a quick way to burn someone out, or make them lose interest
in the whole thing before they're even started.

Choose an idea, preferably something personally useful to you (don't spend too
much time on this part because ultimately it's the process itself that
matters) then build it. You'll need to pick a language/framework and build
something with it, so go with whatever you're most familiar with, or pick
something you're interested in learning.

In the process of building something, not only will you learn the general
foundations but you will inevitably create your own bugs and rabbit-holes
you'll need to learn to fix anyway.

At that point I would say it's a good idea to start contributing to open
source projects, fixing bugs, extending features, etc. But not before you've
reached some low-hanging fruit and built some self-confidence in building new
software.

