TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

Ask HN: Where do you all get your ideas?

19 pointsby koryover 8 years ago
Hi all,<p>When I read HN and see what suggestions people have to improve my programming skills, I see people say that I should code more and do more projects.<p>Ok, awesome. But I keep having the same issue. I rarely start anything because I can&#x27;t come up with any &#x27;perfect&#x27; ideas. I see people around here saying &quot;I&#x27;ve written 8 popular apps on the app store&quot; or &quot;I&#x27;ve wrote x website&quot; or etc.<p>And you&#x27;re probably going to respond with: build it anyway to learn. And that&#x27;s great, but there&#x27;s an issue there, too. I guess I just see programming as a tool rather than the goal, so if there isn&#x27;t a captivating end goal or problem in my head that I believe in or find interesting, I can&#x27;t motivate myself to work on a random project.<p>So I&#x27;ve done internships and jobs for several years to get experience, but it just doesn&#x27;t seem the same as being able to do something on my own. I&#x27;m totally motivated and work well in a corporate or research work environment because I want to learn as much as possible, but that motivation seems to fade at home without a good idea on a personal project.<p>So, HN, where do you find ideas that are captivating enough to work on to the point where you are motivated to build it? Or should I just &#x27;suck it up&#x27; and work on something I&#x27;m not passionate about to learn something in the process?

10 comments

