4 ms·
I've come to the realization in my short career that 90% of my time will be spent on activities that produce 10% impact and 10% of my time will go towards activ
by plicense 9y ago
I've come to the realization in my short career that 90% of my time will be spent on activities that produce 10% impact and 10% of my time will go towards activities that have 90% impact. But the 10% time producing 90% impact stems from the fact that I spent the other 90% doing mundane work and understanding the environment/product/whatever problem am working towards solving.
As an example, my company uses Django and the first 6-8 months I have spent hours debugging what would be a stupid issue like misconfigured Django or missing url. Eventually, that led me to optimizing the version of shell_plus that my company was using improving its bootup time by 200%(this was a rather large codebase). That's an instant 200% gain per developer/per django shell load and is probably the most impactful thing I've ever done. We estimated it would save around 6.67 hours of developer time per day(2 minutes saved - was originally 2.45 * 200 developers * 1 shell load every day)
- tommikaikkonen 9y agoWhat was the optimization?
- plicense 9y agoOur version of shell_plus was trying to handle aliased models that were defined in settings.py. In order to do this, it was maintaining a map of {appName: [list of imports]}. When constructing this map, for some reason, it n^2 the imports - i.e., if an app "foo" had models "Bar", "Foo", "FooBar", then the import strings were, "from foo import Bar; from foo import Bar, Foo; from foo import Bar, Foo, FooBar" instead of "from foo import Bar, Foo, FooBar". Some apps had 50+ models, so instead of 1 import line for these 50 models, it was executing 2500 import lines. I fixed this so that it executed only one import line instead n^2 import lines.