30 comments

[ 38.5 ms ] story [ 1449 ms ] thread
Good resource, "pro" based of just reading? No. But some nice references in a very narrow area.

"Pro" takes experience and time, and in this profession given how things churn, unless you are specifically working with a static environment, sure "pro" versus someone else, but you need to be continually learning.

Thank you for the feedback!

I created the list for underclassmen in my college to start learning technologies outside of school work, so a title like this will create incentive for them to start learning on their own. Many students here turned out to like the list so I decided to share it here as well.

I've been regularly coding in C for 30+ years. The language has evolved, the behavior on what you can do "to be dangerous" depends on the architecture, as opposed to the things you can do "to be dumb".

Do I consider myself an expert, no. A pro? No.

Libraries, processors, application being built always expose challenges and things to be aware of.

This is why I take exception with the phrasing of "Pro" based off of a reading list.

Back in my day, "Pro" meant Professional, as in one who earns their living doing this.
A language caters to an ecosystem. Most ecosystems change and unless you are continually learning, the definition of "pro" becomes ambiguous.

Despite who my employer is, I know much more about the internals and libraries associated with BSD and Linux related programming in the language of "C" than I do Win. Where do I declare myself an expert? "stdlib"? "stdio"? And so forth.

I'm continually a student in the areas that pop up that interest me (and the ones I wish to maintain).

(comment deleted)
Pro doesn't stand for Professor or anything. If you have 30 years of experience with something, then generally speaking, you're a pro.
There's little upside in thinking of yourself as a pro. The upside is in aspiring to be a pro: attention to detail, questioning your choices, actively seeking the edge of your field, putting in the time to practice, and so on. Those who aspire to be a pro are more likely to have these qualities, whereas pros tend to assume they do.
On the contrary; it's a very GOOD idea to think of yourself as a pro.

A good professional takes pride in his work, and aspires to improve his craft.

False modesty gets you nowhere.

To clarify, I'm not referring to the image that society forces you to project. It's obviously a bad idea to claim incompetence.

That said, are you sure it's a good idea to remove modesty from your mind? It seems like more have fallen to pride than were lost to modesty.

There's not an objection to the list per se, but terms like "pro" and "expert" have real meaning. "All you need is one link to become a pro in some area" is a bit insulting to everyone's intelligence, and isn't true for any widely-recognized meaning of the term "pro". It detracts from what is otherwise a well-intentioned curated list of learning resources.
Thank you for the suggestion. I've changed the description to 'A list of the best resources to help you get started in becoming a pro'
It might be a good idea to add a meta section with resources on learning to learn. Books would be stuff like "Pragmatic Thinking and Learning", "The first 20 hours", "The Talent Code", "Inner Game of Tennis" etc.

Link to a cool TED-talk (20 hours): https://www.youtube.com/watch?v=5MgBikgcWnY

:)

Good idea! Will add that to the list!
The Talent Code is fantastic! I would add Deep Work by Cal Newton to such a list as well.
Yes, also it takes a pro to know one I would suggest.

Reminds me of an amusing email I saw recently, where a recent grad, wanna be business analyst, was evaluating a vendor and declared after meeting some of their team that they were 'technically excellent'. Maybe they are, but how on earth that guy thought he was qualified to judge was beyond me.

If you go to StackOverflow and click on any tag, then click on the "Info" tab, there is generally an excellent list of resources.
TIL. Thank you!
I'm sure these lists are well meant, but these days I find that quality and especially quality in relation to time that's the problem when learning new things. What I've been doing for years is to look at the course curriculum at schools known to take the subject I want to learn seriously and try and find the few essential books on the subject. Then get the one I feel suits my style of learning and learn (how you do this is also individual) the basics while still not taking everything at face value.

When you have acquired that "common knowledge" the whole field usually opens up and you can quite quickly see what will be relevant for you among pappers, talks, projects etc. A large amount of knowledge, especially in software development, is just rehashing of basics made to sound more interesting than it really is.

Twitter's Scala school's "Concurrency" section uses Finagle futures which are different to Scala's standard library futures.

However this is never clarified to the reader.

If you want to be pro at Scala, I would recommend reading this: http://www.scala-lang.org/old/node/8610

I'd strongly recommend putting this link in there: https://youtu.be/JxAXlJEmNMg

David, if you see this, I'd like to thank you for these talks as they have reshaped the way I think about software development.

I've got more from these then my classes at college have given me do far.

Thank you for this.

I've learnt to ignore "curated awesome list of X" pages because they tend to be dumping grounds for hundreds of links Google returns for a sloppy search about the topic.

By contrast, the resources here are fewer and of extremely high quality. I've found these to be especially useful and interesting:

- https://www.hacksplaining.com/

- https://www.crypto101.io/

I was browsing through the list and clicked on exactly those two as they seemed interesting and I tend to brush up n security every now and then. The free PDF from crypto101 looks like an excellent technical complement to "Secrets and Lies" for a good intro if you're looking for a basic security introduction. The hacksplaining website looks pretty cool and I'll probably work through the exercises over the weekend. I've only clicked on the SQL-Injection link but it seems they have set up minilabs where you can try the ideas hands on.