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:

Latest comments (5)

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
 
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
 
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
 
cotcotcoder profile image
JeffD

Thanks, I'm glad it could help :)