No matter where you go and what you end up doing, businesses ebb and flow and your interests and motivations will also change and you will find yourself here again.
The key is for you to build an internal toolset (mental, emotional) to assess and proactively work towards your goals.
You mentioned that you would rather be outside, meeting people and creating things - there are absolutely jobs that incorporate both software and these other aspects - think of things like greenhouse automation (outside) or positions writing software for coffee shops or ?? There is an entire world of software.
Could you turn it into a white label app and sell it to businesses for their own internal use or to other entrepreneurs?
Could you find a niche that needs this sort of app with certain features tailored to their needs. Example: Auction software (general idea) made specifically for buying/selling live aquarium fish (custom/niche).
I'd really like to see topic-based threads of submissions here, or tag-based grouping. Even if this lives at the top of the active topics list, it would consolidate and give other topics room on the front page.
I believe there are ways to both accommodate extensive discussion on the breaking / on-going news as well as keeping space for the core HN topics (hacking, CS, entrepreneurship, etc).
My advice is to focus on learning aspects of software engineering at the expense of learning computer science.
Specifically I would focus on: requirements engineering, software architecture, software testing, and software deployment... Working with people (communication, management, working with non-technical customers), processes for developing software, and how to measure and analyze the software product and the software process
Thanks! I've never played minecraft, I was just wondering if maybe the distinction is between sandbox and simulation? I'm probably getting the terms wrong but the games do seem very different in their goals and how they engage the player.
Around the end of summer there was a post on just this topic. I can't find it now but it had really solid practices in this area. If anyone remembers it / finds it I'd love to be able to read it again.
You may be talking about a post by S. M. Ali Eslami called Patterns for Research in Machine Learning. There was some discussion here as well.
The patterns he pointed out were:
1. Use version control.
2. Separate code from data.
3. Separate input data, working data and output data.
4. Modify input data with care.
5. Save everything to disk frequently.
6. Separate options from parameters.
7. Do not use global variables.
8. Record the options used to generate each run of the algorithm.
9. Make it easy to sweep options.
10. Make it easy to execute only portions of the code.
11. Use checkpointing.
12. Write demos and tests.
Interesting question. According to this site: http://doom.wikia.com/wiki/Sales between 1993-1999 Doom and Doom II sold a combined 4 million units (gross over $120 million worldwide). Not sure what they made from licensing.