3 ms·
Ask HN: Becoming a hirable programmer
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.
- code_pockets 15y ago1. 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 15y ago> 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 15y agoContributing to your favorite open source projects is a favorite. I recommend checking out Google's Summer of Code, sounds about perfect for you.
- jnazario 15y agoi 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.
- robwgibbons 15y agoJust 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.
- glimcat 15y ago> Just build something. Experience is important, but there's sometimes an important distinction between meaningful experience and masturbation. For the beginner, hacking or re-implementing something you find interesting is a good place to start. Applying useful constraints to "something" as you grow in experience can be challenging for many people.
- a_a_r_o_n 15y agoWhat'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.)
- stingrae 15y agothank you all so much for answering.