I'm trying to build a list of topics, technologies, or anything I need to become a Senior Web Developer. I want this list to not only helping me but anyone (actually any Web Developer) to become a Senior. I know that just knowing the following things is not enough, and we all need very many years of work experience. I also know that this list could vary depending on the specific language or web development branch we choose.
For those (like me) living in Latin America without a fluent spoken English, well... that is another must!
Give your opinion here. I think we could build a helpful list for anyone. Whatever language or technologies you use, we all need to know the basics, and that is what this list pretends to be. The basis, or the general topics we all need to know. And to know it very well.
If you're reading this guide it's because you're a programmer or you want to become one.
This is a profession. People often dedicate their lives to this career. There are grades, masteries, PhDs, and other kinds of specializations. Other people, including me, dedicate their lives studying by themselves.
This is something serious. Anyway, if you want to learn to programme just for fun it's OK too, but you have to do it respecting other programmers.
Robert C. Martin (Uncle Bob) presented a list of rules that every programmer should agree with, in order to create a community where respect is put first.
You should read, understand, and have this rules present in your daily work, code, and mind.
I recommend to watch first the YouTube video and then the oath itself.
- Algorithm design techniques.
- Calculation of complexity (Big-O notation).
- Set theory.
- Mathematical logic.
- Design patterns
- SOLID
- DRY (Don't repeat yourself)
- Duck typing
Yes, there are a lot of good ORMs and we may use them, but a basic acknowledgment of these technologies is very important as well.
- Basic SQL understanding.
- PostgreSQL.
- MySQL.
- SQLite.
- MongoDB.
- Memcache.
- Casandra.
- Redis.
- SCRUM
- XP
- Kanban
- TDD (Test-Driven development)
- BDD (Behavior-Driven Development)
- ATDD (Acceptance-Test-Driven Development)
These are books I have really read (related to this document, of course):
- Understanding ECMAScript 6, by Nicholas C. Zakas. ISBN-10: 1593277571, ISBN-13: 9781593277574.
- Rails, Angular, Postgres, and Bootstrap, by David Bryant Copeland. ISBN: 9781680501261, Google: L1T2sgEACAAJ.
- Clean Code: A Handbook of Agile Software Craftsmanship, by Robert C. Martin. ISBN-10: 0132350882, ISBN-13: 978-0132350884.
- Refactoring: Ruby Edition, by Jay Fields, Shane Harvie, Martin Fowler and Kent Beck. ISBN-10: 0321984137, ISBN-13: 978-0321984135.
Other links:
- Design Patters in Object Oriented Programming, by Christopher Okhravi.
- Integrated Tests Are A Scam, by J.B. Rainsberger.
- GOTO 2017 • The Scribe's Oath • Robert "Uncle Bob" Martin, by Robert C. Martin.
- The Programmer's Oath, by Robert C. Martin.