Work with real IDE usage data (from PyCharm and other JetBrains IDEs) to identify what actually helps developers and what gets in their way. You'll define clear metrics, run analyses, and validate changes that make developers faster and the UI less distracting.
Example projects:
Python doesn’t have strict static typing. In PyCharm we show type-related problems before you run code. Do these checks actually help?
Understand whether pre-run type checks help reduce common runtime errors and speed up the feedback loop, so we can decide how much to invest in them.
Outcomes to examine:
Runtime TypeError/AttributeError per runs/tests
Time and attempts to reach "all tests green"
Navigation and code completion efficiency (e.g., jumps to definition per hour, completion acceptance rate)
What you’ll do:
Define metrics for how much typing/checking is used in a project or session
Define analysis sessions (e.g., from first failing test to all tests passing, or one debug/run cycle)
Compare results across projects and before/after enabling type checks
Goal: Our IDEs have many buttons, panels, and tool windows. Some are very helpful, others take space but add little. We want the UI to feel lighter without hurting power users.
Identify low‑value, high‑space elements and propose better defaults, placement, or removal.
Outcomes to examine:
"Good” vs “bad” clicks: clicks that lead to an action vs clicks quickly undone/closed or repeated (rage/dead/bounce)
Passive value: panels rarely clicked but useful to glance at (e.g., errors, build status)
Placement: first screenful visibility, top-of-menu spots
Friction: open–close–open loops, repeated searches for the same command, long time-to-command
What you’ll do:
Create simple scores per element: usefulness, cost (space/interruptions), and friction
Rank candidates for hide/reposition/remove
Estimate “position lift”
Optionally validate with A/B tests
Python
SQL
Statistics