

Ask HN: At what point am I a useful developer? - danilocampos

I've got about a year of procedural C under my belt, along with two years of Objective-C in the jolly realm of iPhone/OS X development. (Where else?)<p>I'm self-taught but I can build things on my own. If we look at the spectrum of developer skill as starting at "Cut-and-Paste Crap Cobbler" and ending in "I can write a filesystem," I'm probably about one quarter of the way in. I've imagined, built and shipped code that users have used.<p>I like the barn-raising feeling when your code starts to mesh together into a working system. Hacking is definitely fun -- enough that I've been doing it for hours a day for the last couple of years.<p>So at what threshold do I pass into being a useful developer? Is there a way to approach it faster? What do I do with my career once I am useful? Building someone else's boring stuff seems like it would kill the fun I have building things for myself.
======
biotech
You have a few years of programming experience, and you are aware that that's
not a lot. It sounds to me like you are useful _now_.

On a team with more experienced developers, I'd probably have you working with
parts of our test suite and the build system. Of course, you'd have to
understand object orientation, which I can't assume from your description.

~~~
danilocampos
I mean, maybe I'm talking out of my ass here but can you really learn any sort
of software development these days without also picking up OOP? In the
beginning I knew OOP existed and was a good idea but it took the better part
of a year to really grasp how to make the best use of concepts like
inheritance and separation of concerns.

With enough practice, though, it just becomes part of the fun -- building
tidily organized systems, refactoring the code into specific objects to iron
out redundancy.

I'm weak on TDD, though. I have a hard time getting excited about writing unit
tests.

------
alexkiwi
Useful is a very broad term. My definition would be,once you can take a
problem (whether it be your own or anothers) and solve it through code, your
useful. Even if it is small, it's still useful

~~~
danilocampos
Hmm, okay, that's fair. But what about all the issues of code quality, modular
architecture, and anything else that would make you a developer someone else
would want to work with?

When I first got started on the iPhone, for example, I could solve certain
problems through code, but that code was _crap_. I cringe to look at it now.

~~~
olalonde
I would suggest reading a book on "meta" programming. Code Complete would be a
good starting point.

~~~
danilocampos
Thanks for the guidance. What benefits might I enjoy from meta programming?

