News for hackers. Stuff that matters.
Re:Three Paths in the Tech Industry: Founder, Executive, or ... by plicense on Friday September 29, 2017 @02:32AM (#15363214)
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)

Re:Three Paths in the Tech Industry: Founder, Executive, or ... by tommikaikkonen on Friday September 29, 2017 @02:53AM (#15363310)
What was the optimization?
Re:Three Paths in the Tech Industry: Founder, Executive, or ... by plicense on Monday October 02, 2017 @02:36PM (#15386539)
Our 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.