Get quick answers to your questions about the article from our AI researcher chatbot
{'id': 'https://openalex.org/W1596790865', 'doi': None, 'title': 'The Pragmatic Programmer: From Journeyman to Master', 'display_name': 'The Pragmatic Programmer: From Journeyman to Master', 'publication_year': 1999, 'publication_date': '1999-01-01', 'ids': {'openalex': 'https://openalex.org/W1596790865', 'mag': '1596790865'}, 'language': 'en', 'primary_location': {'is_oa': False, 'landing_page_url': 'http://ci.nii.ac.jp/ncid/BA51839218', 'pdf_url': None, 'source': None, 'license': None, 'license_id': None, 'version': None, 'is_accepted': False, 'is_published': False}, 'type': 'book', 'type_crossref': 'book', 'indexed_in': [], 'open_access': {'is_oa': False, 'oa_status': 'closed', 'oa_url': None, 'any_repository_has_fulltext': False}, 'authorships': [{'author_position': 'first', 'author': {'id': 'https://openalex.org/A5055134079', 'display_name': 'A. Hunt', 'orcid': 'https://orcid.org/0000-0002-2753-7567'}, 'institutions': [], 'countries': [], 'is_corresponding': False, 'raw_author_name': 'Andrew Hunt', 'raw_affiliation_strings': [], 'affiliations': []}, {'author_position': 'last', 'author': {'id': 'https://openalex.org/A5103856202', 'display_name': 'David A. Thomas', 'orcid': None}, 'institutions': [], 'countries': [], 'is_corresponding': False, 'raw_author_name': 'David Thomas', 'raw_affiliation_strings': [], 'affiliations': []}], 'institution_assertions': [], 'countries_distinct_count': 0, 'institutions_distinct_count': 0, 'corresponding_author_ids': [], 'corresponding_institution_ids': [], 'apc_list': None, 'apc_paid': None, 'fwci': 1.548, 'has_fulltext': False, 'cited_by_count': 474, 'citation_normalized_percentile': {'value': 0.923475, 'is_in_top_1_percent': False, 'is_in_top_10_percent': True}, 'cited_by_percentile_year': {'min': 99, 'max': 100}, 'biblio': {'volume': None, 'issue': None, 'first_page': None, 'last_page': None}, 'is_retracted': False, 'is_paratext': False, 'primary_topic': {'id': 'https://openalex.org/T10639', 'display_name': 'Advanced Software Engineering Methodologies', 'score': 0.4799, 'subfield': {'id': 'https://openalex.org/subfields/1702', 'display_name': 'Artificial Intelligence'}, 'field': {'id': 'https://openalex.org/fields/17', 'display_name': 'Computer Science'}, 'domain': {'id': 'https://openalex.org/domains/3', 'display_name': 'Physical Sciences'}}, 'topics': [{'id': 'https://openalex.org/T10639', 'display_name': 'Advanced Software Engineering Methodologies', 'score': 0.4799, 'subfield': {'id': 'https://openalex.org/subfields/1702', 'display_name': 'Artificial Intelligence'}, 'field': {'id': 'https://openalex.org/fields/17', 'display_name': 'Computer Science'}, 'domain': {'id': 'https://openalex.org/domains/3', 'display_name': 'Physical Sciences'}}, {'id': 'https://openalex.org/T10679', 'display_name': 'Service-Oriented Architecture and Web Services', 'score': 0.4769, 'subfield': {'id': 'https://openalex.org/subfields/1710', 'display_name': 'Information Systems'}, 'field': {'id': 'https://openalex.org/fields/17', 'display_name': 'Computer Science'}, 'domain': {'id': 'https://openalex.org/domains/3', 'display_name': 'Physical Sciences'}}, {'id': 'https://openalex.org/T10715', 'display_name': 'Distributed and Parallel Computing Systems', 'score': 0.4433, 'subfield': {'id': 'https://openalex.org/subfields/1705', 'display_name': 'Computer Networks and Communications'}, 'field': {'id': 'https://openalex.org/fields/17', 'display_name': 'Computer Science'}, 'domain': {'id': 'https://openalex.org/domains/3', 'display_name': 'Physical Sciences'}}], 'keywords': [{'id': 'https://openalex.org/keywords/programmer', 'display_name': 'Programmer', 'score': 0.55238926}, {'id': 'https://openalex.org/keywords/code-refactoring', 'display_name': 'Code refactoring', 'score': 0.4333498}], 'concepts': [{'id': 'https://openalex.org/C2778514511', 'wikidata': 'https://www.wikidata.org/wiki/Q1374194', 'display_name': 'Programmer', 'level': 2, 'score': 0.55238926}, {'id': 'https://openalex.org/C41008148', 'wikidata': 'https://www.wikidata.org/wiki/Q21198', 'display_name': 'Computer science', 'level': 0, 'score': 0.48441604}, {'id': 'https://openalex.org/C152752567', 'wikidata': 'https://www.wikidata.org/wiki/Q116877', 'display_name': 'Code refactoring', 'level': 3, 'score': 0.4333498}, {'id': 'https://openalex.org/C529173508', 'wikidata': 'https://www.wikidata.org/wiki/Q638608', 'display_name': 'Software development', 'level': 3, 'score': 0.41385442}, {'id': 'https://openalex.org/C2777904410', 'wikidata': 'https://www.wikidata.org/wiki/Q7397', 'display_name': 'Software', 'level': 2, 'score': 0.3760389}, {'id': 'https://openalex.org/C187736073', 'wikidata': 'https://www.wikidata.org/wiki/Q2920921', 'display_name': 'Management', 'level': 1, 'score': 0.35249734}, {'id': 'https://openalex.org/C115903868', 'wikidata': 'https://www.wikidata.org/wiki/Q80993', 'display_name': 'Software engineering', 'level': 1, 'score': 0.34117788}, {'id': 'https://openalex.org/C199360897', 'wikidata': 'https://www.wikidata.org/wiki/Q9143', 'display_name': 'Programming language', 'level': 1, 'score': 0.23401034}, {'id': 'https://openalex.org/C162324750', 'wikidata': 'https://www.wikidata.org/wiki/Q8134', 'display_name': 'Economics', 'level': 0, 'score': 0.0}], 'mesh': [], 'locations_count': 1, 'locations': [{'is_oa': False, 'landing_page_url': 'http://ci.nii.ac.jp/ncid/BA51839218', 'pdf_url': None, 'source': None, 'license': None, 'license_id': None, 'version': None, 'is_accepted': False, 'is_published': False}], 'best_oa_location': None, 'sustainable_development_goals': [], 'grants': [], 'datasets': [], 'versions': [], 'referenced_works_count': 0, 'referenced_works': [], 'related_works': ['https://openalex.org/W617329964', 'https://openalex.org/W577898292', 'https://openalex.org/W3143245542', 'https://openalex.org/W2983995785', 'https://openalex.org/W2752455916', 'https://openalex.org/W2163137257', 'https://openalex.org/W2154774499', 'https://openalex.org/W2153887189', 'https://openalex.org/W2134062730', 'https://openalex.org/W2123586642', 'https://openalex.org/W18855373', 'https://openalex.org/W1649645444', 'https://openalex.org/W1564594068', 'https://openalex.org/W1562934601', 'https://openalex.org/W1517055698', 'https://openalex.org/W1511637839', 'https://openalex.org/W1493688518', 'https://openalex.org/W1491658088', 'https://openalex.org/W1488077794', 'https://openalex.org/W1485658078'], 'abstract_inverted_index': {'What': [0], 'others': [1], 'in': [2, 155, 244, 255, 542, 564], 'the': [3, 21, 118, 138, 145, 150, 191, 226, 246, 280, 288, 355, 380, 388, 399, 447, 505, 559], 'trenches': [4], 'say': [5], 'about': [6, 12, 104], 'The': [7, 25, 122, 383, 501], 'Pragmatic': [8, 384, 502, 570], 'Programmer...\r\n\r\n\x1cThe': [9], 'cool': [10], 'thing': [11], 'this': [13, 52, 164, 273, 332, 358, 438], 'book': [14, 26, 53, 95, 165, 194, 359], 'is': [15, 93, 120, 190, 254], 'that': [16, 163, 360, 368, 409, 557], 'it\x19s': [17, 354], 'great': [18, 57, 232], 'for': [19, 134, 152, 175, 250, 312, 318, 371, 426, 530, 561], 'keeping': [20, 427], 'programming': [22, 381, 457], 'process': [23], 'fresh.': [24], 'helps': [27], 'you': [28], 'to': [29, 31, 54, 85, 211, 224, 330, 334, 397, 423, 433], 'continue': [30], 'grow': [32], 'and': [33, 62, 70, 88, 114, 127, 144, 178, 283, 296, 391, 404, 420, 431, 435, 440, 454, 465, 470, 491, 498, 508, 537, 546, 552, 555], 'clearly': [34], 'comes': [35, 204], 'from': [36, 379, 417], 'people': [37, 372], 'who': [38, 259, 314], 'have': [39, 160, 276, 291], 'been': [40, 137], 'there.\x1d\r\n\r\n\x14': [41], 'Kent': [42], 'Beck,': [43], 'author': [44, 67, 184], 'of': [45, 59, 68, 117, 149, 172, 185, 193, 201, 228, 279, 357, 393, 449, 475, 488, 511, 515], 'Extreme': [46], 'Programming': [47], 'Explained:': [48], 'Embrace': [49], 'Change\r\n\r\n\x1cI': [50], 'found': [51], 'be': [55, 308], 'a': [56, 75, 90, 94, 156, 198, 231, 309, 319, 352, 402, 486, 520, 527, 569], 'mix': [58], 'solid': [60], 'advice': [61], 'wonderful': [63], 'analogies!\x1d\r\n\r\n\x14': [64], 'Martin': [65], 'Fowler,': [66], 'Refactoring': [69], 'UML': [71], 'Distilled\r\n\r\n\x1cI': [72], 'would': [73, 97, 102, 328], 'buy': [74, 197], 'copy,': [76], 'read': [77, 374], 'it': [78, 105, 203, 210, 285], 'twice,': [79], 'then': [80], 'tell': [81], 'all': [82], 'my': [83, 212, 293, 302, 339], 'colleagues': [84], 'run': [86], 'out': [87, 205], 'grab': [89], 'copy.': [91], 'This': [92, 306], 'I': [96, 101, 159, 195, 207, 275, 361], 'never': [98], 'loan': [99], 'because': [100], 'worry': [103], 'being': [106], 'lost.\x1d\r\n\r\n\x14': [107], 'Kevin': [108], 'Ruland,': [109], 'Management': [110], 'Science,': [111], 'MSG-Logistics\r\n\r\n\x1cThe': [112], 'wisdom': [113], 'practical': [115, 281], 'experience': [116], 'authors': [119, 356], 'obvious.': [121], 'topics': [123, 415], 'presented': [124], 'are': [125], 'relevant': [126], 'useful....': [128], 'By': [129], 'far': [130], 'its': [131, 411], 'greatest': [132, 247], 'strength': [133], 'me': [135, 300], 'has': [136], 'outstanding': [139], 'analogies\x14tracer': [140], 'bullets,': [141], 'broken': [142], 'windows,': [143], 'fabulous': [146], 'helicopter-based': [147], 'explanation': [148], 'need': [151], 'orthogonality,': [153], 'especially': [154], 'crisis': [157], 'situation.': [158], 'little': [161], 'doubt': [162], 'will': [166, 196], 'eventually': [167], 'become': [168, 568], 'an': [169, 523], 'excellent': [170, 266], 'source': [171], 'useful': [173], 'information': [174], 'journeymen': [176], 'programmers': [177], 'expert': [179], 'mentors': [180], 'alike.\x1d\r\n\r\n\x14': [181], 'John': [182], 'Lakos,': [183], 'Large-Scale': [186], 'C++': [187], 'Software': [188, 216, 324, 344], 'Design\r\n\r\n\x1cThis': [189], 'sort': [192], 'dozen': [199], 'copies': [200], 'when': [202], 'so': [206], 'can': [208], 'give': [209], 'clients.\x1d\r\n\r\n\x14': [213], 'Eric': [214], 'Vought,': [215], 'Engineer\r\n\r\n\x1cMost': [217], 'modern': [218, 394], 'books': [219], 'on': [220, 239], 'software': [221, 233, 252, 395, 445, 516, 531], 'development': [222, 396, 422], 'fail': [223], 'cover': [225], 'basics': [227], 'what': [229], 'makes': [230], 'developer,': [234], 'instead': [235], 'spending': [236], 'their': [237, 262, 375], 'time': [238, 295], 'syntax': [240], 'or': [241, 526], 'technology': [242], 'where': [243], 'reality': [245], 'leverage': [248], 'possible': [249], 'any': [251], 'team': [253], 'having': [256], 'talented': [257], 'developers': [258], 'really': [260], 'know': [261], 'craft': [263], 'well.': [264], 'An': [265], 'book.\x1d\r\n\r\n\x14': [267, 376], 'Pete': [268], 'McBreen,': [269], 'Independent': [270], 'Consultant\r\n\r\n\x1cSince': [271], 'reading': [272], 'book,': [274, 439], 'implemented': [277], 'many': [278, 512], 'suggestions': [282], 'tips': [284], 'contains.': [286], 'Across': [287], 'board,': [289], 'they': [290], 'saved': [292], 'company': [294], 'money': [297], 'while': [298], 'helping': [299], 'get': [301], 'job': [303, 547], 'done': [304], 'quicker!': [305], 'should': [307], 'desktop': [310], 'reference': [311], 'everyone': [313], 'works': [315], 'with': [316, 462, 483, 493], 'code': [317, 408, 429, 461], 'living.\x1d\r\n\r\n\x14': [320], 'Jared': [321], 'Richardson,': [322], 'Senior': [323, 343], 'Developer,': [325], 'iRenaissance,': [326], 'Inc.\r\n\r\n\x1cI': [327], 'like': [329], 'see': [331, 540], 'issued': [333], 'every': [335], 'new': [336, 521], 'employee': [337], 'at': [338], 'company....\x1d\r\n\r\n\x14': [340], 'Chris': [341], 'Cleeland,': [342], 'Engineer,': [345], 'Object': [346], 'Computing,': [347], 'Inc.\r\n\r\n\x1cIf': [348], 'I\x19m': [349], 'putting': [350], 'together': [351], 'project,': [353], 'want.': [362], '.': [363, 364, 365], 'And': [366], 'failing': [367], 'I\x19d': [369], 'settle': [370], 'who\x19ve': [373], 'Ward': [377], 'Cunningham\r\n\r\nStraight': [378], 'trenches,': [382], 'Programmer': [385, 503], 'cuts': [386], 'through': [387], 'increasing': [389], 'specialization': [390], 'technicalities': [392], 'examine': [398], 'core': [400], 'process--taking': [401], 'requirement': [403], 'producing': [405], 'working,': [406], 'maintainable': [407], 'delights': [410], 'users.': [412], 'It': [413], 'covers': [414], 'ranging': [416], 'personal': [418, 543], 'responsibility': [419], 'career': [421], 'architectural': [424], 'techniques': [425], 'your': [428, 460, 472, 479, 565], 'flexible': [430], 'easy': [432], 'adapt': [434], 'reuse.': [436], 'Read': [437], "you'll": [441, 538], 'learn': [442, 550], 'how': [443], 'to\r\n\r\nFight': [444], 'rot;\r\n\r\nAvoid': [446], 'trap': [448], 'duplicating': [450], 'knowledge;\r\n\r\nWrite': [451], 'flexible,': [452], 'dynamic,': [453], 'adaptable': [455], 'code;\r\n\r\nAvoid': [456], 'by': [458], 'coincidence;\r\n\r\nBullet-proof': [459], 'contracts,': [463], 'assertions,': [464], 'exceptions;\r\n\r\nCapture': [466], 'real': [467], 'requirements;\r\n\r\nTest': [468], 'ruthlessly': [469], 'effectively;\r\n\r\nDelight': [471], 'users;\r\n\r\nBuild': [473], 'teams': [474], 'pragmatic': [476], 'programmers;': [477], 'and\r\n\r\nMake': [478], 'developments': [480], 'more': [481], 'precise': [482], 'automation.\r\n\r\nWritten': [484], 'as': [485], 'series': [487], 'self-contained': [489], 'sections': [490], 'filled': [492], 'entertaining': [494], 'anecdotes,': [495], 'thoughtful': [496], 'examples,': [497], 'interesting': [499], 'analogies,': [500], 'illustrates': [504], 'best': [506], 'practices': [507], 'major': [509], 'pitfalls': [510], 'different': [513], 'aspects': [514], 'development.': [517], 'Whether': [518], "you're": [519], 'coder,': [522], 'experienced': [524], 'programmer,': [525], 'manager': [528], 'responsible': [529], 'projects,': [532], 'use': [533], 'these': [534], 'lessons': [535], 'daily,': [536], 'quickly': [539], 'improvements': [541], 'productivity,': [544], 'accuracy,': [545], 'satisfaction.': [548], "You'll": [549, 567], 'skills': [551], 'develop': [553], 'habits': [554], 'attitudes': [556], 'form': [558], 'foundation': [560], 'long-term': [562], 'success': [563], 'career.': [566], 'Programmer.': [571]}, 'cited_by_api_url': 'https://api.openalex.org/works?filter=cites:W1596790865', 'counts_by_year': [{'year': 2024, 'cited_by_count': 12}, {'year': 2023, 'cited_by_count': 13}, {'year': 2022, 'cited_by_count': 16}, {'year': 2021, 'cited_by_count': 24}, {'year': 2020, 'cited_by_count': 26}, {'year': 2019, 'cited_by_count': 19}, {'year': 2018, 'cited_by_count': 25}, {'year': 2017, 'cited_by_count': 20}, {'year': 2016, 'cited_by_count': 20}, {'year': 2015, 'cited_by_count': 41}, {'year': 2014, 'cited_by_count': 26}, {'year': 2013, 'cited_by_count': 17}, {'year': 2012, 'cited_by_count': 26}], 'updated_date': '2024-12-14T23:02:15.083646', 'created_date': '2016-06-24'}