3 ms·
For me there are different kinds of joy I find through programming: 1. Imagining something to make and bringing it into existence. As a teen I programmed my fi
by karmakaze 5y ago
For me there are different kinds of joy I find through programming:
1. Imagining something to make and bringing it into existence. As a teen I programmed my first computer (Atari 400) to draw rectangles to scale dimensions of my room and furniture and I could move them around to see which layouts fit and might flow well. It wasn't very hard to write but a lot of fun to play with.
2. Solving a difficult problem/puzzle that I encounter (usually at work) with an out-of-the-ordinary (or sometimes much simpler than imagined) solution. This fits very much in line with how I enjoyed solving math/physics problems that sort-of seemed like riddles with rewarding punchlines.
3. Making a library or part of a program that exceeds my original design or expectations. This can come as I need to change it for extra purposes not known at the start and they are easy to fit in, or on rare occasion 'just work' with different inputs to my great surprise.
I started out programming as a hobby long before I thought it would be my profession and having programming buddies to show stuff and learn from was a key motivator. Later on, I've become completely satisfied at solving problems to my self-defined level of completion. On one hand I might me more motivated to do more if it was shared and used. But then on the other, then it could become ingracious unpaid work--like some open-source horror stories.
The best generic advice I can give is to make the programming part secondary. Find something that you want to exist and could make. Often this can be a website that organizes certain information that you want to catalog and share. If you start making it and enjoy the creation as it starts forming, then you may be onto something. Anything (web/mobile/vr?) with visible/sharable output is more relatable than something that only a backend dev could appreciate. It's tricky to find a topic that isn't already being done well by others so usually something niche that you have an interest in is easier to find. Sometimes you can take an existing idea you like and put a twist on it to make it new and interesting.
- karmakaze 5y agoI think another thing that takes a lot of the fun out of programming now is that everything is so complicated. There really aren't simple systems what you can know a lot about and play in that doesn't have a tonne of frameworks and documentation. So finding a programming environment that minimizes up-front learning and lets you get to the fun parts sooner is a huge plus. One thing like that for game-like things is SDL[0], Box2D, or libGDX (if I recall correctly I used on Android a couple times). My info is a bit old, so maybe others have other good examples of desktop/mobile/web libraries that fit is ideal. [0] https://www.libsdl.org/ https://www.libsdl.org/