dev-resources.site
for different kinds of informations.
Dotan Nahum on building your own toolbox... and other things I learned recording him DevJourney (#136)
Published at
2/2/2021
Categories
devjourney
career
hacking
cybersecurity
Author
timothep
Author
8 person written this
timothep
open
This week, I published Dotan Nahum's #DevJourney story on my eponym Podcast: Software developer's Journey. Among many other things, here are my main personal takeaways:
- Dotan's story started in a place of scarcity. There was barely a computer around, no-one to teach him anything, no books, and only a birthing internet he could use via an "unofficial" link on the local university network. From the get-go, Dotan was triggered by that scarcity and the willingness to have more, understand more, know more. He had to be curious and find his way around everything. Before he knew it, he was hacking, and creating his own tools. First offensive tools, and soon enough defensive ones as well. And then he stepped into Open-Source-Software development.
- IRC and online communities became Dotan's open window to the world. Before he had finished high school, he already came in contact with programmers and hackers from all around the world. Thankfully, he was driven by his passion and curiosity and never fell into "doing something stupid". That and finding ways to cheat at video games 😄
- He then went for 4 years into the army. There he was given "crazy responsibilities" over transmission systems. There he learned how to really understand and own a system and think fast on his feet.
- Out of his military service, Dotan went to university to study computer sciences but convinced he would become a fighter pilot. Until that time, it never occurred to him that computers could become his life.
- Soon after university, he realized his learning had stalled. He needed to be more deliberate about it. He was fairly good with C, Perl, and Python, but wanted to learn how to develop software "correctly". So he made a 5 years plan. He picked up Lisp, Scheme, F# and learned functional programming.
- Dotan's process for learning a new language is to first dip his toes into the water by doing a small project right away. When he faces a wall, he circles back and tries to understand what the underlying understanding problem is. This way of facing a problem puts your brain into "learning mode" as Dotan puts it. And this is the key to learning effectively.
- Since he was learning so many languages, he created different syntax highlighting schemes to make sure to prime his brain to the correct language. It took him a few years to get over the feeling of writing code in a non-idiomatic way. The key here was to learn the functional paradigm really well. Then he could use an idiomatic functional way of programming in every language. That coupled with Domain-Driven Design and a solid understanding of Type-Systems and Compilers made it easier to navigate many languages at the same time.
- Dotan described the journey of a programmer as follows. First, you face the "Mindset gap", where you realize that you can build everything you could dream of. Then the "Language Gap" where you need to learn languages and learn how to learn languages. Finally, the "knowledge gap" where you learn "the rest", the domain, the processes, the people skills, etc. required to build solutions and systems.
- In order to try and type as fast as he was thinking, Dotan also geeked out about keyboards, re-learned how to type with 10 fingers touch-type, tried Dvorak layouts, tested mechanical keyboards, and much more, before realizing that he had to ditch the mouse and learn VIM. In the end, he wished he had gotten into VIM earlier. "This was a meteoric jump."
- This learning was very deliberate. Dotan realizes that he put a lot of effort into this and sacrificed a part of his life. But looking back to what he achieved and how he was able to help, mentor others and be the mentor he never had, he is convinced it was worth it!
Advice:
- "Build your own toolbox"
Quotes:
- "Before I knew it, I was writing code to gain knowledge"
- "There's the imperative world and the functional one, and in order to get better, you have to understand both"
Thanks, Dotan for sharing your story with us!
You can find the full episode and the show notes on devjourney.info or directly here on DEV
Did you listen to his story?
- What did you learn?
- What are your personal takeaways?
- What did you find particularly interesting?
devjourney Article's
30 articles in total
Learning Zig : a Python dev's learning notes
read article
Can You Be My Inspiration?
read article
Baby steps with Go
read article
Ryan Hamblin is an experiential learner and other things I learned recording his DevJourney (#159)
read article
Kara Luton went from ballet and public relations to developer and other things I learned recording her DevJourney (#158)
read article
Clare Sudbery surfing on her imposter syndrome and other things I learned recording her DevJourney (#156)
read article
Anand Safi is setting people up for success... and other things I learned recording his DevJourney (#154)
read article
Clifford Agius is a developer flying a Boeing 787 for fun, and other things I learned recording his DevJourney (#153)
read article
Shahid Iqbal from drug design to software development and other things I learned recording his DevJourney (#157)
read article
Shawn Wang joined the "fine I'll do it myself" team... and other things I learned recording his DevJourney (#152)
read article
Sandra Parsick from QA-Engineer to Java-Champion and other things I learned recording her DevJourney (#155)
read article
Ryan Bergman loves terrible code... and other things I learned recording his DevJourney (#150)
read article
Bryan Beecham cares about people... and other things I learned recording his DevJourney (#148)
read article
Chris Coyier, from ceramics to CSS-Tricks and CodePen. Here's what I learned recording his DevJourney (#151)
read article
Things I wish I knew when starting my web dev journey
read article
Leticia Portella started with MATHLABianesque Python... and other things I learned recording her DevJourney (#149)
read article
Caitlyn Greffly chose software development because it made sense across the board (DevJourney #147)
read article
How is Miguel Piedrafita, 19 years old indie maker, learning and creating? (DevJourney #146)
read article
Darko Meszaros is a utilitarian developer... and other things I learned recording his DevJourney (#145)
read article
I've parked my side projects - hobbies to enable my career growth
read article
Bert Jan Schrijver took his career into his own hands... and other things I learned recording his DevJourney (#143)
read article
JOURNEYING AS A CODECOLLAB FELLOW WITH OUR TIME FOR TECH
read article
Lior Bar Yosef is a network analyst in a world of puzzles... and other things I learned recording her DevJourney (#142)
read article
Freya Holmér, a level-designer turned game-developer... and other things I learned recording her DevJourney (#141)
read article
Matt Biilmann discovered the JAMStack... and other things I learned recording his DevJourney (#140)
read article
Mark Rendle is a programmer turned comedian turned programmer... and other things I learned recording his DevJourney (#139)
read article
Kristy-Leigh Minehan almost burned seeking a crypto high-score... and other things I learned recording her DevJourney (#138)
read article
Nadia Zhuk from 0 to crossing the Rubycon... and other things I learned recording her DevJourney (#137)
read article
Dotan Nahum on building your own toolbox... and other things I learned recording him DevJourney (#136)
currently reading
Emily Robinson making sense of data science for us... and other things I learned recording her DevJourney (#135)
read article
Featured ones: