HackerTrans
TopNewTrendsCommentsPastAskShowJobs

pratik661

no profile record

comments

pratik661
·27 dagen geleden·discuss
Also, motorized blades and grinders were revolutionary for the categories of recipes they unlocked
pratik661
·9 maanden geleden·discuss
This is analogous to an elevator that’s unidirectional
pratik661
·9 maanden geleden·discuss
A lot of field studies on chimpanzees also indicate similar behavior (ie taking care of former leaders after they aged out of their prime)
pratik661
·4 jaar geleden·discuss
Just got Arthashastra. It’s amazing. Han Feizi is next on my list.
pratik661
·6 jaar geleden·discuss
A mental model I use all the time when programming is "Chesterton's Fence" (When removing a fence, you must know why the fence was placed there in the first place).

When making changes to an existing system (whether its adding new functionality, extending existing functionality, or refactoring the code while maintaining existing functionality), try to understand the intent behind the current structure of the code and why certain design choices were made.

Once you understand that, you can add new features/extend existing features using the same design OR refactor the code with a new design without impacting existing functionality (assuming you don't have universal test coverage... which frankly will be the case a lot of the time).

Another tactic I use is verbalizing my design choices before/during the implementation of a feature/product. When programming, a lot of developers create a mental structure/map of the code base and what changes they are implementing. They know the changes they are making in their mind and know how to execute them. However, if they were to explain what they were doing to another developer (for collaboration, handoff, etc) or to business/product (ie. in order to explain estimations), they freeze up. Verbalizing your design choice will strengthen your technical communication skills.

Those 2 things aren't necessarily skills, but they are tactics that can be used to be a better programmer.