7 advices after 10 years of development
Tags: beginners, career
Published: 2019-09-11 21:00:46

---
title: 7 advices after 10 years of development
published: true
description: 
tags: beginners, career
series: devpath
---



## Write 🗒️
This is the first and best way to communicate (persistant and remote-friendly). So **write all the things** you can:
- meetings: decisions, questions and answers, work in progress and pending subjects...
- problems: hardware failures, bugs and their solution, software weakness, code to refactor...
- conferences: draw or write but keep trace to essential content, references, tools, books ...
- code snippets: CORS, http headers, dark options or regex...

Find a tool you can easily **share with your team**, accessible everywhere (if needed). This knowledge will be available for a new coworker, even if you are on holiday, even if you leave. This is a valuable practice.
Notions, Wiki, Evernote there are many solutions, I use plain text files (with rsync and git).


## Learn efficiently 📗
**Know yourself**: learn at morning, learn at evening, look schema, listen podcast, write and search that's work the best for you because you'll spend a lot of time to learn it's very important to find your best way to aquire knowledge.
Learn:
- when in the day you can learn efficiently
- if graphics, illustrations helps you
- how long time you can be concentrated on reading articles or any technical book
- how long time you can be concentrated on writing code

**Allocate time**: one hour once in a while (make a habits) to read blog posts.
Use long period (2 or 3h) to practice and write code

Read documentation before writing code (ideally the day before and a few hours before)
when you'll be stuck you'll know:
- where to search solution to any problem.
- if it's possible to do that you want (and if it's a good practice or not).
- better ... because it helps memory to read twice!



## Don't try to learn all (really) ❌
- List ten subjects you want to learn, split up to atomic objectives. Choose objective one by one, all interesting articles or tools should be put in a "later" list.
- **Start with basics** (HTTP, SQL, security, design patterns, language internal ...) they are evolving more slowly than EcmaScript/JS.
- Learn the possibilities of your tools, starting with OS and IDE because many build-in tools are awesome.
- Stop learning deprecated lib, even if you made something with long time ago. Your mind should be clear and not overloaded (like your resume). Sorry JQuery.



## Avoid boring stuff 🤖
- **Automate** your backup, bills payment, domain names renewal, OS updates, let computer do it alone, test that it's work fine and forget about it.
- Use RSS to get news, less ad, less distractions than in classical websites.
- **Newsletters** are awesome, you'll lose less time than looking at Twitter and content are very relevant.
- Want to try a new tool or language, look at [awesome pages on Github](https://github.com/bayandin/awesome-awesomeness), you'll find a lot of ressources about a lot of stuff.



## Refactoring - Unit-test - Debug 🧩
- Refactoring: I'll write about this soon. 📝 
- Reading open-source code to get new way to write code.
- Learn about your debug tool and TDD.

When a bug occurs ask you theses questions:
- What: define the probleme with the more details you can find.
- Where: which server, which database, which microservice, which part of the code, are any external lib involved ?
- When: date (day saving time), version (app, software), server status (memory usage), duration of the transaction, it is just after any activity like cron ?
- How : how this state arrived here: what's happend before, are the previous data correct?


Of course subscribe to: {% tag testing %}




## Learn security 🔒
*Security is not a feature, it should be the backbone of your app.*

Because of privacy and because it can cost a lot of money:
- Start with [Victoria's post](https://dev.to/victoria/sql-injection-and-xss-what-white-hat-hackers-know-about-trusting-user-input-481b) then learn [OWASP top ten threat](https://www.owasp.org/index.php/Category:OWASP_Top_Ten_Project#Translation_Efforts_2).
- Remember threat evolving all the time ([homographs attacks](https://dev.to/logan/homographs-attack--5a1p), JSON hacking, ransomware, *coin-mining).
- Ask your friend, teammates to hack your app in exchange for a beer or chocolate.
- Learn with vulnerableApp like [security shepherd](https://www.owasp.org/index.php/OWASP_Security_Shepherd).



## Be open-minded 👥
- To all domains because we can learn from processes used everywhere like medical team, restaurant or classical factories. Remember Kanban comes from traditionnal industries (car manufacturer Toyota).
- To people from another country, age, skill level because the way they learn or analyze a problem are very interesting.
- To other tools, OS's, programing languages because we are not ennemy.

Understanding your users will help you to build better apps. Get empathy will help you to be a better human.



*Thanks for reading - Have a nice day*.


PS: it is obvious that you should also read:


{% link https://dev.to/missamarakay/following-cooking-recipes-makes-you-a-clearer-writer-460a %}

{% link https://dev.to/emmawedekind/101-tips-for-being-a-great-programmer-human-36nl %}