27 ms·
Unfortunately most of the things I've learned from my incomplete side projects are useless. Some may make for interesting discussion sometimes, but ultimately n
by non-entity 6y ago
Unfortunately most of the things I've learned from my incomplete side projects are useless. Some may make for interesting discussion sometimes, but ultimately nothing that will help me in any tangible way.
- logicOnly 6y agoI got my first paid programming job after 12 years of side projects. Maybe it's too soon. After 6 years of programming I had made pretty much nothing useful.
- jniedrauer 6y agoI've been writing code professionally for quite a while now. I'm not trying to land my first coding job. The vast majority of programmers working on side projects are already established in the industry. I've learned a few novel things from my unfinished side projects, but I've never really used them in my day job.
- idrios 6y ago> The vast majority of programmers working on side projects are already established in the industry. I strongly disagree. There are teenagers writing custom skin mods in Minecraft by Googling and copy/pasting. There are non-tech professionals making hello world android apps but are too novice or uninterested in getting a professional developer position. There are photographers who write plugins in Photoshop to create copies of their photos at various resolutions. You won't find any of them making github contributions but they're there. And a lot of the skills you learn from side projects are internalized without being able to explicitly state it, like getting a feel for conventions in the framework or language you're using, or how much abstraction to use in your solution.
- yetihehe 6y ago80/20 rule says that 80% of what you learn will be useless. But you don't yet know which 20% is usefull.
- larrywright 6y agoKeep at it. There’s plenty of stuff that I learned that never had any practical applications, but the handful of things that did have been very valuable. Real world example: I was building an app for myself to scrape some websites and Twitter to aggregate stuff I might be interested in. I had built an MVP that I wanted to get up and running on a web host somewhere so that I could let it run for a bit and then iterate. I was annoyed though, because while I was comfortable setting up servers, I hated all of the repetitive tasks involved in getting everything set up the way it needed to be. I’d tried writing shell scripts, but as anyone who’s tried that can attest, they are fragile and end up being almost as frustrating as doing it by hand. I’d heard about this thing called Chef that people in the Ruby community had great things to say about, so I set out to learn that so I could use it to set up servers for me (and my local Vagrant setup). Long story short-ish: I never did get my app deployed to a server, it’s still sitting on my hard drive almost 10 years later. But my Chef skills turned into a bit of moonlighting to bring in some extra money, and then ultimately let me make a career change and get out of a job that had become toxic. I don’t do Chef any more, but I’m still in a job I enjoy and I make a lot more money than I did. I’m still going to get back to that app though. One of these days.
- jariel 6y agoHmm. My views of Java/C++ (mainline productivity langs.) have changed a lot because of screwing around with other languages. I think I 'code better' because of it. It's possible you are learning something.
- jcranmer 6y agoA few months ago, I was poking around ptrace details for an incomplete (unstarted, really) side project, and I came across a mailing list message suggesting that debuggers should be using perf events instead of debug registers for doing hardware tracepoints. A few days later (maybe literally the next day, I don't quite remember anymore), a coworker was having an issue where we needed tracepoints to catch who was overwriting bad memory, but the debugger was causing the thread race to not happen properly. So I looked up how to use perf to set hardware watchpoints, and we caught the issue almost immediately after that. I would not have thought to try that had I not been poking around with my side project. Some of my key skills as a developer are my ability to debug issues quickly and my ability to spelunk through large code bases. These skills were developed largely through poking around code bases for incomplete side projects. Sure, the details of how CVS works is probably never going to come up, but when you stumble across time synchronization issues for code, or the different filesystem semantics of NFS--those details tend to be more relevant, and you might not think to look them up before embarking on the "useless" side projects.
- deleted 6y ago[deleted]