2018-02-23 18:58:03 +00:00
|
|
|
---
|
|
|
|
created_at: '2016-03-23T20:59:59.000Z'
|
|
|
|
title: A guide on how to be a Programmer (2002)
|
|
|
|
url: https://github.com/braydie/HowToBeAProgrammer
|
|
|
|
author: gnocchi
|
|
|
|
points: 207
|
|
|
|
story_text:
|
|
|
|
comment_text:
|
|
|
|
num_comments: 44
|
|
|
|
story_id:
|
|
|
|
story_title:
|
|
|
|
story_url:
|
|
|
|
parent_id:
|
|
|
|
created_at_i: 1458766799
|
|
|
|
_tags:
|
|
|
|
- story
|
|
|
|
- author_gnocchi
|
|
|
|
- story_11348182
|
|
|
|
objectID: '11348182'
|
2018-06-08 12:05:27 +00:00
|
|
|
year: 2002
|
2018-02-23 18:58:03 +00:00
|
|
|
|
|
|
|
---
|
2018-03-03 09:35:28 +00:00
|
|
|
# [](#how-to-be-a-programmer-community-version)How to be a Programmer: Community Version
|
2018-02-23 18:19:40 +00:00
|
|
|
|
2018-03-03 09:35:28 +00:00
|
|
|
Robert L. Read with Community
|
2018-02-23 18:19:40 +00:00
|
|
|
|
2018-03-03 09:35:28 +00:00
|
|
|
Copyright 2002, 2003, 2016 Robert L. Read
|
2018-02-23 18:19:40 +00:00
|
|
|
|
2018-03-03 09:35:28 +00:00
|
|
|
Licensed under [Creative Commons Attribution-ShareAlike 4.0
|
|
|
|
International License](http://creativecommons.org/licenses/by-sa/4.0/).
|
|
|
|
|
|
|
|
[Available on gitbook to read online or download for offline reading (as
|
|
|
|
PDF, ePub or
|
|
|
|
Mobi)](https://www.gitbook.com/book/braydie/how-to-be-a-programmer/details)
|
|
|
|
|
|
|
|
[Available to buy as a hardcover book (cost covers production & shipping
|
|
|
|
only)](http://www.blurb.com/b/6999069-how-to-be-a-programmer) - Edition
|
|
|
|
1, published 04/01/16
|
|
|
|
|
|
|
|
## [](#introduction)Introduction
|
|
|
|
|
|
|
|
To be a good programmer is difficult and noble. The hardest part of
|
|
|
|
making real a collective vision of a software project is dealing with
|
|
|
|
one's coworkers and customers. Writing computer programs is important
|
|
|
|
and takes great intelligence and skill. But it is really child's play
|
|
|
|
compared to everything else that a good programmer must do to make a
|
|
|
|
software system that succeeds for both the customer and myriad
|
|
|
|
colleagues for whom he or she is partially responsible. In this essay I
|
|
|
|
attempt to summarize as concisely as possible those things that I wish
|
|
|
|
someone had explained to me when I was twenty-one.
|
|
|
|
|
|
|
|
This is very subjective and, therefore, this essay is doomed to be
|
|
|
|
personal and somewhat opinionated. I confine myself to problems that a
|
|
|
|
programmer is very likely to have to face in her work. Many of these
|
|
|
|
problems and their solutions are so general to the human condition that
|
|
|
|
I will probably seem preachy. I hope in spite of this that this essay
|
|
|
|
will be useful.
|
|
|
|
|
|
|
|
Computer programming is taught in courses. The excellent books: The
|
|
|
|
Pragmatic Programmer \[Prag99\], Code Complete \[CodeC93\], Rapid
|
|
|
|
Development \[RDev96\], and Extreme Programming Explained \[XP99\] all
|
|
|
|
teach computer programming and the larger issues of being a good
|
|
|
|
programmer. The essays of Paul Graham \[PGSite\] and Eric Raymond
|
|
|
|
\[Hacker\] should certainly be read before or along with this article.
|
|
|
|
This essay differs from those excellent works by emphasizing social
|
|
|
|
problems and comprehensively summarizing the entire set of necessary
|
|
|
|
skills as I see them.
|
|
|
|
|
|
|
|
In this essay the term boss is used to refer to whomever gives you
|
|
|
|
projects to do. I use the words business, company, and tribe,
|
|
|
|
synonymously except that business connotes moneymaking, company connotes
|
|
|
|
the modern workplace and tribe is generally the people you share loyalty
|
|
|
|
with.
|
|
|
|
|
|
|
|
Welcome to the tribe.
|
|
|
|
|
|
|
|
## [](#contents)Contents
|
|
|
|
|
|
|
|
**Also available in
|
|
|
|
[Chinese](/braydie/HowToBeAProgrammer/blob/master/zh/README.md) and
|
|
|
|
[Japanese](/braydie/HowToBeAProgrammer/blob/master/jp/README.md)**
|
|
|
|
|
|
|
|
[![Creative Commons
|
|
|
|
License](https://camo.githubusercontent.com/e170e276291254896665fa8f612b99fe5b7dd005/68747470733a2f2f692e6372656174697665636f6d6d6f6e732e6f72672f6c2f62792d73612f342e302f38387833312e706e67)](http://creativecommons.org/licenses/by-sa/4.0/)
|
|
|
|
How To Be A Programmer: Community Version by Robert L. Read with
|
|
|
|
Community is licensed under a [Creative Commons
|
|
|
|
Attribution-ShareAlike 4.0 International
|
|
|
|
License](http://creativecommons.org/licenses/by-sa/4.0/).
|