{'fraction_non_alphanumeric': 0.02596053997923157, 'fraction_numerical': 0.003115264797507788, 'mean_word_length': 5.426666666666667, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
The programmer life-cycle

The traditional analysis of programmer productivity ignores the reality that work rates of programmers are variable over time. Not unlike the software systems they construct, programmers follow a predictable life-cycle. However, the programmer life-cycle is not comprised of activities but rather by phases that directly affect and predict productivity. The sequence of phases is: euphoric, productive, irreplaceable, resentful, bored, and unproductive. Overall productivity is characterized by an initial six month period of intense interest, at which time productivity rates are often an order of magnitude higher than the oft-quoted 500 LOC/month average. After a short period of volatility, the programmer then enters a prolonged phase of steadily dwindling interest, resulting in productivity rates that mimic the average. Each time a programmer switches employers or begins a significantly new project, the life-cycle starts anew.