88 lines
4.1 KiB
Markdown
88 lines
4.1 KiB
Markdown
# Philosophy
|
|
|
|
The Code Bureau has many strong beliefs.
|
|
|
|
It's 57 pages, so there are no expecations that everyone reads. It does,
|
|
however, have many brilliant ideas and pretty much outlines exactly how the
|
|
Code Bureau is invisioned to work.
|
|
|
|
[Valve's Employee
|
|
Handbook](http://media.steampowered.com/apps/valve/Valve_NewEmployeeHandbook.pdf).
|
|
|
|
## T-Shaped People
|
|
|
|
Within most industries there are now too many skills for single person learn
|
|
even a fraction of the whole supply chain. A very early economic concept was
|
|
"division of labour", which entails cooperation between people with different
|
|
and specific skills. However, being able to cooperate not only requires a
|
|
knowing a specific skill well, but also knowing a little about the
|
|
rest of the teams skills. This not only for them to appreciate what others
|
|
do, but also make it easier to figure out where to turn when help is needed.
|
|
|
|
At Valve this is called "T-Shaped People", and is described (page 46) as
|
|
"...people who are both generalists (highly skilled at a broad set of valuable
|
|
things — the top of the T) and also experts (among the best in their field within
|
|
a narrow discipline — the vertical leg of the T)."
|
|
|
|
Becoming an expert in a discipline is greatly simplified by truly enjoying it.
|
|
To find such a discipline, testing many others first is usually required.
|
|
Therefore, it is recommended to become generalists first, and focus on becoming
|
|
an expert only after stumbling upon something that really excites.
|
|
|
|
## Seperation of Design & Logic
|
|
|
|
An extension of the "T-Shaped People" philosphy is a strong belief in the
|
|
need of separation of design and programming. Design and programming are
|
|
such vast fields that no person can possibly become proficient in both.
|
|
Thus, TCB believes developers should code, while designers design.
|
|
|
|
This is actually quite different from how many in the web industry work.
|
|
The term web designer is still more common than web developer, which is
|
|
a strong indication that. The result has been that many sub par developers
|
|
has written sub par code for very long.
|
|
|
|
As pure coders TCB can truly begin to unleash the potential of web development.
|
|
TCB not only truly understands the coding paradigm, but also exactly how the
|
|
servers run and how to interact with them.
|
|
|
|
## Open Source
|
|
|
|
As a result of our profound love to code and beautiful technical solutions, TCB
|
|
always strive to use the most optimal toolset. As previously mentioned, TCB
|
|
exclusively work with open source software. This is not because it is
|
|
free from costs, but because open-source tools are actually often the best.
|
|
|
|
## Modularity and Reusability
|
|
|
|
2. Build a reusable and modular code base to continuously reduce development
|
|
time for future projects.
|
|
|
|
A good consultant always charges new clients for work debited previous
|
|
clients. TCB's toolset was chosen with modularity as a primary target, and
|
|
all products developed at TCB are also designed to be modular.
|
|
Through modularity, the intent is to _massproduce tailormade solutions_.
|
|
|
|
A module used in one project should easily be included in another. This should
|
|
result in a high monetary yield of every programmed hour as they can
|
|
always reuse code from previous projects.
|
|
|
|
TCB provides services, and services in general experience lower or no Economies
|
|
of Scale. However, as more projects are completed and the code base grow, less
|
|
code should be required for each new application. This should greatly reduce
|
|
development costs, while leaving revenues unchanged.
|
|
|
|
## Kaizen
|
|
|
|
Kaizen is a Japanese management concept loosely translated as "good change".
|
|
Kaizen entails continuous improvements to all aspects of an organization
|
|
by involving all employees at all levels.
|
|
|
|
Kaizen is applied to everything at TCB, from this guide to the our client's
|
|
websites. Combined with the modularity of most code, TCB is effeciently able
|
|
deploy updates to all our customers, continuously improving their products
|
|
even after they have been delivered.
|
|
|
|
TCB aims to teach all students and employees an awareness that nothing is ever
|
|
really complete or perfect. Through small, continuous steps of improvement in
|
|
every part of the organization, everything can be optimized further.
|