Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

How did you become so good? #27

Closed
jrm2k6 opened this issue Sep 14, 2015 · 6 comments
Closed

How did you become so good? #27

jrm2k6 opened this issue Sep 14, 2015 · 6 comments

Comments

@jrm2k6
Copy link

jrm2k6 commented Sep 14, 2015

Any tips/advice/some of your aha-moments that made you look differently at code/problems?

What do you think make you a better developer than the average one?

@gaearon
Copy link
Owner

gaearon commented Sep 14, 2015

Learning basics of functional programming was a life-changing moment. (Mostly adequate guide is good.) You'll also want to get at least passingly familiar with different languages, e.g. OCaml, Scheme, F#, Erlang. I can hardly write a program in any of them, but they still influenced how I see programming.

Read a good blog completely. My favorite one is Programming in 21 Century. Joel on Software's archive classic posts for an easy reading.

Read a lot of other people's code. Read about different abstractions and where they come from. For example, read how Promises made their way in JavaScript, how they correspond to Futures and similar abstractions in other languages, notice how jQuery got them totally wrong and why. Then read about Observables, Rx and its many implementations in different languages. Try to understand monads but forget about them if they don't make sense yet.

Contribute to an open source project. Find your tribe on Twitter and communicate. Listen to what really smart folks are saying and watch what they do. Imitate and learn by making mistakes. Learn about your weaknesses.

Avoid being clever. Reading your own code from the past helps.

Recognize when you're not particularly clever, and find what you can bring to the table instead. I'm talking about myself here—a lot of concepts and ideas are very hard for me to grasp so I purposefully don't bother and instead do what I know I do best—discover good stuff from more clever people and help make it accessible.

@gaearon gaearon closed this as completed Sep 14, 2015
@jrm2k6
Copy link
Author

jrm2k6 commented Sep 14, 2015

Thanks a lot for the answer! Really helpful!

@tappleby
Copy link

Read a lot of other people's code.

👍

@ewdave
Copy link

ewdave commented Sep 21, 2015

Darn helpful. Thanks Dan Abramov

@slorber
Copy link

slorber commented Nov 18, 2015

For those interested to learn FP, I think Scala is a nice place to start.

There are very good Coursera MOOC to learn:
https://www.coursera.org/course/progfun
https://www.coursera.org/course/reactive

This book can go further:
https://www.manning.com/books/functional-programming-in-scala

Or you can do Haskell...

@christian-fei
Copy link

👍
I absolutely recommend this introductory course on FP
https://www.edx.org/course/introduction-functional-programming-delftx-fp101x-0

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

6 participants