how to code in the xxi century without losing your head
TRANSCRIPT
![Page 1: How to code in the XXI century without losing your head](https://reader035.vdocuments.us/reader035/viewer/2022081902/58a2d2f01a28ab692e8b5683/html5/thumbnails/1.jpg)
How to code in the XXI century without
losing your head@rene_olivo
![Page 2: How to code in the XXI century without losing your head](https://reader035.vdocuments.us/reader035/viewer/2022081902/58a2d2f01a28ab692e8b5683/html5/thumbnails/2.jpg)
The problem with programming today
![Page 3: How to code in the XXI century without losing your head](https://reader035.vdocuments.us/reader035/viewer/2022081902/58a2d2f01a28ab692e8b5683/html5/thumbnails/3.jpg)
Noises that stop you from delivering a
quality product
![Page 4: How to code in the XXI century without losing your head](https://reader035.vdocuments.us/reader035/viewer/2022081902/58a2d2f01a28ab692e8b5683/html5/thumbnails/4.jpg)
Quality Product
● Uses the Agile methodology to meet the product needs in a series of timely deliveries
● Can be easily reproduced in dev and production environments
● The codebase is well written and organized which allows changes to be implemented with ease
● Is resilient to changes through testing
● Is built with the precise amount of craftsmanship that suits the product scope
![Page 5: How to code in the XXI century without losing your head](https://reader035.vdocuments.us/reader035/viewer/2022081902/58a2d2f01a28ab692e8b5683/html5/thumbnails/5.jpg)
Types of noise
● Your programming language sucks
● If you are not using this new framework you are doing it wrong
● Your code is not optimized
● Your code editor and keyboard layout suck
● TDD is dead
● OOP is dead, long live Functional
● Tabs, 4 spaces, and semicolons are the work of the devil
● If you don't know math you are a bad programmer
![Page 6: How to code in the XXI century without losing your head](https://reader035.vdocuments.us/reader035/viewer/2022081902/58a2d2f01a28ab692e8b5683/html5/thumbnails/6.jpg)
![Page 7: How to code in the XXI century without losing your head](https://reader035.vdocuments.us/reader035/viewer/2022081902/58a2d2f01a28ab692e8b5683/html5/thumbnails/7.jpg)
"Your programming language sucks" noise
● People will always be chewing on you because of your programming language choice. Block that noise.
● Learn when to use the appropriate language for the appropriate task.
![Page 8: How to code in the XXI century without losing your head](https://reader035.vdocuments.us/reader035/viewer/2022081902/58a2d2f01a28ab692e8b5683/html5/thumbnails/8.jpg)
"Out with the old, in with the new" noise (p1).
● Implementing new technologies makes you a digital frontier pioneer.
● Less resources.
● Less tutorials and documentation.
● Harder to put together a team of experts.
● There won't be any "best practices" available.
![Page 9: How to code in the XXI century without losing your head](https://reader035.vdocuments.us/reader035/viewer/2022081902/58a2d2f01a28ab692e8b5683/html5/thumbnails/9.jpg)
"Out with the old, in with the new" noise (p2).
● Unknown challenges after moving on from the "todo" example.
● What's good for Google, Facebook, or Microsoft may not be good for your project or startup.
![Page 10: How to code in the XXI century without losing your head](https://reader035.vdocuments.us/reader035/viewer/2022081902/58a2d2f01a28ab692e8b5683/html5/thumbnails/10.jpg)
"Optimization" noise
● Don't over-invest on optimization.
● Learn about cache, load balancing, replication, and other High Availability techniques.
● Learn about queuing systems and how to connect apps through messaging pipes.
![Page 11: How to code in the XXI century without losing your head](https://reader035.vdocuments.us/reader035/viewer/2022081902/58a2d2f01a28ab692e8b5683/html5/thumbnails/11.jpg)
"Your code editor sucks" noise
● Code is not meant to be written at the speed of light, it's meant to be read with ease.
● Don't fall for the console editors hype, your code editor is fine.
● Learning a new keyboard layout will take time and will yield nothing.
![Page 12: How to code in the XXI century without losing your head](https://reader035.vdocuments.us/reader035/viewer/2022081902/58a2d2f01a28ab692e8b5683/html5/thumbnails/12.jpg)
"TDD is dead" noise
● Stop being lazy, testing is necessary.
● More unit testing, some integration, less E2E.
![Page 13: How to code in the XXI century without losing your head](https://reader035.vdocuments.us/reader035/viewer/2022081902/58a2d2f01a28ab692e8b5683/html5/thumbnails/13.jpg)
"OOP is dead" noise
● People have been killing OOP since the 90s, it's not going to die. OOP has its flaws, but it's the best we have.
● Use functional where it makes sense, don't overuse it.
![Page 14: How to code in the XXI century without losing your head](https://reader035.vdocuments.us/reader035/viewer/2022081902/58a2d2f01a28ab692e8b5683/html5/thumbnails/14.jpg)
"Tabs VS Spaces" noise
● Use a linter and a code editor that supports lint files.
● Find a lint file that suits your project and team and stick with it.
![Page 15: How to code in the XXI century without losing your head](https://reader035.vdocuments.us/reader035/viewer/2022081902/58a2d2f01a28ab692e8b5683/html5/thumbnails/15.jpg)
"Math Envy" noise
● Programming has more to do with Cervantes and less to do with Newton.
● Mastering math helps you solve math problems with ease.
● Math tasks are sparse.
● Data structures are heavily used.
● Algorithm knowledge is more helpful.
![Page 16: How to code in the XXI century without losing your head](https://reader035.vdocuments.us/reader035/viewer/2022081902/58a2d2f01a28ab692e8b5683/html5/thumbnails/16.jpg)
Thanks for listening.