DEV Community

JeffD
JeffD

Posted on • Edited on

169 43

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:

Billboard image

The Next Generation Developer Platform

Coherence is the first Platform-as-a-Service you can control. Unlike "black-box" platforms that are opinionated about the infra you can deploy, Coherence is powered by CNC, the open-source IaC framework, which offers limitless customization.

Learn more

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

Heroku

This site is powered by Heroku

Heroku was created by developers, for developers. Get started today and find out why Heroku has been the platform of choice for brands like DEV for over a decade.

Sign Up

👋 Kindness is contagious

Please leave a ❤️ or a friendly comment on this post if you found it helpful!

Okay