Title: Theory / Important / Human / Job / Complete software developer's career
Tags: récupéré

Question: The idea behind most software development projects is
Answer: to automate a manual process, or
Page: 21
Answer2: to create a new automated way to do something that was too difficult to do manually.

Question: To automate something, you need
Answer: to know how to do it
Page: 22

Name: Test Driven Development
Definition: Write test to define what the software is supposed to do
Page: 23
Abbreviation: TDD

Question: How to easily convince someone you're a professional programmer just by your code
Answer: Write structured clear short understandable code
Page: 33
Chapter: 3

Name: Platform
Definition: An OS
Page: 36
Chapter: 3
Definition2: abstractions that act similar to operating systems
Conjdef: Either

Name: Framework
Definition: a set of libraries that are used to develop code on a particular platform or on multiple platforms
Page: 36
Chapter: 3
Example: .NET framework
Applied to: C#

Name: Stack
Definition: a set of technologies, usually including a framework, that are commonly used together to create a full application.
Page: 36
Chapter: 3
Context: Developper's career

Name: MEAN Stack
Definition: MongoDB is a database technology.
Page: 36
Chapter: 3
Context: Developper's career
Definition2: Express.js is a Node.js framework for creating web applications.
Definition3: AngularJS is a front-end JavaScript framework for creating the user interfaces for web applications.
Definition4: Node.js is a runtime environment for developing web-based applications in JavaScript.
DefType: The stack

Name: Build system
Definition: At the very least, it is going to compile all the code and make sure there are no compilation errors.
Page: 36
Chapter: 3
Context: Developper's career
Definition2: it may also run unit tests or user tests, run code quality checks, and provide some reporting on the current state of the code base.
Conjdef: both
DefType: A system

Name: A deployment system
Definition: A system responsible for deploying the code either to a production machine or perhaps to some kind of a test environment.
Page: 36
Chapter: 3
Context: Developper's career

Name: Methodology
Definition: A system responsible for deploying the code either to a production machine or perhaps to some kind of a test environment.
Page: 36
Chapter: 3
Context: Developper's career
Example: waterfall development
Example2: Agile development

Question: How do the author's teach anything
Answer: how big a particular technology is and an overview of what it can do
Page: 49
Chapter: 4
Context: Developper's career

Question: How do the author's teach a programming language
Answer: history of the language
Page: 49
Chapter: 4
Context: Developper's career
Answer2: what it is mostly used for
Answer3: all the constructs of the language and the language features— especially the unique ones
Answer4: Various libraries that are a standard part of the language and give you an idea of what you can do with them and what they cover.

Question: How to choose a programming language for a job
Answer: In a small place, and you don't want to relocate, look at what local company uses. Learn it
Page: 55
Chapter: 5
Context: Developper's career
Answer2: If you're interested by a particular kind of job, then the language mostly used to do this job
Answer3: Any popular programming language at the time where you learn it. Anyway, you'll learn other language later if required

Question: What to take into consideration to choose a programming language (not job related)
Answer: Whether it has many book/video/ressources about it, to learn about it
Page: 55
Chapter: 5
Context: Developper's career
Answer2: How difficult it is
Answer3: How easy it is to obtain everything required to develop with it
Answer4: whether you can obtain help when you're stuck
Answer5: How the language help you to adapt to any situation

Question: How to start learning a programing language
Answer: looking at the source code of an actual working application and trying to figure out as much of what is happening as possible. Moreover, get a feel for how things are named and how they are organized. Pretend like you are an archaeologist trying to understand the writing of some ancient civilization.
Page: 63
Chapter: 6
Context: Developper's career
Answer2: pick out a few books or other resources—such as videos, articles, or tutorials—and scan through them.
Answer3: become familiar with and test out the basic tool chain required to build and run a program to do an Hello World
Answer4: What you want to do now is familiarize yourself with each of the basic constructs of the programming language you are learning, and then write some code that uses these constructs.
Answer5: Understand which part is the language and which is the library. Language is small and can be learned, library is big and you must know how to search in it
Answer6: start looking at existing code, line by line, making sure you understand exactly what each line and statement in the code is doing (Even if you don’t always understand the why, being able to know the what is still progress.)

Question: How to practice a programming language when you know the basics
Answer: Pick a few small project ideas—nothing huge—and start building applications.
Page: 63
Chapter: 6
Context: Developper's career
Answer2: Pick whatever platform or technology you think you are most likely to want to work with in the future and start creating a few small applications using it.
Answer3: Solve difficult algorithm problem (go to topcoder, project euler, cracking the code interview...)