mindcrimeover 8 years ago
For me, the main thing is to read a lot. I mean, just surfing HN and Reddit help a lot. But a lot of my &quot;ideas&quot; aren&#x27;t necessarily &quot;cut from whole cloth&quot; so to speak, but they&#x27;re more along the lines of &quot;I could build a better version of X&quot; or &quot;Oh, hey, here&#x27;s this new thing Z... what if I combined Z with Y, and added a sprinkle of Q&quot;? Ya know, that sort of thing.<p>Another thing that helps is hanging out at the local hackerspace and just listening to other people talk about their projects, and batting ideas around with them.<p>I also make it a point to read a modest amount of non-techie stuff... I read books on history, physics, business strategy, marketing, economics, politics, etc., as well as plenty of fiction. For me, I think it&#x27;s the synthesis of lots of disparate ideas, absorbed over a period of time, that fuels whatever creativity I have.<p>One last point... when you do have an idea, make sure to write it down, before you forget it. It may be that you have more good ideas than you realize, but just aren&#x27;t capturing them. I&#x27;ve scribbled stuff down on a notepad before, and then gone back to it a year later and thought &quot;shit, that&#x27;s good stuff, and I had totally forgotten about it&quot;.
评论 #13149149 未加载
评论 #13149781 未加载
rubicon33over 8 years ago
Here&#x27;s something that might work for you -<p>Try copying something.<p>That&#x27;s right, try and copy some other program. For instance, if your domain is app development, try writing a twitter clone, or a snapchat, or a flappy bird.<p>If your goal is education, not money, than sometimes building something someone else has built can be a great task.
itamarstover 8 years ago
&quot;Programming as a tool rather than a goal&quot; is <i>really</i> good way to think about programming. Programming for the sake of programming can be a hobby; if you want to be a professional programmer, if you want to produce <i>value</i>, it&#x27;s all about goals.<p>I am in the same boat as you: I end up not feeling motivated to program without a good goal.<p>Thing is, coding more won&#x27;t necessarily make you a better programmer. Especially if that side project is just doing the same thing you usually do.<p>To become better at anything you need deliberate practice. That means:<p>1. At the edge of your competency.<p>2. Focusing on a particular skill.<p>3. Getting quick feedback on how you&#x27;re doing.<p>Getting detailed code reviews from an experienced colleague will improve your coding much faster than a side project.<p>So one thing you can do is just not bother coding in your spare time. It&#x27;s possible to be a good programmer and not do any coding in your spare time. I would argue it can often make you a <i>better</i> programmer (<a href="https:&#x2F;&#x2F;codewithoutrules.com&#x2F;2016&#x2F;11&#x2F;10&#x2F;work-life-balance-software-engineer&#x2F;" rel="nofollow">https:&#x2F;&#x2F;codewithoutrules.com&#x2F;2016&#x2F;11&#x2F;10&#x2F;work-life-balance-so...</a>).<p>If you do still want to do something in your spare time, some alternatives to building your own project:<p>1. Get a bunch of good books and read them.<p>2. Find an open source project you&#x27;re interested in, e.g. one you use at work, and try to submit patches. Ideally one that does code reviews.<p>3. Read lots of open source software and figure out how it works. This will improve a particular skill (understanding new code bases) but also show you lots of best (and worst and mediocre) practices. Think about what you see and try to decide which it is.<p>4. Learn core liberal art skills (close reading, writing, research, building abstractions) if that wasn&#x27;t part of your education. I got an undergrad in humanities at Harvard&#x27;s evening school, basically for fun, and it made me a better programmer.<p>If you do end up building a side project, some advice: make sure it either has a very specific goal, or has a very limited scope (<a href="https:&#x2F;&#x2F;codewithoutrules.com&#x2F;2016&#x2F;09&#x2F;09&#x2F;side-projects&#x2F;" rel="nofollow">https:&#x2F;&#x2F;codewithoutrules.com&#x2F;2016&#x2F;09&#x2F;09&#x2F;side-projects&#x2F;</a>).
hawkiceover 8 years ago
My process has been to read a lot, pay attention to when things aren&#x27;t as good as they should be, or something important is missing. Have something to say about the world (for instance, &quot;people don&#x27;t seem to understand kanban&quot; or &quot;mnemonic systems aren&#x27;t useful if you need an online dictionary to use them&quot;) and build software that reflects that -- like a kanban system that does actual queue limiting (<a href="https:&#x2F;&#x2F;gen517.com&#x2F;queue-limiting-the-whole-point-of-kanban&#x2F;" rel="nofollow">https:&#x2F;&#x2F;gen517.com&#x2F;queue-limiting-the-whole-point-of-kanban&#x2F;</a>) or a tool to help people _learn_ the mnemonic major system instead of just having a computer use it (<a href="https:&#x2F;&#x2F;gen517.com&#x2F;mnemonic-major&#x2F;" rel="nofollow">https:&#x2F;&#x2F;gen517.com&#x2F;mnemonic-major&#x2F;</a>).<p>Eventually, you&#x27;ll get something to say that&#x27;s important -- not just to you, but to other people. Something professionally important will often save people money or make them money. Convince them that you&#x27;re correct about it being important, and you can sell the software. Making money on something can keep you invested more than emotions like &quot;passion&quot;, which change over time.
jettiover 8 years ago
The first thing for me was coming up with a solution to a problem that I had at my last job and seems to be a problem for others: Windows Installer creation software. There doesn&#x27;t seem to be a good option that doesn&#x27;t break the bank and is easy to use (Wix and NSIS are free but there is a learning curve). I normally code in C# and that is what I&#x27;m using for my main project (the installer creator) and I fell into the old tech of WinForms since that was what I&#x27;m used to. I decided to learn XAML and WPF and that has made things so much easier. It was just pushing myself to try and improve the UI experience of my application that allowed me to improve.<p>I&#x27;m passionate about compilers and dev tools so that leads me down paths to other languages&#x2F;frameworks to get my job done in the most efficient way. I like the more niche&#x2F;obscure topics such as manipulating IL for .NET as well as injecting byte code into already made assemblies. Because of that I&#x27;m taking an indepth look at the CLR and CIL so that I can better understand how that whole system works. Now, this probably won&#x27;t land me a job but it does help me stay motivated. With this knowledge I&#x27;m planning on making a decompiler&#x2F;code injector&#x2F;debugger for .NET dll&#x2F;applications that are already compiled and shipped. I also have an idea for a programming language that I&#x27;m in the process of designing. I&#x27;m thinking of what languages to use for that because, while I&#x27;m most comfortable in C#, there are better languages to use to create compilers (I&#x27;m currently thinking of Nemerle or F#) that target the .NET framework (which again would increase my CIL knowledge)<p>At the end of the day think of what your passion is that could be solved with code and go do it. Pick a language you haven&#x27;t used before or some framework that is new to you. It will make the project go slower but you would end up having learned a new technology.
samayshamdasaniover 8 years ago
I used to have the exact same mentality. However, I had to make myself interested in building random projects because of the feeling I had at the end of completing one. When I complete a project, I feel so good that I actually made something. Try to build a project that you would be interested in and start small, then improve it.<p>To teach people to code in this way, I started <a href="https:&#x2F;&#x2F;enlight.ml" rel="nofollow">https:&#x2F;&#x2F;enlight.ml</a> that hosts a bunch of &quot;random&quot; projects. As I type this, I&#x27;m also working on my next project (<a href="https:&#x2F;&#x2F;shamdasani.org&#x2F;playground" rel="nofollow">https:&#x2F;&#x2F;shamdasani.org&#x2F;playground</a>) which is my version of codepen&#x2F;jsfiddle.<p>I am by no means a professional programmer, but I am gradually learning through building. Hopefully, you&#x27;ll learn to do the same.
psycover 8 years ago
I only work on things I&#x27;m fascinated by and passionate about. For me that has always been games, simulations, and graphics. If you&#x27;re drawn to computing in the first place, there must be something that computing enables that you find interesting.
dmfdmfover 8 years ago
&lt;<i>I rarely start anything because I can&#x27;t come up with any &#x27;perfect&#x27; ideas.</i>&gt;<p>You have probably heard the expression &quot;the perfect is the enemy of the good&quot; which might be the trap you are in. The meaning of that expression is that sometimes we are waiting or hoping for the perfect job, that dream girl or the ideal house that meet all our expectations and needs while life passes us by as perfectly suitable jobs, girls or houses drift passed without action to actually achieve them. This is a mistake.<p>Pure speculation here, but also I suspect that you have lost the connection between your actions and your ownership of (and pride in) some project or idea or whatever. This issue is <i>wider</i> than programming projects because it applies to anything that you might do. What I think you need to do is pick a project or something that will make your life better and that you might enjoy just doing for the sake of doing. Not to please anyone but yourself, not to make money but to make you happy. It doesn&#x27;t necessarily have to be programming but a decent sized project that will push you out of your comfort zone and challenge you in some way.<p>By way of example, a couple of years ago a client&#x27;s husband died and she offered me his garage full of tools. I had not wrenched in decades but I couldn&#x27;t say no so I took her up on her offer. Now I had a garage full of tools and nothing to do so I decided to buy and fix up a motorcycle. I went through a project bike from stem to stern and really challenged myself to not only do the project but to do it right and actually complete it. It took a year and it was a real slog but I finished it and it is now one of my proudest achievements. Every time I press that starter button I feel a real sense of pride and true ownership.<p>This is what you need right now, something, anything to take on and tackle for and by yourself and not for the fame or fortune. It could be anything but I recommend something not programming relates; something tangible or physical such as a new skill or activity like piano or hiking or biking or skiing, etc. whatever you want. Just sink your teeth into and feel what it is like to really own a project. I think this might revive your sense of ownership and pride in whatever you do, even programming.
g00glerover 8 years ago
I find myself in a similar boat quite often. I come up with lots of different ideas but they&#x27;re not very good or have already been done.<p>Other times I start building then get bored and convince myself it won&#x27;t work out anyways.<p>So I was considering this today and this is what I came up with:<p>I think it&#x27;d be fun and helpful to have another developer to work with, someone to keep you interested in the project and discuss the work with who will actually care.
a_lifters_lifeover 8 years ago
In industry