For context I have been programming for 40 years, professionally for 30.<p>In my experience programmers have to travel through 3 stages (not all get to stage 3).<p>1. You code to prove to yourself that you can<p>2. You code to prove to others that you can<p>3. You don't need to prove anything anymore, so now you code for utility (ie earning a living etc.) At this point the code is not the goal, the goal is something else -the code is a way to achieve that goal.<p>It's important to work through these steps - it's hard to jump to step 3 without "earning your chops" along the way. Those foundations are what make step 3 effective.<p>I say this for you to set the context of where you are at. You are not your code. your code is not perfect. You will always look back on "old" code (like from 6 months ago) and feel you can do better. That's called growth and it's a good thing. If you look back and your code from 5 years ago is "perfect" then either you're not growing, or you've peaked :)<p>Interestingly I also say this so you can understand what "level 3" feedback you'll get. Mostly people don't care about your code, they care about utility. So in that sense you can expect utility-based feedback, not code-based feedback. It may be hard to hear about something you've worked so hard on, but for most of us the "code" is not the goal - utility is. It's like looking at the Mona Lisa, the painting is great, but I really don't care how many nights you spent painting it. Which can be tough to hear based on your doubtless effort and hard work.<p>So skipping over the code part, you've presumably got some project that's offering some utility. You want to build an audience for that utility. Welcome to your next job. Turns out "build it and they will come" is a myth. "Selling" something to an audience is staggeringly hard. Ironically even more so when said offering is free. Ideally you have the audience before the product, but that's not how experience works.<p>So, hopefully you can determine what kind of person would use your project. then you hang out where they hang out. You help them as much as you can. You build a reputation for helping them. You point to your project when it's truly the best fit. It takes time, and effort, to build reputation in this way. And along the way you try and keep the product itself as something people want to use, something they latch onto.<p>So yeah, keep your expectations low, then drop them some more. It's a tough place to get started in, and I can predict that you'll almost certainly fail. But in failure you can learn, and that's important. The thing I'd say you might learn is that you need to build an audience before you build the tool. That's what I learned. But your experience will be your experience.<p>I say all this not to discourage you, but to encourage you. You are on a journey, and you are seeing others already at their destination. That didn't happen overnight, and they likely walked a very hard road to get to where they are. Try and get satisfaction along the road - figure out what worked, and where you went wrong. Learn as much as you can from failure. Then do it all again :)<p>Good Luck!