Ask HN: How do you maintain balance between learning and building stuff? - shekhargulati
======
rhonsby
I often find that building stuff just so happens to be the best way to learn
stuff.

~~~
matt_the_bass
Agreed. I often even go so far as pick a specific project because of what I’ll
need to learn. This is especially so for projects outside of my day job.

------
oblib
I divide the two missions into "need to know" and "want to learn" and focus on
producing when building something.

For example, I needed to learn how to use CouchDB to upgrade a web app I
maintain so I spent the time necessary to get that done by working on it a
piece at a time and learning what I needed to know as I went along.

CouchDB does a lot that I didn't need to do, and while I want to learn more
about some of it, and will get to that, I didn't need to learn about it all
in-depth to be productive and get the job done.

I wanted to learn a bit about using HTML5 animations to create graphic gauges
for digital sensors so I spent enough time narrowly focused on that until I
reached a point that accomplished what I was wanting to do.

What I ended up with was a hack because the first thing I did was look for
existing code examples and libraries to interface with the sensor I purchased
(a magnetometer). This approach allowed me to prototype a digital compass very
quickly and gain an high level understanding of what's necessary to accomplish
that, and it worked surprisingly well.

------
sjtgraham
By building things I don't know how to build.

------
AnimalMuppet
Find _appropriate, helpful_ new technology to bring into your projects. Not
just some cool-sounding new thing - something that will add value to the
project. In doing so, you learn that new thing.

Don't do everything new - you don't get anything done that way, or at least
not very fast. Instead, bring in one or two new things for a project. This
lets you improve your own skills _and_ improve the code base.

Let me emphasize again that this has to be done with technology that is
appropriate to the project. It requires good judgment (and even a sense of
taste) to do this well.

------
tfolbrecht
I suppose you're talking about software development.

When people use the word building like this it reminds me of that episode of
Spongebob where he taps a block of marble once and out comes Michelangelo's
statue of David.

If you're critical of your own work, building things will push you into deeper
into your craft and into other domains.

How much to learn? Just enough to start with the use of references and
examples.

------
goldfishparty
I complete toy code problems on kata sites. It allows me to exercise producing
code, learning techniques, and reviewing other's code to learn more.

This helps for building a solid foundation in a language, but greater mastery
usually requires project work. I'm not too great at balancing this part out
yet.

------
asnyc
IMHO its all about time management, proper planning, and your passion for
learning.

You may schedule some time for learning specific stuff every day - Avenues
such as Coursera can enable this easily.

------
twobyfour
I learn things when I need them to complete or improve the stuff I'm already
building.

------
ajohnclark
I do a Beeminder goal that uses RescueTime to measure time spent on
Coursea/learning websites for an hour or so per week per site (doing 2 sites
ATM). Work the rest.

