5 ms·
I feel like my experience is the opposite of this. I've never understood something until it stood between me and building what I needed to build. This approac
by jrumbut 10y ago
I feel like my experience is the opposite of this.
I've never understood something until it stood between me and building what I needed to build.
This approach has been great professionally, but lately I'm becoming more interested in theory intensive fields and struggling to find resources that teach from the perspective of someone who wants to build something that requires the knowledge involved, rather than someone who just wants that knowledge.
- amorphid 10y agoI'm often curious about the theory, or at least the "How do I do X?", bits of programming. What helps me is picking something I'm curious about, and then figuring out how to be curious about a smaller piece of it. Lately I've been curious about how I could go about building a web framework in Elixir. I started off buy spending this past Sunday digging into how to open sockets/ports, and send requests from my browser, and reply to them from the Elixir command line REPL.
- wonnage 10y agoI've been just like this - without the context of a problem to solve, theoretical things just don't click for me. Regex was a mystery and impossible to memorize until I had to write a matcher for a class, and I haven't forgotten since. Similarly, I never get stuck at work, because everything I learn has a problem behind it, but as soon as I go home and try to teach myself something for fun I derp out immediately.
- saeranv 10y agoWhy not integrate new things to learn with a fun side project?
- 8note 10y agocoming up with side projects is difficult.
- shade 10y agoYeah, this is my problem as well. I have a really hard time coming up with ideas for a good side project, and then when I do, half the time I find out someone already implemented something like that and it feels like I'm just pointlessly reinventing the wheel. I think I need to do a better job of reminding myself that it's not pointless as long as I learn something.
- c22 10y agoAnother reason it's not pointless is that diversity breeds resilience. Perhaps your implementation will sidestep some issue the pre-existing ones have or perhaps it will just appeal more to some people's workflow (likely yours at the very least!)
- bpchaps 10y agoWhat worked for me was finding a civic problem that was annoying just enough to want to fix, no matter how large it is. You learn a lot from it, but it also gives you a chance to get more involved in civics, particularly from the projects that stem off. Since the motivation is in helping your community out, it gives a little extra motivation and joy. The projects kind of build on themselves since the rabbit holes go so deep. For example, I'm working on plotting parking tickets in Chicago. Tons of FOIA, lots of data analysis, sanitizing, python, GIS, government induced hair pullings, gnu cli tools, civic meetups, web scraping, etc. Finished this[0] last night using 730k parking tickets after a LOT of cleanup with python. There's no way in hell I would've been able to do this a year ago without stepping into something so deep. [0] https://plot.ly/~red-bin/6.embed https://plot.ly/~red-bin/6.embed (just
- lightcatcher 10y agoAre you located in Chicago? If so, sounds like your project would fit in perfectly at ChiHackNight: http://chihacknight.org/ http://chihacknight.org/ I'm guessing that you are already familiar with ChiHackNight, but if not I recommend checking it out.
- robohamburger 10y agoI agree! I have a hard time focusing on something that is purely academic unless said academic thing seems to have a property I want to explore on my own or use to build something. I got several C's in calculus because I was too busy messing with slightly different calculus instead of doing the problem sets for the tests. I regret nothing, but I wish I could learn the same way most people seem to be able to sometimes.
- jasonm23 10y agoDon't wish that, you have personalised learning for internal goals over grades. You will continue learning for your whole lifetime. While some others will need approval incentives just to pick up a book.
- JimboOmega 10y agoI'm always worried that it's not great for me professionally. Because the "cool kids" are always off learning the hot new thing, and I can do what I need to in the "old" thing, and so I don't learn the hot new thing. Aren't I, as an engineer, supposed to be constantly entranced by the bleeding edge of technology? Whether it's the latest lisp Dialect, the latest functional programming language, the latest NoSQL database, or whatever the latest is? Granted the nature of my work is such that I wind up using tons of new technologies every new year, but I don't go out and experiment with them with no particular use in mind.
- morgante 10y agoYou can build in the hot new thing though. I'm also a very practical learner. It's hard for me to pick up anything (whether it's a language, technique or a theory) without applying it. So to pick up new technologies I constantly cycle them into new projects.
- JimboOmega 10y agoI can, but I won't build in the hot new thing for the sake of the hot new thing alone. What that tends to mean is that when I'm looking for a new job, my skills at old company are in old thing, while everyone is excited about hot new thing. This is typically most obvious with javascript libraries.
- khedoros 10y agoThis resonates with me. A lot of my tools update, and I eventually find good uses for the new/changed capabilities, but unless I have a particular use in mind, or unless it provides a concrete benefit, it's hard to chase after the new-shiny.
- jrumbut 10y agoI'm mixed on this myself. The way I look at it is that since I am more focused on results, I'm always looking for new tools that will do more of the work for me. That said, I get what you're saying. Often it's clear the new fad doesn't provide much utility. In those cases it's like waiting for a cold to be over.
- saeranv 10y agoI am like this too. For me, I find that using a curriculum as a means to an end does three things: 1. Applying your knowledge forces you to confront the gaps or uncertainties in your understanding that you would normally overlook. 2. Allows you to interleave different the topic with related subjects, which gives you a broader or more fundamental understanding of the topic. 3. Attaches an immediate utility value to your study regime, which serves as a better motivator and means to identify when to study hard and go deep, and when to gloss over.
- notduncansmith 10y agoIf you have the patience, a few deep Google/Wikipedia sessions can do wonders, followed by a subscription to Pluralsight to learn whatever hard skills you might need. In my case, I'm backfilling my linear algebra / set theory / statistics learning with Coursera and Wikipedia while learning R and some NN stuff with Pluralsight. I'm trying to build something specific with it (facial recognition) so I'm also learning about that in depth (mostly through Google -> blogs/WP/articles/products/open-source). Just trying to fully comprehend the READMEs and docs of projects that look useful has given me a lot of leads. FWIW all this math stuff a) makes way more sense with some FP knowledge, and b) is not all that hard to understand in the context of a project. Finally, for extra immersion, start reading Data Tau (the data science version of HN). Just pick out stuff that's related to what you're working on, and then try to understand a whole article or something. That's what I did with HN and I grew exponentially as a programmer because of it.