├── CONTRIBUTING.md
├── LICENSE
└── README.md
/CONTRIBUTING.md:
--------------------------------------------------------------------------------
1 | ## The Goal
2 | Our goal is not to have the biggest list of stuff.
3 | Our goal is to have a **comprehensible** list of most valuable things any programmer should know about.
4 |
5 | ## Contributing
6 |
7 | Your contributions to this repo are always welcome!
8 | Bear in mind, that this repo is *highly opinionated* and *curated*.
9 | Your opinion on value of any resource may not match the opinion of curator.
10 |
11 | **No PR will be discarded without explanations!**
12 |
13 |
14 | ## Core Values
15 | *Values are clickable*
16 |
17 | Less is more! :muscle:
18 |
19 | We :heart: simplicity.
20 | We :heart: essential stuff.
21 | We strive to have a smaller list of more valuable resources, quality over quantity.
22 |
23 |
24 | We :heart: widely applicable knowledge/skills.
25 |
26 | The world is not static. Everything changes.
27 | This is why we prioritize strategically valuable skills/knowledge.
28 | This is why there are so many philosophical resources in that list.
29 |
30 |
31 | We do not add to stress/hype level :zap:
32 |
33 | There are enough stress sources in everybody's lifes.
34 | We strive to be helpful without adding to the stress and creating hype.
35 | Most endless stream resources (forums, newsletters, blogs, communities) are noisy and create questionable value.
36 | Be mindful of that fact when adding resources.
37 |
38 |
39 | Technology is always about human beings :man: :woman: :baby:.
40 |
41 | We do not code in sake of coding. We code to solve other people's problems.
42 | This is why resources on soft skills are an essential part of that list.
43 |
44 |
45 | ## Guidelines
46 | *Guidelines are clickable*
47 |
48 | Do not add things you have not evaluated personally!
49 |
50 | Use your critical thinking to filter out non-essential stuff.
51 | Give honest arguments for why the resource should be included.
52 | Have you read this book?
53 | Can you give a short article?
54 |
55 |
56 | Use reasoning based on our values.
57 |
58 | Before adding any resource, answer this questions to yourself:
59 | - Will it make every programmer a better human being?
60 | - Will it change the quality of programmer's work?
61 | - Will it change the quality of programmer's life?
62 | - Would you personally recommend this resource to your friend, starting on software development career?
63 |
64 |
65 |
66 | One item per Pull Request.
67 |
68 | There may be a discussion related to an item you want to add.
69 | Adding just a single item per pull request makes it much easier for everyone involved.
70 |
71 |
72 | Do not open issues with resources, create a Pull Request instead!
73 |
74 | It is just easier to discuss and decide on a resource within a Pull Request.
75 |
76 |
77 | Use consistent set of resource type emoji
78 |
79 | 🎥 - Video/Talk
80 | 📖 - Book
81 | 📄 - Online article
82 | 📜 - Paper/Document
83 | ✅ - Checklist
84 |
85 |
86 |
87 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | Copyright (c) 2017 Alexey Migutsky (https://github.com/mr-mig)
2 |
3 | Attribution 4.0 International
4 |
5 | =======================================================================
6 |
7 | Creative Commons Corporation ("Creative Commons") is not a law firm and
8 | does not provide legal services or legal advice. Distribution of
9 | Creative Commons public licenses does not create a lawyer-client or
10 | other relationship. Creative Commons makes its licenses and related
11 | information available on an "as-is" basis. Creative Commons gives no
12 | warranties regarding its licenses, any material licensed under their
13 | terms and conditions, or any related information. Creative Commons
14 | disclaims all liability for damages resulting from their use to the
15 | fullest extent possible.
16 |
17 | Using Creative Commons Public Licenses
18 |
19 | Creative Commons public licenses provide a standard set of terms and
20 | conditions that creators and other rights holders may use to share
21 | original works of authorship and other material subject to copyright
22 | and certain other rights specified in the public license below. The
23 | following considerations are for informational purposes only, are not
24 | exhaustive, and do not form part of our licenses.
25 |
26 | Considerations for licensors: Our public licenses are
27 | intended for use by those authorized to give the public
28 | permission to use material in ways otherwise restricted by
29 | copyright and certain other rights. Our licenses are
30 | irrevocable. Licensors should read and understand the terms
31 | and conditions of the license they choose before applying it.
32 | Licensors should also secure all rights necessary before
33 | applying our licenses so that the public can reuse the
34 | material as expected. Licensors should clearly mark any
35 | material not subject to the license. This includes other CC-
36 | licensed material, or material used under an exception or
37 | limitation to copyright. More considerations for licensors:
38 | wiki.creativecommons.org/Considerations_for_licensors
39 |
40 | Considerations for the public: By using one of our public
41 | licenses, a licensor grants the public permission to use the
42 | licensed material under specified terms and conditions. If
43 | the licensor's permission is not necessary for any reason--for
44 | example, because of any applicable exception or limitation to
45 | copyright--then that use is not regulated by the license. Our
46 | licenses grant only permissions under copyright and certain
47 | other rights that a licensor has authority to grant. Use of
48 | the licensed material may still be restricted for other
49 | reasons, including because others have copyright or other
50 | rights in the material. A licensor may make special requests,
51 | such as asking that all changes be marked or described.
52 | Although not required by our licenses, you are encouraged to
53 | respect those requests where reasonable. More_considerations
54 | for the public:
55 | wiki.creativecommons.org/Considerations_for_licensees
56 |
57 | =======================================================================
58 |
59 | Creative Commons Attribution 4.0 International Public License
60 |
61 | By exercising the Licensed Rights (defined below), You accept and agree
62 | to be bound by the terms and conditions of this Creative Commons
63 | Attribution 4.0 International Public License ("Public License"). To the
64 | extent this Public License may be interpreted as a contract, You are
65 | granted the Licensed Rights in consideration of Your acceptance of
66 | these terms and conditions, and the Licensor grants You such rights in
67 | consideration of benefits the Licensor receives from making the
68 | Licensed Material available under these terms and conditions.
69 |
70 |
71 | Section 1 -- Definitions.
72 |
73 | a. Adapted Material means material subject to Copyright and Similar
74 | Rights that is derived from or based upon the Licensed Material
75 | and in which the Licensed Material is translated, altered,
76 | arranged, transformed, or otherwise modified in a manner requiring
77 | permission under the Copyright and Similar Rights held by the
78 | Licensor. For purposes of this Public License, where the Licensed
79 | Material is a musical work, performance, or sound recording,
80 | Adapted Material is always produced where the Licensed Material is
81 | synched in timed relation with a moving image.
82 |
83 | b. Adapter's License means the license You apply to Your Copyright
84 | and Similar Rights in Your contributions to Adapted Material in
85 | accordance with the terms and conditions of this Public License.
86 |
87 | c. Copyright and Similar Rights means copyright and/or similar rights
88 | closely related to copyright including, without limitation,
89 | performance, broadcast, sound recording, and Sui Generis Database
90 | Rights, without regard to how the rights are labeled or
91 | categorized. For purposes of this Public License, the rights
92 | specified in Section 2(b)(1)-(2) are not Copyright and Similar
93 | Rights.
94 |
95 | d. Effective Technological Measures means those measures that, in the
96 | absence of proper authority, may not be circumvented under laws
97 | fulfilling obligations under Article 11 of the WIPO Copyright
98 | Treaty adopted on December 20, 1996, and/or similar international
99 | agreements.
100 |
101 | e. Exceptions and Limitations means fair use, fair dealing, and/or
102 | any other exception or limitation to Copyright and Similar Rights
103 | that applies to Your use of the Licensed Material.
104 |
105 | f. Licensed Material means the artistic or literary work, database,
106 | or other material to which the Licensor applied this Public
107 | License.
108 |
109 | g. Licensed Rights means the rights granted to You subject to the
110 | terms and conditions of this Public License, which are limited to
111 | all Copyright and Similar Rights that apply to Your use of the
112 | Licensed Material and that the Licensor has authority to license.
113 |
114 | h. Licensor means the individual(s) or entity(ies) granting rights
115 | under this Public License.
116 |
117 | i. Share means to provide material to the public by any means or
118 | process that requires permission under the Licensed Rights, such
119 | as reproduction, public display, public performance, distribution,
120 | dissemination, communication, or importation, and to make material
121 | available to the public including in ways that members of the
122 | public may access the material from a place and at a time
123 | individually chosen by them.
124 |
125 | j. Sui Generis Database Rights means rights other than copyright
126 | resulting from Directive 96/9/EC of the European Parliament and of
127 | the Council of 11 March 1996 on the legal protection of databases,
128 | as amended and/or succeeded, as well as other essentially
129 | equivalent rights anywhere in the world.
130 |
131 | k. You means the individual or entity exercising the Licensed Rights
132 | under this Public License. Your has a corresponding meaning.
133 |
134 |
135 | Section 2 -- Scope.
136 |
137 | a. License grant.
138 |
139 | 1. Subject to the terms and conditions of this Public License,
140 | the Licensor hereby grants You a worldwide, royalty-free,
141 | non-sublicensable, non-exclusive, irrevocable license to
142 | exercise the Licensed Rights in the Licensed Material to:
143 |
144 | a. reproduce and Share the Licensed Material, in whole or
145 | in part; and
146 |
147 | b. produce, reproduce, and Share Adapted Material.
148 |
149 | 2. Exceptions and Limitations. For the avoidance of doubt, where
150 | Exceptions and Limitations apply to Your use, this Public
151 | License does not apply, and You do not need to comply with
152 | its terms and conditions.
153 |
154 | 3. Term. The term of this Public License is specified in Section
155 | 6(a).
156 |
157 | 4. Media and formats; technical modifications allowed. The
158 | Licensor authorizes You to exercise the Licensed Rights in
159 | all media and formats whether now known or hereafter created,
160 | and to make technical modifications necessary to do so. The
161 | Licensor waives and/or agrees not to assert any right or
162 | authority to forbid You from making technical modifications
163 | necessary to exercise the Licensed Rights, including
164 | technical modifications necessary to circumvent Effective
165 | Technological Measures. For purposes of this Public License,
166 | simply making modifications authorized by this Section 2(a)
167 | (4) never produces Adapted Material.
168 |
169 | 5. Downstream recipients.
170 |
171 | a. Offer from the Licensor -- Licensed Material. Every
172 | recipient of the Licensed Material automatically
173 | receives an offer from the Licensor to exercise the
174 | Licensed Rights under the terms and conditions of this
175 | Public License.
176 |
177 | b. No downstream restrictions. You may not offer or impose
178 | any additional or different terms or conditions on, or
179 | apply any Effective Technological Measures to, the
180 | Licensed Material if doing so restricts exercise of the
181 | Licensed Rights by any recipient of the Licensed
182 | Material.
183 |
184 | 6. No endorsement. Nothing in this Public License constitutes or
185 | may be construed as permission to assert or imply that You
186 | are, or that Your use of the Licensed Material is, connected
187 | with, or sponsored, endorsed, or granted official status by,
188 | the Licensor or others designated to receive attribution as
189 | provided in Section 3(a)(1)(A)(i).
190 |
191 | b. Other rights.
192 |
193 | 1. Moral rights, such as the right of integrity, are not
194 | licensed under this Public License, nor are publicity,
195 | privacy, and/or other similar personality rights; however, to
196 | the extent possible, the Licensor waives and/or agrees not to
197 | assert any such rights held by the Licensor to the limited
198 | extent necessary to allow You to exercise the Licensed
199 | Rights, but not otherwise.
200 |
201 | 2. Patent and trademark rights are not licensed under this
202 | Public License.
203 |
204 | 3. To the extent possible, the Licensor waives any right to
205 | collect royalties from You for the exercise of the Licensed
206 | Rights, whether directly or through a collecting society
207 | under any voluntary or waivable statutory or compulsory
208 | licensing scheme. In all other cases the Licensor expressly
209 | reserves any right to collect such royalties.
210 |
211 |
212 | Section 3 -- License Conditions.
213 |
214 | Your exercise of the Licensed Rights is expressly made subject to the
215 | following conditions.
216 |
217 | a. Attribution.
218 |
219 | 1. If You Share the Licensed Material (including in modified
220 | form), You must:
221 |
222 | a. retain the following if it is supplied by the Licensor
223 | with the Licensed Material:
224 |
225 | i. identification of the creator(s) of the Licensed
226 | Material and any others designated to receive
227 | attribution, in any reasonable manner requested by
228 | the Licensor (including by pseudonym if
229 | designated);
230 |
231 | ii. a copyright notice;
232 |
233 | iii. a notice that refers to this Public License;
234 |
235 | iv. a notice that refers to the disclaimer of
236 | warranties;
237 |
238 | v. a URI or hyperlink to the Licensed Material to the
239 | extent reasonably practicable;
240 |
241 | b. indicate if You modified the Licensed Material and
242 | retain an indication of any previous modifications; and
243 |
244 | c. indicate the Licensed Material is licensed under this
245 | Public License, and include the text of, or the URI or
246 | hyperlink to, this Public License.
247 |
248 | 2. You may satisfy the conditions in Section 3(a)(1) in any
249 | reasonable manner based on the medium, means, and context in
250 | which You Share the Licensed Material. For example, it may be
251 | reasonable to satisfy the conditions by providing a URI or
252 | hyperlink to a resource that includes the required
253 | information.
254 |
255 | 3. If requested by the Licensor, You must remove any of the
256 | information required by Section 3(a)(1)(A) to the extent
257 | reasonably practicable.
258 |
259 | 4. If You Share Adapted Material You produce, the Adapter's
260 | License You apply must not prevent recipients of the Adapted
261 | Material from complying with this Public License.
262 |
263 |
264 | Section 4 -- Sui Generis Database Rights.
265 |
266 | Where the Licensed Rights include Sui Generis Database Rights that
267 | apply to Your use of the Licensed Material:
268 |
269 | a. for the avoidance of doubt, Section 2(a)(1) grants You the right
270 | to extract, reuse, reproduce, and Share all or a substantial
271 | portion of the contents of the database;
272 |
273 | b. if You include all or a substantial portion of the database
274 | contents in a database in which You have Sui Generis Database
275 | Rights, then the database in which You have Sui Generis Database
276 | Rights (but not its individual contents) is Adapted Material; and
277 |
278 | c. You must comply with the conditions in Section 3(a) if You Share
279 | all or a substantial portion of the contents of the database.
280 |
281 | For the avoidance of doubt, this Section 4 supplements and does not
282 | replace Your obligations under this Public License where the Licensed
283 | Rights include other Copyright and Similar Rights.
284 |
285 |
286 | Section 5 -- Disclaimer of Warranties and Limitation of Liability.
287 |
288 | a. UNLESS OTHERWISE SEPARATELY UNDERTAKEN BY THE LICENSOR, TO THE
289 | EXTENT POSSIBLE, THE LICENSOR OFFERS THE LICENSED MATERIAL AS-IS
290 | AND AS-AVAILABLE, AND MAKES NO REPRESENTATIONS OR WARRANTIES OF
291 | ANY KIND CONCERNING THE LICENSED MATERIAL, WHETHER EXPRESS,
292 | IMPLIED, STATUTORY, OR OTHER. THIS INCLUDES, WITHOUT LIMITATION,
293 | WARRANTIES OF TITLE, MERCHANTABILITY, FITNESS FOR A PARTICULAR
294 | PURPOSE, NON-INFRINGEMENT, ABSENCE OF LATENT OR OTHER DEFECTS,
295 | ACCURACY, OR THE PRESENCE OR ABSENCE OF ERRORS, WHETHER OR NOT
296 | KNOWN OR DISCOVERABLE. WHERE DISCLAIMERS OF WARRANTIES ARE NOT
297 | ALLOWED IN FULL OR IN PART, THIS DISCLAIMER MAY NOT APPLY TO YOU.
298 |
299 | b. TO THE EXTENT POSSIBLE, IN NO EVENT WILL THE LICENSOR BE LIABLE
300 | TO YOU ON ANY LEGAL THEORY (INCLUDING, WITHOUT LIMITATION,
301 | NEGLIGENCE) OR OTHERWISE FOR ANY DIRECT, SPECIAL, INDIRECT,
302 | INCIDENTAL, CONSEQUENTIAL, PUNITIVE, EXEMPLARY, OR OTHER LOSSES,
303 | COSTS, EXPENSES, OR DAMAGES ARISING OUT OF THIS PUBLIC LICENSE OR
304 | USE OF THE LICENSED MATERIAL, EVEN IF THE LICENSOR HAS BEEN
305 | ADVISED OF THE POSSIBILITY OF SUCH LOSSES, COSTS, EXPENSES, OR
306 | DAMAGES. WHERE A LIMITATION OF LIABILITY IS NOT ALLOWED IN FULL OR
307 | IN PART, THIS LIMITATION MAY NOT APPLY TO YOU.
308 |
309 | c. The disclaimer of warranties and limitation of liability provided
310 | above shall be interpreted in a manner that, to the extent
311 | possible, most closely approximates an absolute disclaimer and
312 | waiver of all liability.
313 |
314 |
315 | Section 6 -- Term and Termination.
316 |
317 | a. This Public License applies for the term of the Copyright and
318 | Similar Rights licensed here. However, if You fail to comply with
319 | this Public License, then Your rights under this Public License
320 | terminate automatically.
321 |
322 | b. Where Your right to use the Licensed Material has terminated under
323 | Section 6(a), it reinstates:
324 |
325 | 1. automatically as of the date the violation is cured, provided
326 | it is cured within 30 days of Your discovery of the
327 | violation; or
328 |
329 | 2. upon express reinstatement by the Licensor.
330 |
331 | For the avoidance of doubt, this Section 6(b) does not affect any
332 | right the Licensor may have to seek remedies for Your violations
333 | of this Public License.
334 |
335 | c. For the avoidance of doubt, the Licensor may also offer the
336 | Licensed Material under separate terms or conditions or stop
337 | distributing the Licensed Material at any time; however, doing so
338 | will not terminate this Public License.
339 |
340 | d. Sections 1, 5, 6, 7, and 8 survive termination of this Public
341 | License.
342 |
343 |
344 | Section 7 -- Other Terms and Conditions.
345 |
346 | a. The Licensor shall not be bound by any additional or different
347 | terms or conditions communicated by You unless expressly agreed.
348 |
349 | b. Any arrangements, understandings, or agreements regarding the
350 | Licensed Material not stated herein are separate from and
351 | independent of the terms and conditions of this Public License.
352 |
353 |
354 | Section 8 -- Interpretation.
355 |
356 | a. For the avoidance of doubt, this Public License does not, and
357 | shall not be interpreted to, reduce, limit, restrict, or impose
358 | conditions on any use of the Licensed Material that could lawfully
359 | be made without permission under this Public License.
360 |
361 | b. To the extent possible, if any provision of this Public License is
362 | deemed unenforceable, it shall be automatically reformed to the
363 | minimum extent necessary to make it enforceable. If the provision
364 | cannot be reformed, it shall be severed from this Public License
365 | without affecting the enforceability of the remaining terms and
366 | conditions.
367 |
368 | c. No term or condition of this Public License will be waived and no
369 | failure to comply consented to unless expressly agreed to by the
370 | Licensor.
371 |
372 | d. Nothing in this Public License constitutes or may be interpreted
373 | as a limitation upon, or waiver of, any privileges and immunities
374 | that apply to the Licensor or You, including from the legal
375 | processes of any jurisdiction or authority.
376 |
377 |
378 | =======================================================================
379 |
380 | Creative Commons is not a party to its public
381 | licenses. Notwithstanding, Creative Commons may elect to apply one of
382 | its public licenses to material it publishes and in those instances
383 | will be considered the “Licensor.” The text of the Creative Commons
384 | public licenses is dedicated to the public domain under the CC0 Public
385 | Domain Dedication. Except for the limited purpose of indicating that
386 | material is shared under a Creative Commons public license or as
387 | otherwise permitted by the Creative Commons policies published at
388 | creativecommons.org/policies, Creative Commons does not authorize the
389 | use of the trademark "Creative Commons" or any other trademark or logo
390 | of Creative Commons without its prior written consent including,
391 | without limitation, in connection with any unauthorized modifications
392 | to any of its public licenses or any other arrangements,
393 | understandings, or agreements concerning use of licensed material. For
394 | the avoidance of doubt, this paragraph does not form part of the
395 | public licenses.
396 |
397 | Creative Commons may be contacted at creativecommons.org.
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | > *[Join our community](https://metadevelopment.io/)* for professional Software Developers and get more control over your life and career!
2 |
3 | ----
4 |
5 | # Every Programmer Should Know :thinking:
6 | A collection of (mostly) technical things every software developer should know.
7 |
8 | :point_up: *These are resources I can recommend to every programmer regardless of their skill level or tech stack*
9 |
10 | Highly opinionated :bomb:. Not backed by science.
11 | Comes in no particular order :recycle:
12 |
13 | U like it? :star: it and [share](https://twitter.com/mr_mig_by/status/900735231552098306) with a friendly developer!
14 | U don't like it? [Watch the doggo](https://twitter.com/RespectfulMemes/status/900147758845308930) :dog:
15 |
16 | *P.S. You [don't need to know](https://xkcd.com/1050/) all of that by heart to be a programmer.
17 | But knowing the stuff will help you become better! :muscle:*
18 |
19 | *P.P.S. [Contributions](CONTRIBUTING.md) are welcome!*
20 |
21 | ----
22 |
23 | ### Introduction
24 | - :movie_camera: [Map of Computer Science](https://www.youtube.com/watch?v=SzJ46YA_RaA)
25 | - :movie_camera: [40 Key Computer Science Concepts Explained In Layman’s Terms](http://carlcheo.com/compsci)
26 | - :page_facing_up: [Computer Science Roadmap](https://roadmap.sh/computer-science)
27 |
28 | ### Falsehoods
29 | - [Awesome Falsehoods](https://github.com/kdeldycke/awesome-falsehood)
30 | 💊 Curated list of falsehoods programmers believe in.
31 | Check for things you do not know about Strings, Addresses, Names, Numbers, Emails, Timezones and Dates and more.
32 |
33 | ### Algorithms
34 | - [Big O Cheatsheet](http://bigocheatsheet.com/)
35 | - :book: [Computer Science Distilled](https://www.goodreads.com/book/show/34189798-computer-science-distilled)
36 | - :book: [Grokking Algorithms](https://www.goodreads.com/book/show/22847284-grokking-algorithms-an-illustrated-guide-for-programmers-and-other-curio)
37 | - :book: [Introduction to Algorithms](https://www.goodreads.com/book/show/108986.Introduction_to_Algorithms?from_search=true&from_srp=true&qid=8mUglV9uZ1&rank=1)
38 | - [Algorithms Visualization](https://www.cs.usfca.edu/~galles/visualization/Algorithms.html)
39 | - [Algorithms for Competitive Programming](https://cp-algorithms.com/)
40 |
41 | ### Data Structures
42 | - :movie_camera: [UC Berkeley, Data Structures Course](https://sp19.datastructur.es/)
43 | - [Foundations of Data Structures - EDX](https://www.edx.org/course/foundations-data-structures-iitbombayx-cs213-1x-0#!)
44 | - [Data Structures - Coursera](https://www.coursera.org/learn/data-structures)
45 | - [Mathematics for Computer Science - Eric Lehman](https://courses.csail.mit.edu/6.042/spring17/mcs.pdf)
46 |
47 | ### Numbers
48 | - :book: [How to Count](https://www.goodreads.com/book/show/12093869-how-to-count)
49 | - :page_facing_up: [Floating Point Guide](http://floating-point-gui.de/)
50 | - :page_facing_up: [What Every Computer Scientist Should Know About Floating-Point Arithmetic](https://docs.oracle.com/cd/E19957-01/806-3568/ncg_goldberg.html#680)
51 | - :page_facing_up: [Basic Number Theory Every Programmer Should Know...](https://www.codechef.com/wiki/tutorial-number-theory/)
52 |
53 | ### Strings
54 | - :page_facing_up: [Unicode and Character Sets](https://www.joelonsoftware.com/articles/Unicode.html)
55 | - [Homoglyphs](https://github.com/codebox/homoglyph/)
56 | - [Unicode Common Locale Data Repository](http://cldr.unicode.org/)
57 | - :movie_camera: [ASCII](https://www.youtube.com/watch?v=B1Sf1IhA0j4)
58 | - :movie_camera: [UTF-8](https://www.youtube.com/watch?v=vLBtrd9Ar28)
59 |
60 | ### Latency
61 | - [Interactive Latency Infographics](https://people.eecs.berkeley.edu/~rcs/research/interactive_latency.html)
62 | - :page_facing_up: [Latency Numbers Every Programmer Should Know](https://gist.github.com/jboner/2841832)
63 |
64 | ### Time
65 | - :page_facing_up: [Some notes about time](https://unix4lyfe.org/time/)
66 | - :movie_camera: [The Problem with Timezones](https://www.youtube.com/watch?v=-5wpm-gesOY)
67 |
68 | ### Memory
69 | - :page_facing_up: [What every Programmer should know about memory](https://lwn.net/Articles/250967/)
70 |
71 | ### Distributed Systems
72 | - :book: [Understanding Distributed Systems](https://www.goodreads.com/book/show/56977420-understanding-distributed-systems)
73 | - :book: [Designing Data-Intensive Applications](https://www.goodreads.com/book/show/23463279-designing-data-intensive-applications)
74 | - :scroll: [Designs, Lessons and Advice from Building Large Distributed Systems](https://www.cs.cornell.edu/projects/ladis2009/talks/dean-keynote-ladis2009.pdf)
75 | - :scroll: [Time, Clocks and the Ordering of Events in a Distributed System](https://www.microsoft.com/en-us/research/publication/time-clocks-ordering-events-distributed-system/?from=http%3A%2F%2Fresearch.microsoft.com%2Fen-us%2Fum%2Fpeople%2Flamport%2Fpubs%2Ftime-clocks.pdf)
76 | - :page_facing_up: [There is No Now](https://queue.acm.org/detail.cfm?id=2745385)
77 | - :page_facing_up: [Jepsen: how different databases behave under partition](https://aphyr.com/tags/jepsen)
78 | - :scroll: [Fallacies of Distributed Computing Explained](https://pages.cs.wisc.edu/~zuyu/files/fallacies.pdf)
79 |
80 | ### RegExp
81 | - [RegexHQ](https://github.com/regexhq)
82 | - [Learn regex the easy way](https://github.com/ziishaned/learn-regex)
83 |
84 | ### Security
85 | - :book: [Security Programming](https://www.dwheeler.com/secure-programs/)
86 | - :page_facing_up: [Rolling Your Own Crypto](http://loup-vaillant.fr/articles/rolling-your-own-crypto)
87 | - :page_facing_up: [Cryptographic Right Answers](https://gist.github.com/tqbf/be58d2d39690c3b366ad)
88 | - :page_facing_up: [An Open Letter to Developers Everywhere (About Cryptography)](https://gist.github.com/paragonie-scott/e9319254c8ecbad4f227)
89 | - :book: [Foundations of Security: What Every Programmer Needs to Know ](https://www.goodreads.com/book/show/128003.Foundations_of_Security)
90 | - [OWASP Top 10](https://owasp.org/www-project-top-ten)
91 | - [Web Application Exploits and Defenses](https://google-gruyere.appspot.com/part1)
92 | - :page_facing_up: [Hashing, Encryption and Encoding](https://www.integralist.co.uk/posts/hashing-and-encryption/)
93 |
94 | ### UX/Usability
95 | - :book: [Don't Make Me Think: A Common Sense Approach to Web Usability](https://www.goodreads.com/book/show/18197267-don-t-make-me-think-revisited)
96 | - :movie_camera: [Inventing on Principle](https://vimeo.com/36579366)
97 |
98 |
99 | ### SEO
100 | - :page_facing_up: [What Every Programmer Should Know About SEO](https://katemats.com/blog/what-every-programmer-should-know-about-seo)
101 |
102 | ### Architecture
103 | - :scroll: [A Field Guide to Boxology](https://web.cs.wpi.edu/~cs562/s98/pdf/Boxology.pdf)
104 | - :scroll: [Out of the Tar Pit](https://github.com/papers-we-love/papers-we-love/blob/master/design/out-of-the-tar-pit.pdf?raw=true)
105 | - :scroll: [No Silver Bullet — Essence and Accidents of Software Engineering](http://www.cs.unc.edu/techreports/86-020.pdf)
106 | - :movie_camera: [Growing a Language](https://www.youtube.com/watch?v=_ahvzDzKdB0)
107 | - :movie_camera: [CQRS and Event Sourcing](https://www.youtube.com/watch?v=JHGkaShoyNs)
108 | - :book: [Practical Object Oriented Design in Ruby](https://www.poodr.com/)
109 | - :movie_camera: [Evolutionary Software Architectures](https://www.youtube.com/watch?v=CglSFhwbI3s)
110 | - [System Design: A Primer](https://github.com/donnemartin/system-design-primer)
111 | - :page_facing_up: [How JavaScript works: part-1](https://blog.sessionstack.com/how-does-javascript-actually-work-part-1-b0bacc073cf), [2](https://blog.sessionstack.com/how-javascript-works-inside-the-v8-engine-5-tips-on-how-to-write-optimized-code-ac089e62b12e), [3](https://blog.sessionstack.com/how-javascript-works-memory-management-how-to-handle-4-common-memory-leaks-3f28b94cfbec), [4](https://blog.sessionstack.com/how-javascript-works-event-loop-and-the-rise-of-async-programming-5-ways-to-better-coding-with-2f077c4438b5)
112 | - :movie_camera: [Entity-Component-System Architecture with Unity by example](https://www.youtube.com/watch?v=lNTaC-JWmdI&t=166s&list=PLZlJZzHmx31XvgT96DfbXQ4IMb1ryztbp&index=33)
113 |
114 | ### Code Design
115 | - :page_facing_up: [Programming Principles Wiki](http://www.principles-wiki.net/)
116 |
117 | ### Engineering Philosophy
118 | - :movie_camera: [Category Theory in Life](https://www.youtube.com/watch?v=ho7oagHeqNc)
119 | - :movie_camera: [Simple Made Easy](https://www.infoq.com/presentations/Simple-Made-Easy)
120 | - :page_facing_up: [Speed In Software Development](https://www.targetprocess.com/articles/speed-in-software-development/)
121 | - :movie_camera: [#NoEstimates](https://www.youtube.com/watch?v=QVBlnCTu9Ms)
122 | - :movie_camera: [The Myth of the Genius Programmer](https://www.youtube.com/watch?v=0SARbwvhupQ&feature=youtu.be)
123 | - :movie_camera: [Making Badass Developers](https://www.youtube.com/watch?v=FKTxC9pl-WM&t=2s)
124 | - :page_facing_up: [The Ten Rules of a Zen Programmer](https://www.zenprogrammer.org/en/10-rules-of-a-zen-programmer.html)
125 | - :page_facing_up: [The mythical 10x programmer](http://antirez.com/news/112)
126 | - :page_facing_up: [The Debugging Mindset](https://queue.acm.org/detail.cfm?id=3068754)
127 | - :movie_camera: [The Future of Programming](http://worrydream.com/dbx/)
128 | - :page_facing_up: [The Good Software Development Manifesto](https://www.infoworld.com/article/3214481/application-development/the-good-software-development-manifesto.html)
129 | - :movie_camera: [All the Little Things](https://www.youtube.com/watch?v=8bZh5LMaSmE)
130 | - :page_facing_up: [Teach Yourself Programming in Ten Years](http://norvig.com/21-days.html)
131 |
132 |
133 | ### Practices
134 | - :book: [Working Effectively with Legacy Code](https://www.goodreads.com/book/show/44919.Working_Effectively_with_Legacy_Code)
135 | - :book: [The Art of Readable Code: Simple and Practical Techniques for Writing Better Code](https://www.goodreads.com/ru/book/show/8677004-the-art-of-readable-code)
136 | - :book: [Code Complete](https://www.goodreads.com/book/show/4845.Code_Complete)
137 | - :book: [Clean Code: A Handbook of Agile Software Craftsmanship](https://www.goodreads.com/book/show/3735293-clean-code)
138 | - :book: [Test Driven Development: By Example](https://www.goodreads.com/book/show/387190.Test_Driven_Development)
139 | - :white_check_mark: [Going To Production Checklist](https://github.com/mr-mig/going-to-production)
140 | - :book: [Release It!](https://www.goodreads.com/book/show/1069827.Release_It_)
141 | - :book: [Professor Frisby's Mostly Adequate Guide to Functional Programming](https://mostly-adequate.gitbook.io/mostly-adequate-guide/)
142 | - :book: [SICP: Structure and Interpretation of Computer Programs](https://www.goodreads.com/book/show/43713.Structure_and_Interpretation_of_Computer_Programs)
143 | - :page_facing_up: [Thirteen Ways of Looking at a Turtle](https://fsharpforfunandprofit.com/posts/13-ways-of-looking-at-a-turtle-3/)
144 | - :scroll: [Programming Paradigms for Dummies: What Every Programmer Should Know](https://www.info.ucl.ac.be/~pvr/VanRoyChapter.pdf)
145 | - [Learn X in Y Minutes](https://learnxinyminutes.com/)
146 | Learn the basics of a language in a highly condensed way.
147 | - [Hyperpolyglot](http://hyperpolyglot.org/)
148 | Compare commonly used features of more or less similar languages side-by-side. Helps you to jump Python<->Ruby, Ocaml<->Haskell, etc.
149 | - :page_facing_up: [Pomodoro for Programmers](https://medium.com/@mr_mig_by/pomodoro-for-programmers-d6568dd1e6fc)
150 | - :book: [Site Reliability Engineering](https://landing.google.com/sre/sre-book/toc/index.html)
151 |
152 | ### Career
153 | - :moneybag: [Levels FYI](https://www.levels.fyi)
154 | Salary stats for various tech companies. Better than Glassdoor.
155 | - :page_facing_up: [10 Things Every Programmer Should Know For Their First Job](http://www.applematters.com/article/10-things-every-programmer-should-know-for-their-first-job/)
156 | - :page_facing_up: [How Much Do Software Engineers Really Make in Each City?](https://www.codementor.io/blog/best-cities-software-engineer-earnings-271vpf599k)
157 | - :page_facing_up: [Software Engineers Tenure in San Francisco](https://hackerlife.co/blog/san-francisco-large-corporation-employee-tenure)
158 | - [Software Engineering 101](https://slides.com/mr-mig/se101)
159 | - :book: [The Passionate Programmer](https://www.goodreads.com/book/show/6399113-the-passionate-programmer)
160 | - :book: [Soft Skills: The software developer's life manual](https://www.goodreads.com/book/show/23232941-soft-skills)
161 | - :book: [The Complete Software Developer's Career Guide](https://www.goodreads.com/book/show/35674293-the-complete-software-developer-s-career-guide)
162 | - :book: [Programming Beyond Practices: Be More Than Just a Code Monkey](https://www.goodreads.com/book/show/29895093-programming-beyond-practices)
163 | - [A list of European Investors](https://docs.google.com/spreadsheets/d/1hfl67rI0Pk_hSm0GIX0QByW4NgfAH-cEmMa4N6UoO1w/edit#gid=1203141194)
164 | - :page_facing_up: [Ten Rules for Negotiating a Job Offer](https://medium.com/free-code-camp/ten-rules-for-negotiating-a-job-offer-ee17cccbdab6)
165 | - :page_facing_up: [How To Interview As a Developer Candidate](https://medium.freecodecamp.com/how-to-interview-as-a-developer-candidate-b666734f12dd)
166 | - :page_facing_up: [How To Get a Tech Job Abroad Faster](https://relocate.me/blog/job-relocation/landing-a-tech-job-abroad-7-simple-tips/#more-514)
167 | - :book: [How To Be A STAR Engineer](http://vlsicad.ucsd.edu/Research/Advice/star_engineer.pdf)
168 | - :page_facing_up: [TL;DR; Stock Options](https://tldroptions.io/)
169 | - :page_facing_up: [Equity 101 for Startup Employees](https://blog.carta.com/equity-101-stock-option-basics/)
170 | - :book: [Cracking the Coding Interview: 189 Programming Questions and Solutions](https://www.goodreads.com/book/show/25707092-cracking-the-coding-interview)
171 | - :fire: [Everything you need to know to get the job](https://github.com/kdn251/interviews)
172 | - :book: [Tech Interview Handbook](https://github.com/yangshun/tech-interview-handbook)
173 | - :page_facing_up: [Teach Yourself Programming in Ten Years](https://norvig.com/21-days.html)
174 | - :page_facing_up: [What you should know as a founder of a software company](https://qotoqot.com/blog/founder-skills/)
175 | - :movie_camera: [Code Interview Prep & Programming Questions | Pramp](https://www.pramp.com/)
176 | - :book: [97 things every programmer should know](https://github.com/97-things/97-things-every-programmer-should-know)
177 | - :movie_camera: [A Philosophy of Software Design | John Ousterhout | Talks at Google](https://www.youtube.com/watch?v=bmSAYlu0NcY&t=403s)
178 |
179 | ### Fine-tune Your Resume
180 | - :hammer: [CV Compiler](https://cvcompiler.com/)
181 |
182 | ### Open Source
183 | - :globe_with_meridians: [Learn how to use Git and GitHub](https://www.deployhq.com/git)
184 |
185 | ### Remote Work
186 | - :globe_with_meridians: [Remotive.io: Startups hiring remotely](https://docs.google.com/spreadsheets/d/1TLJSlNxCbwRNxy14Toe1PYwbCTY7h0CNHeer9J0VRzE/htmlview?sle=true#gid=1279011369)
187 | - :globe_with_meridians: [Remote Work List for Developers](https://github.com/georgemandis/remote-working-list)
188 | - :zap: [NomadList](https://nomadlist.com/)
189 | - :book: [The Ultimate Guide to Remote Work](https://zapier.com/learn/remote-work/)
190 | - :house: [Awesome Remote Job](https://github.com/lukasz-madon/awesome-remote-job)
191 |
192 | ### Problem Solving
193 | - :book: [The Art and Craft of Problem Solving](https://www.goodreads.com/book/show/593458.The_Art_and_Craft_of_Problem_Solving)
194 | - :book: [How to Solve It: A New Aspect of Mathematical Method](https://www.goodreads.com/book/show/192221.How_to_Solve_It)
195 |
196 | ### Soft Skills
197 | - :book: [Difficult Conversations](https://www.goodreads.com/book/show/774088.Difficult_Conversations)
198 | - :book: [Crucial Conversations](https://www.goodreads.com/book/show/15014.Crucial_Conversations)
199 | - :book: [How to Win Friends and Influence People](https://www.goodreads.com/book/show/4865.How_to_Win_Friends_and_Influence_People)
200 |
201 | ### Mental Health
202 | - [Awesome Mental Health](https://github.com/dreamingechoes/awesome-mental-health)
203 | A curated list of awesome articles, websites and resources about mental health in the software industry.
204 |
205 | ### Papers on Programming
206 | - :heart: [Papers We Love](https://github.com/papers-we-love/papers-we-love)
207 | - :newspaper: [The Morning Paper](https://blog.acolyer.org/)
208 | - 📜 [What Every Programmer Should Know About Memory](https://akkadia.org/drepper/cpumemory.pdf)
209 | - 📜 [Go To Statement Considered Harmful](https://homepages.cwi.nl/~storm/teaching/reader/Dijkstra68.pdf)
210 | - :newspaper: [Arxiv](https://arxiv.org/)
211 | - :newspaper: [Sci-hub](https://sci-hub.se/)
212 |
213 | ### Free Books on Programming
214 | - :books: [Free Programming Books](https://github.com/EbookFoundation/free-programming-books)
215 |
216 | ### Services :zap:
217 | - 🤖 [Abstract API's](https://www.abstractapi.com)
218 | - [Free For Dev](https://github.com/ripienaar/free-for-dev/blob/master/README.md)
219 | - [Public APIs](https://github.com/abhishekbanthia/Public-APIs)
220 | - [The Noun Project](https://thenounproject.com/)
221 | - [Without Coding](https://www.producthunt.com/@jurica87/collections/without-coding)
222 | - [Simpleicons](https://simpleicons.org/)
223 | - [Learn Anything](https://learn-anything.xyz/)
224 | - [repl.it](https://repl.it/)
225 |
226 | ### Licenses
227 | - [Choose An Open Source License](https://choosealicense.com/)
228 | - [Well-explained Software licenses in TLDR version](https://tldrlegal.com/)
229 | - [How open source licenses work and how to add them to your projects](https://medium.freecodecamp.org/how-open-source-licenses-work-and-how-to-add-them-to-your-projects-34310c3cf94)
230 |
231 | ### Where To Look For Further Info
232 | - [freeCodeCamp Guide](https://guide.freecodecamp.org/)
233 | - [GeeksForGeeks](https://www.geeksforgeeks.org/)
234 | - [Dev.To](https://dev.to/)
235 | - [Stack Overflow](https://stackoverflow.com/)
236 | - [Dzone](https://dzone.com/)
237 |
238 | ### Coding Practice Sites :zap:
239 | - :link: [CodeForces](http://codeforces.com/)
240 | - :link: [CodeChef](https://www.codechef.com)
241 | - :link: [Coderbyte](https://coderbyte.com/)
242 | - :link: [CodinGame](https://www.codingame.com/)
243 | - :link: [Cs Academy](https://csacademy.com/)
244 | - :link: [HackerRank](https://hackerrank.com/)
245 | - :link: [Spoj](https://spoj.com/)
246 | - :link: [HackerEarth](https://hackerearth.com/)
247 | - :link: [TopCoder](https://www.topcoder.com/)
248 | - :link: [Codewars](https://codewars.com/)
249 | - :link: [Exercism](http://www.exercism.io/)
250 | - :link: [CodeSignal](https://codesignal.com/)
251 | - :link: [Project Euler](https://projecteuler.net/)
252 | - :link: [LeetCode](https://leetcode.com/)
253 | - :link: [Firecode.io](https://www.firecode.io/)
254 | - :link: [InterviewBit](https://www.interviewbit.com/)
255 | - :link: [uCoder](https://ucoder.com.br)
256 | - :link: [LintCode](https://www.lintcode.com/)
257 | - :link: [CodeCombat](https://codecombat.com/)
258 | - :link: [InterviewCake](https://www.interviewcake.com/)
259 | - :link: [At Coder](https://atcoder.jp/)
260 | - :link: [Codility](https://www.codility.com/)
261 | - :link: [ICPC Problem Archive](https://icpc.kattis.com/)
262 | - :link: [Codemia](https://codemia.io/)
263 |
--------------------------------------------------------------------------------