Poll: How do you learn new technologies?
38 points| quietthrow | 12 years ago | reply
Feel free to leave comments if you dont see a option or would like to elaborate on your response.
38 points| quietthrow | 12 years ago | reply
Feel free to leave comments if you dont see a option or would like to elaborate on your response.
[+] [-] christiangenco|12 years ago|reply
2. Get really excited and go to technology's homepage.io
3. Get 40% through homepage.io's tutorial before I get frustrated and confused
4. Shelve new technology away in my brain as a list of potential things I could build something with
5. Months later, get a really Cool Idea for something I could build with new technology and become overwhelmed with a need to build it
6. Fight my way back through homepage.io's tutorial, "getting it" much more this time, and augmenting the tutorial to start building Cool Thing.
7. Fight through errors striving for how I think the technology should work by hundreds of googles and stack overflows
8. Create minimally viable Cool Thing, get really excited. Friends don't understand what was so hard and why I'm excited, as I could have built the same thing in X technology I already knew, but they think Cool Thing is pretty neat
9. Start fixing bugs on Cool Thing and realize I don't understand how the internals are actually working, so go back to documentation/notable book resource/new technology videos and devour them because I have the clear purpose of refining Cool Thing.
10. Cycle through several iterations of Cool Thing and realize I know New Technology pretty well now
11. Hear about cooler newer technology, and read that I could accomplish in one line what it took me 100 to do in cool new technology...
12. goto 1
[+] [-] pranavrc|12 years ago|reply
[+] [-] pelanne|12 years ago|reply
[+] [-] beat|12 years ago|reply
Javascript callback functions don't count as "one line". :)
[+] [-] Mikeb85|12 years ago|reply
[+] [-] ratsimihah|12 years ago|reply
[+] [-] zaphar|12 years ago|reply
I don't think you really know a technology until you've build something with it.
[+] [-] quietthrow|12 years ago|reply
[+] [-] tptacek|12 years ago|reply
[+] [-] mechanical_fish|12 years ago|reply
It doesn't help that this is a generic poll about generic books. Of course imaginary books poll worse than imaginary websites: They're more expensive (because imaginary books have an imaginary label saying "$9.99", and imaginary websites are free and subsist purely on popular goodwill and flamewar-powered Carnot engines) and neither of them has any real content so it's impossible to evaluate the amount of imaginary value one is getting for one's imaginary money.
Whereas in the real world people judge their materials in the context of specific authors, subjects, goals, and budgets. People compare (e.g.) a copy of established-Github-wizard Scott Chacon's Pro Git (a try-before-you-buy CC-licensed free book) to the thrill of trying to learn Git's canonical workflow by reading its man pages and browsing flamewars about rebase v. merge. Or a ten-minute Railscast Pro about Devise, paid for by your boss, to the option of having to admit to that selfsame boss that your project's hand-rolled authorization code got hacked.
[+] [-] seivan|12 years ago|reply
You never really stop trying
[+] [-] gyepi|12 years ago|reply
I always start with the available documentation, coupled with code reading to help me understand certain aspects better. Once I have a good feel for the language, I buy books to help me understand the nuances I may have missed initially. I usually end up buying books on languages and systems I expect to use a lot. I used oreilly's safari for years, but eventually stopped because I discovered that its available changed my learning style: I browsed more and read less deeply that usual.
No videos but I do use blogs occasionally.
[+] [-] yareally|12 years ago|reply
If it's something like a new language or database, then I might be more interested in getting a book on the subject (if there exist any decent ones). I'll usually skim through the book looking for areas that differ significantly from previous languages/databases and focus on reading about those parts. Following that, build something with the language/database.
Reading stuff only online if it's not official docs, can really burn you though (not that books can be any better at times, but books at least get reviews). Most of us probably already know that, but the quality of content of many blog posts and tutorials can be sub par (especially for things like PHP and Android). The faster a piece of technology changes and the way one uses it, the higher the variance it seems in quality of online content (just looking at bad practices in PHP from version 5.2 and before to 5.5 and also Android 2.x and before to 4.x).
Pretty much though, it all comes down to building. Reading can get you past some of the basics, but applying what you learn reinforces. Also, it doesn't hurt to eventually teach/discuss what you're learning with someone else, as it helps to also reinforce what you already know and question what you are unsure about (either actively or in retrospect).
[+] [-] vinceguidry|12 years ago|reply
I wish I could learn a tech from a book, but the signal-to-noise ratio is generally too low in the vast majority of books I see. I don't need a bunch of "recipes" or a disgustingly short bash rundown in a book on Ubuntu, I need clear, server-oriented insight into how the OS internals work, and what went into the underlying design decisions.
Every book on a programming language I pick up spends 90% of the time on basic stuff you could pick up in a few hours with the same language's "getting started" page. I'd love a teardown of the source code with commentary on the intentions of the language designer. I don't want a gentle introduction, that's just a waste of my time. I've already introduced myself with a dozen or so hours of playing around and reading docs. But the people that could write useful things about technologies generally aren't. Or maybe I'm just not looking hard enough.
[+] [-] billpaetzke|12 years ago|reply
Sounds good to me. Where do you look for this person? And how do you sell yourself developing in a tech in which you have no experience?
[+] [-] Terpaholic|12 years ago|reply
I believe the best way is to BUILD something, so in the past lynda.com has been useful to get code into the IDE because you can write it with video, tweak and experiment (where the real learning occurs), and then go back to the lessons.
[+] [-] _xhok|12 years ago|reply
I think this approach works with hacking because there are so many little perks you have to know about and finishing a project is one of the best ways to expose yourself to many of them.
[+] [-] songzme|12 years ago|reply
The way I've been learning, is to do a quick getting started to get the gist of the new technology, and then read through the documentation. What I have realized is that by reading the documentation, you get to really understand that technology you want to learn.
Good Luck!
[+] [-] sim0n|12 years ago|reply
[+] [-] JakeSc|12 years ago|reply
I usually end up seeking out reference material to supplement my experimentation, but by far most of my learning comes from actually "building something using the technology".
[+] [-] tomku|12 years ago|reply
[+] [-] isaacb|12 years ago|reply
[+] [-] brown|12 years ago|reply
The problems start simple, which is perfect for the "learn the syntax" / "learn the tools" phase.
Then the problems get harder, which is perfect for the "learn the advanced features" / "learn about the community" phase.
[+] [-] eccp|12 years ago|reply
[+] [-] phektus|12 years ago|reply
1. Read tutorials if available, then books in that order. Not to be exhaustive but just to get more stuff into my head.
2. Do a small project that uses it.
3. Repeat from step 1 but with more info to digest and a slightly bigger project to work with.
After some 4-5 iterations I would have a nice grip on the technology and a handful of small projects to show with.
[+] [-] ggreer|12 years ago|reply
Before I build something using a new technology/framework/language/whatever, I look at popular open source projects that use it. Not only is it useful to pick up idioms, but browsing through the project's closed issues is a great way to find and avoid common pitfalls of the new technology.
[+] [-] cema|12 years ago|reply
[+] [-] dagw|12 years ago|reply
[+] [-] danielweber|12 years ago|reply
So many times I'm like "WTF is this tool? Why would I want it?"
[+] [-] agentultra|12 years ago|reply
I have limited brain space and learning something really well often forgoes learning new things unless they are evidently superior.
That being said, I don't often spend time learning new technologies. Instead I invest in learning fundamentals.
[+] [-] ekpyrotic|12 years ago|reply
[+] [-] pedalpete|12 years ago|reply