
Ask HN: Portfolios. How little is enough? Does the type of content matter? - ElongatedTowel
Short preface. My life didn&#x27;t go so well (my own fault). I&#x27;m not that young anymore, have barely worked in my life, school didn&#x27;t go so well, had to teach myself most of the stuff I know about programming. My friends think I&#x27;m pretty good and always seem to reassure me that I know far more than most of their friends who actually went to a university.<p>Because most of my problems stem from lack of motivation, focus and too much perfectionism. I fear the thought of being asked &quot;Show me what you&#x27;ve created&quot;. It doesn&#x27;t help that my friends think I&#x27;m a good programmer if I can&#x27;t prove it.<p>But it&#x27;s not that I&#x27;m not writing code. It&#x27;s just that I&#x27;m usually tearing down what I&#x27;ve created. Like drawing on paper, then throwing it in the trash (no matter if it&#x27;s good).<p>There is stuff that motivates me. Game development. Procedural generation. Visualization. It&#x27;s just not that related to jobs I could have a chance of getting (like web development), if there is a chance anyway.<p>I had the idea that I could write example implementations and visualizations of algorithms used in procedural generation. Tufte-like. Perhaps a bit more in-depth than what is on the net already. I figured it has certain qualities that appeal to me, like being kind of modular. I can write one piece without having to worry about the next one, or having a tower named &quot;things to do&quot; in front of me. It&#x27;s also not that much code, rather the code that needs to be written has to be clean and concise.<p>Would that be something I can put on my CV? If so, how &quot;much&quot; should there be so it doesn&#x27;t look like &quot;Hey that guy wrote 10 lines of JavaScript&#x2F;C++&#x2F;whatever and thinks we hire him&quot;. Even if I was happy to just get an internship.
======
lollipop25
> It doesn't help that my friends think I'm a good programmer if I can't prove
> it.

Get an open source project, and contribute or start your own and keep yourself
motivated. Documentation is scarce on any project, so you could start there.
Learn the project as you go. It won't be long before you start addressing
issues in the issue tracker, become curious with the code and eventually do
some pull requests and be an actual contributor to the codebase.

> too much perfectionism

This is perfect. Code quality in some OpenSource projects are terrible,
really. It may need your perfectionism in code quality, optimizations etc.
Trust me, I'm one. I love code reviews because I'm that kind of guy. Just
prepare to make a stand as to why your code is better.

> There is stuff that motivates me. Game development. Procedural generation.
> Visualization. It's just not that related to jobs I could have a chance of
> getting (like web development), if there is a chance anyway.

There are corners in the web development world that need visualizations.
Especially in the data gathering age, people need to make sense of all the
data they have gathered. Learn charting and graphing libraries like D3. Learn
vector graphics libraries like Raphael. It's not really that far off.

> I had the idea that I could write example implementations and visualizations
> of algorithms used in procedural generation.

Create a blog. Write some code, even 10-liners. Pick them apart, show why it's
wrong, why it's right, what is better. From what I see, you "specialize", and
that's a good thing. There's this one front-end developer I know where every
few days in a week, posts small snippets of CSS trickery that you couldn't
even imagine possible (building animations, 3D stuff, just CSS). It's not
really useful, but it shows the person is really into that kind of thing.

> Would that be something I can put on my CV? If so, how "much" should there
> be so it doesn't look like "Hey that guy wrote 10 lines of
> JavaScript/C++/whatever and thinks we hire him".

Everything I said above:

\- Learn a few tricks, library or no library at all.

\- Write a blog about that. Pick code apart.

\- Contribute to an open source project.

