I'm familiar with lean methodology and aware that ideas don't really mean much, but at the same time I'd like to work on some big problem that's compelling. I know that I'll probably pivot a lot but just to start out what general problem would you reccomend I try and solve?
It's really ill-advised to solicit your vision from anyone. In my 20 years of building, investing and supporting tech companies, I don't know of a single success story that has it's origins in someone with your approach.
Running a tech startup is incredibly hard. It demands sacrifices few are truly able to make and come with it tremendous risks that most people are unwilling to take.
It sounds to me as if you want the startup life because you have an impression of what it's about but haven't yet experienced it first-hand.
I'd encourage you to first join an early-stage startup. Developers are incredibly in-demand. Find an entrepreneur who has some experience, funding and a compelling vision that you believe in and get to know what the journey is really like.
You have development expertise. Consider immersing yourself in a variety of development environments (I mean corporate, not the technical definition) perhaps by contracting your services out. In many areas, contractors are in huge demand. What does this get you? -- Immersion. Over the course of a few months or a year, you'll start to recognize certain types of problems or challenges that others are faced with -- provided you are looking for them! Which cause the most pain? Which are you most passionate about? Are these intractable or do you have a solution? It's out of this maelstrom of complexity that great ideas can arise. With your new armamentarium of experience, you can now explain the problem, attest to its commonality or perhaps even ubiquity and offer a solution. Now, it's fine to take your hypothesis and to test it further against others in the field, but you need that hypothesis in the first place. Unlike Einstein's Theories of Relativity, your ideas will likely not come out of thin air, which is precisely why you need to gain that experience. (A good complementary alternative, as Tom notes, is to join a startup, which will give you a bird's-eye view into how startups work.)
I have a painful problem that is possibly the most widespread problem that many of us face on a daily basis and is ripe for a killer solution. I have an idea that I would like to be put through the lean methodology. Im looking for a cofounder to do this and I could provide some seed funding. Send me some background on yourself if your interested to know more. That goes for any budding developer who is looking to startup. PS I am busy on another successful startup so my time input would be limited.
Your skill set is a good one. It's in high demand and your ability to do the work will open doors for you. In the short term your problem is not, "ideation" however. It's the appearance of being pompous and overly complex. Fix that and things will start to fall into place for you.
Coding freaks out most business people. They don't get it. They don't know C++ from Zip+4. But they understand their needs and they can often communicate them with reasonable clarity. If you're using buzz words like, "ideation" when you're talking about something as simple as developing a concept - you're advertising that you'll be difficult to work with if only because you're hard to understand and possibly have a tendency to travel with the herd instead of blazing your own trail. If your English usage is difficult to follow, they'll assume your technical documentation will be incomprehensible. That's not the message you're trying to convey.
Instead, try this. Speak English. Simple English that a high school student could understand. If you're truly gifted and innovative that talent will come shining through. Your choice to speak and write in language that is easy to read, easy to understand, and easy to pass along to others will make you a sought after consultant, contractor, or business developer simply because you're a pleasure to work with and can get the job done. Those are key skills. Knowing and using the latest buzz words on the other hand will never impress anyone you need to impress. It may even keep some of your best possible clients from taking you seriously - killing opportunity before you even get the chance to really show them what you've got.
Can you start by solving a problem you already have? Or one of your clients problems?
I have yet to "strike gold", but I've found some success with validating ideas (paying customers) with the following technique..
If you are a developer, then don't start looking outwards for ideas.
Look internally, inside of the existing clientele's businesses. If you can present a compelling idea to them, they are going to me more likely to become early adopters / paying customers too. They already know + trust you.
I personally have found minor success with this tactic. When I try to "sell an idea" in any way shape or form to a person who has no idea who I am, then it's harder. Credibility is a tough hurdle to overcome if you have none.
But, my clients were already happy with solutions I have provided them in the past, and I have a deep understanding of their businesses over-time. You might be the same?
Attack their largest problem with your skills.. Not just what you were hired to do.
Work on it at home, in the mornings, and get it to a real-MVP. Something that your clients would not be ashamed to use in production or in the field. Since you have the relationship with them prior to product-izing, you should understand their wants and needs.
If you can solve their problem, they can become your first customer.
Obviously this way should come with a couple of fair-warnings: you could end up building a custom solution. That's ok-- just charge it according to the value. If you find a pain large enough for your clients, I'd be willing to bet that it's a problem that other businesses have.
You could also take the approach completely of focusing on a specific market, then identifying their current pains. Find out their active issues, how they solve them currently, and look for ways to improve. You don't have to start from scratch, or re-invent any wheels. Just take a wheel that is working "ok" for a specific market, and figure out how you can make it "fucking awesome!"
-- In theory, it sounds great. I have yet to find success this way personally :)
Addressing specific markets becomes hard without direct access to them, and a good relationship. I got "booted" out of some communities because they saw me as an outsider who didn't pay his dues.
I'd have to concur with Steve Mason's answer above. You can sit around and try to brainstorm big problems, but you are limited to what you personally have been exposed to and can relate to. Getting involved with contracting or consulting will give you insight into many different environments that you normally would not have known existed. Try to determine what industry you truly have interest in and start there. Get involved with everything and anything you can within that industry (e.g. associations, developer groups, contracting, etc). As you become more and more involved with that industry, you'll start to understand the nuances of the participants and the mindset. From there, you can start to really focus your efforts on uncovering the best opportunities to address.
My take: never solve a general problem. There are no general problems.
Individual humans have specific problems. If you spend enough time talking to individual humans, you will start to see patterns. Those generalizations are things you make up in your head, a convenient way for your brain to handle and incredibly complex world. They are false, but a pretty useful kind of false. They help you think and talk about the world, and can help you generate testable hypotheses.
So what should you do? Go talk to people about their problems, their annoyances, their frustrations. Just listen and ask good questions, without a lot of judgment. Eventually they will mention a problem where your developer-brain will say, "Oh, maybe I could help with that."
Which people should you talk to? Pick people you will enjoy serving, and pick a domain where you can make use of your strengths. I knew a guy who was working on software for printing shops to manage their workflow. His dad owned a print shop, and as a kid he worked in it. Right now I'm doing the user research for an app for medical residents; a friend runs a medical residency program and talked about a big problem they had. A possible solution fits with an interest I've had for years.
Once you've found the people and the problem, solve it for very specific people and a very specific problem. If you can knock it out of the park for them, only then look at how you can generalize the solution for other people, other problems. Google, for example, started out as an excellent search engine for stanford.edu pages, and then betaed as an excellent search engine for Linux-related web sites. Facebook started as a solution for one college, the one the founder was attending. Only when it worked there did it broaden to other colleges. And only once it dominated colleges did it expand to the broader population.
The problem you have, as is so common with many of these answers, is that they try to jump right to the problem. Wrong. It is like looking for a job. In reality you are looking for 100 places to send your resume to get 20 interviews to get 3 offers so you can pick one. So you need a methodology that puts lots of ideas in the hat and then you narrow it down through a funnel process. Marketing 101.. See Marketing Textbook from profs at Kellog School (NorthWestern).
I am happy that you have not started off developing something without really talking to your customers. Technology by itself does not mean much. First you need to decide the domain. Do you want to solve the problems of old people, patients, school kids, moms, unemployed youth, unemployed seniors, grocery store owners, car owners, car mechanics ...figure that out. This usually should come from one of your hobbies, some thing you do regularly or an area of your passion. It could be water cycling, for all I care.
Now look at the way people are doing stuff or trying to get some things done in the chosen area. The problem happens only when someone wants to do something. Either he is not able to or it is very difficult,or it can be improved.
It becomes a big problem based on the seriousness of the tasks to be done and the number of people who are trying to do this task. Everyone in the world seem to be trying to form groups and stay connected with them easily, for free. That is why Whatsapp is a great success.
Hope this clarifies. Nothing comes out of technology in isolation. First connect with a selected group of people and see what they are struggling with. Then see if you can provide a solution , using technology.
All the very best.