Yeah, I feel there are a few potential PhDs in that statement. Coding the solver and the problem generator is the easy part, figuring out how to explain something and from multiple perspectives will be tough. The multiple perspectives is key. I hope I can build a community of people willing to explain and a community of moderators to vet the explanation.
How about a game to discover and formally describe new problems? The ability to find new problems is just as important if not more important than the ability to solve already known problems (especially those that have been solved by others) Obviously, the ability to do both (find new problems and solve them) is the most important of all. Focusing on solving known problems is NOT that interesting... Can you imagine building an environment that allows programmers to discover and formally describe absolutely novel problems in computer science? Just curious.
Since everyone has different goals and opinions on this, etc, many people will see it in a different way.
I love to solve _problems_ and to help people with it, but sometimes I just hate to write code to solve them. I wish my computer could have a clear picture of the solution that is in my mind so I didnt have to write a single line of code, so I could focus on the creative part of the problem solving
Understood. So what I should be doing is trying create optimal solutions. Obviously completely optimal solutions on some of them could take hours, if not years to come up with. Those would be "you either know it or you don't" or you're the equivalent of Mozart when it comes to code. I am thinking I will work on some of those solutions today.
It hits right at the core of the appeal (these kind of solvers need to be designed, if you grow them organically you get the if statement from hell) and also the challenges (not many managers would run with the idea of "the users will be doing something that looks a lot like writing code").
Also true for large coding projects. At some point, you have to identify the components that will need to be built and portion them off into approachable tasks. In this case, the first task is agreeing on the 'heretofore unsolved problem' -- that hasn't happened yet.
Discerning invested participants from trolls might help.
Let me reframe this. You need to be able to 1. Clearly describe a problem 2. Notice when that problem can be mapped to one or more known solutions or algorithms 3. Be able to implement a system which takes those core solutions and makes them work together in a robust, efficient, scalable, and useable way.
One important aspect of these problems is that they aren't going to be solved by people who know only how to code. These are opportunities for mechanical engineers, biologists, statisticians, materials scientists, physicists ...
For many of them the research would have to be so speculative that it would be hard to imagine them occurring outside of an academic research lab. For a startup to tackle one of these, the bones of the technology would have to already be there.
My ultimate goal is to work on a project like this. For now though, I have a hard enough time coming up with bad ideas. I can't imagine how I'll end up in a position where I know how to fix real problems.
Has anyone else migrated toward a heartfelt love of trying to understand a complex, ill-defined problem space, codifying it and designing a solution in preference to actually coding it?
To be honest (and I will probably get flamed for this), I have come to see a good (difficult, interesting, ill-defined, many-sided) problem requiring significant research and some prior gut-feeling (especially re: maintainability, what might change in future, etc.) as the best part of programming, and a lot of the actual coding as a kind of necessary drudgery bereft with mind-numbing, tangential minutiae.
One of the things I always heard when getting into software development is that the hard part isn't writing the code but rather figuring out what problem to solve. Now the hard part is going to be figuring out what problem to solve and how to tell the AI to solve it. If you're already good at the first part, the second part should be what you focus on and you'll likely become very in demand.
I'm always curious how do people come up with these ideas. I assume that to be in a position to make something like this you need to have a very good understanding of the problem space.
As tech people i often feel that while we may have an advantage in being able to execute, finding a problem can be quite tricky if all you know is IT!
That's why the idea he seems to be settling on is exactly that: a problem that he has. (quote from the post: "It solves a problem I have, so I want someone to build this software.") Not only coming up with a problem is easier when you have it yourself, but also execution, making key decisions and keeping up the motivation will be easier.
I think about this kind of thing a lot, but I haven't put much of it down in writing yet.
One thing I think is often overlooked is the value of writing a good description. I genuinely believe an issue in the form of a user story can require as much work defining the task as it does implementing it. Some contributions question, clarify, articulate, or integrate an issue so that the implementation becomes straightforward. If you can find a way to pay for that, then I think everything else becomes easy.
Another thing is that sometimes the best solution takes some exploration to find, but if you only pay for the final solution then the cost of finding it is not aligned with the price and the system cannot stabilize. I think this is similar to the problem that Science is facing where funding sources prioritize positive, novel results over the bare truth. I think if you find a way to reward experimentation even if it fails you will have solved a big problem. I think the key might be to realize (in both senses) the value in a failed experiment.
First, I think this is a great idea. People have problems they think might be solved / automated. But I agree it definitely needs some language clarity.
Businesses: have a problem you need solved with software? Post your problem!
Programmers: looking for a challenging project with identified customers? Apply to solve a problem!
No, I don't think I can realistically expect someone external to understand and solve the type of problem I'd pose to them. It's not that they wouldn't be smart capable people, but if I can't solve the problem easily myself, or with the help of StackOverflow or Google, the problem is typically of a nature that is very specific to my niche field, programming environment, etc.
reply