Jump to content
MrGrj

How do programming experts learn deep details in programming languages ?

Recommended Posts

  • Active Members

How do programming experts learn deep details in programming languages and architectures that you can't find in books and online tutorials?

Genial raspuns:

We lived in terrible economic times when I turned 4. Kids in my neighborhood rode bicycles in the street and seemed to enjoy each others' company without a second thought spared on how to bike. I wanted to learn. Biking seemed like so much fun. I wanted to be just like them.

So for about two or three years, I asked my mom, dad, uncle, aunt, cousins, friends, and everyone else about all the intricacies of biking. I watched cartoons about biking. Scenes in movies with bikes in them jumped out at me. In the car, I'd ask my dad to slow down when bikers could be watched.

One day I walked into my room. A red bike greeted me with surprise. I ran and hugged my parents; they smiled. Then I took the bike out to practice my years of obsessive learning. I got on the seat, grabbed both handle bars, put my foot on the pedal and ... crashed to the floor!

I knew nothing.

The upset washed over me and I started practicing. You know when I learned how to bike? That same day. Biking doesn't involve logic; it involves muscles.

Years later, the same thing happened with programming. I did a bachelor in Computer Science, but didn't learn how to build a proper application after four years. There just seemed to be too many intricacies; too many questions to ask; too many books to read.

So I got fed up and just installed Visual Studio in Windows (back in the day). A week later, I was OK in C#. A month later, I'd ask questions that wouldn't occur to those who used it for their day job. Six months later, I dumped all my books but one, by just glancing over their tables of content and rejecting them for interest. You don't need books to learn how to bike.

Five years into a C# career, I moved to Silicon Valley for a C# job. The market there didn't like C#, so one of my main concerns became learning an open source language. For a few years I aimlessly bought books on Ruby, Python, etc and toyed with getting a stable environment up on Windows. Never did it stand up on its own.

When my company turned unstable, I finally decided to put aside my hesitation to spend on a MacBook. They don't sell one in red, or I would have bought it in bicycle red. The first day I installed Ruby on a Mac, I learned about 20% of what I know today. It just happened. In six months, I had a fully working platform built in Ruby. To learn to bike, you just need to go ahead and get the damn bike.

But a fascinating day arrived after two years:

A deep gnarly concurrency bug in some Capybara integration test prevented my code from passing the suite of tests consistently. Flakey test. Sending commits past the continuous integration into production turned into a crapshoot game. The deadline marched closer. For 48 hours I couldn't find my way out of this nightmare; just couldn't! I poured over StackOverflow, praying for an answer from God to this extremely rare situation.

An odd number of hours into the night, I came across the exact right answer: an irrelevant question posed an adjacent problem; someone gave a partial answer, and a commenter pointed out the corner case causing a testing bug, and how to avoid it.

I wrapped up my bug at 3 am, with one day remaining till the deadline to iterate without flakey tests interrupting. Thank God the other person knew more than I did. I found it only appropriate to go back to upvote and thank the commenter from StackOverflow. He wrote the comment two years ago, so maybe he wouldn't notice my message of gratitude, I thought. So I checked his name. His name ... mine!

A programmer gets lost in the logical branches of complexity that he himself creates. Deep learning solves by putting the unlearned on the bicycle.

Sursa pt dl. @fallen_angel aka ingeru' cazator in cap

Edited by MrGrj
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



×
×
  • Create New...