DEV Community

JeffD
JeffD

Posted on • Updated on

7 advices after 10 years of development

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, 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:

#testing

Find those bugs before your users do! 🐛

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:

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:

Top comments (5)

Collapse
 
mhsangar profile image
Mario Sánchez García • Edited

I'll stick with the writing part, I think of it often after having to check again why this bug of 2 months ago it's happening again 😅 Btw, in the Debug section you have a small typo (whichj), just in case you want to edit it ^ ^

Thank you for the post!

Collapse
 
mteheran profile image
Miguel Teheran

very import to be assertive about which technologies or topics study. I suggest keeping the focus on abstract concepts and architectures

Collapse
 
goku132 profile image
Michael

Thanks for this. Really helpful and good ideas.

Collapse
 
adityamenon profile image
Aditya M

This is great advice! The part about wilfully going to awesome-lists is particularly useful especially when you're trying to learn very hard stuff with scattered information everywhere!

Collapse
 
cotcotcoder profile image
JeffD

Thanks, I'm glad it could help :)