JeffD
Posted on September 11, 2019
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
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 then learn OWASP top ten threat.
- Remember threat evolving all the time (homographs attacks, 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.
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:
Following Cooking Recipes Makes You a Clearer Writer
Amara Graham γ» Jul 17 '19
Article No Longer Available
Posted on September 11, 2019
Join Our Newsletter. No Spam, Only the good stuff.
Sign up to receive the latest update from our blog.