Hacker News new | ask | show | jobs
by gavmor 379 days ago
> Nobody tells this to people who are beginners, I wish someone told me. All of us who do creative work, we get into it because we have good taste. But there is this gap. For the first couple years you make stuff, it’s just not that good. It’s trying to be good, it has potential, but it’s not. But your taste, the thing that got you into the game, is still killer. And your taste is why your work disappoints you. A lot of people never get past this phase, they quit. Most people I know who do interesting, creative work went through years of this. We know our work doesn’t have this special thing that we want it to have. We all go through this. And if you are just starting out or you are still in this phase, you gotta know its normal and the most important thing you can do is do a lot of work. Put yourself on a deadline so that every week you will finish one story. It is only by going through a volume of work that you will close that gap, and your work will be as good as your ambitions. And I took longer to figure out how to do this than anyone I’ve ever met. It’s gonna take awhile. It’s normal to take awhile. You’ve just gotta fight your way through. (Ira Glass)
3 comments

>For the first couple years you make stuff, it’s just not that good.

Sadly, that's why I don't start a lot of things that would interest me. You need to get into things when you're a kid and don't realize how junk your work is, because as an adult you just don't have time to dedicate to producing a lot of junk to get good at something. The are shortcuts and more directed learning you can do in a lot of areas to reduce some of the undirected learning you do as a child, but it's till time consuming when time is a rare commodity.

I like to do a good job on small stuff.

It works nicely for me, but doesn't really bring accolades (but a hell of a lot of folks actually rely on stuff I authored; they just don't know it, or care -which is just fine).

We cannot build great things on poor foundations

If your small stuff contributes to a strong foundation for other people, then they should care

It's a shame people lose sight of the ground beneath their feet when reaching to the sky

I'm very guilty of this too, partly because any time I try to look down the people I work with rush in to discourage me from doing that - it's not part of the sprint, after all

Anyways, I am not sure what stuff you build, but thank you for being the sort of person that builds strong foundational stuff that helps other people. We need more people like you. I should try and be more like you

We have built _a lot_ of things on top of shaky foundations. It is one of the tragedies of human society, that we are too resistant to rebuilding parts and accept the status quo too easily. There are network effects at play and probably other effects as well. Basing our work on solid foundations, we shouldn't need to look towards the ground, when reaching up.
I remember reading a rather silly fantasy book, back in the '90s.

It was obviously written by a UNIX guy, and it featured a software geek that gets transported into a realm where magic works.

He then started to build a foundation of spells, even giving them UNIX names like "Grep," and "Sed."

It was all about how he built a powerful magic system, from scratch, starting with basic components, and combing them, into more ambitious components, and so on.

Most of my published work is components; usually, Swift Package Manager packages. Each one is carefully written and documented, then tested like crazy. It means that I can leverage them, without a second thought, as to Quality, or features.

Here's what I'm working on, now[0]. It still has a long way to go, but it's coming along nicely. It's a "swipeable" tab bar controller, so that iOS apps can behave like Android apps. I have been doing this by hand, in many of my latest apps, and I thought that it was a good candidate for commoditization.

I'll spend a lot of time, testing and documenting it, so it will be a "drop in" module that I'll be able to use for future apps.

[0] https://github.com/LittleGreenViper/SwipeTabController

I actually don't get what your tool does. I don't use MacOS, so maybe that is why I don't get it. If you could add screenshots of the tool in action, that could be helpful.
Oh, it’s still a work in progress.

There will be plenty of stuff soon.

> We have built _a lot_ of things on top of shaky foundations.

[Technical] debt is a choice, and the gene that makes "perfect" the enemy of "good" misses opportunities for inheritance!

As a dev--as an adult!--I still need to learn to relax and embrace shaky foundations--and technical debt!

One of the things that we learn, as we mature, is that "It Depends" is a mantra for life.

A good filter is the "How Important is It?" filter.

If I'm adding dependencies to an app, a styling dependency is less crucial than an algorithm one. I may just apply some fairly basic checks to a styling dependency, and maybe use injection, to make it easy to swap out. I may also look for free, or low-cost ones.

For the algorithm, which may be my bread and butter, I might be a hell of a lot more demanding, and I may consider using a commercially-backed product.

I sort of touch on that, in this posting: https://littlegreenviper.com/concrete-galoshes/

> It's a shame people lose sight of the ground beneath their feet when reaching to the sky

Shakespeare:

> 'tis a common proof \ That lowliness is young ambition's ladder, \ Whereto the climber-upward turns his face; \ But when he once attains the upmost round, \ He then unto the ladder turns his back, \ Looks in the clouds, scorning the base degrees \ By which he did ascend.

(Brutus, of Caesar, Julius Caesar)

No problem!

You can always check my HN account page, for more info. I deliberately tend to be a bit shy about discussing some of that stuff in public forums.

>>> But your taste, the thing that got you into the game, is still killer. And your taste is why your work disappoints you.

This is why it's so hard for good classical musicians to learn jazz improvisation, even if they love jazz.