What to learn to be a better developer
Back in 2013, I gave a brief talk at php[tek] which was about all of the things you need to learn along the way to be a developer. I promised I would put up the list from my notes — and as you can see from the date, I pretty much failed on that promise. However! I found the notes! So without further adu…
PHP Coder
- Broaden your general PHP knowledge
- PDO
- Namespaces
- OOP
- PSR-0 (and other PHP-FIG initiatives)
- Code versioning (Git, SVN, anything…)
- Dependency Managers (Composer!)
PHP Developer
- Design Patterns
- SPL
- Unit testing
- Basics of encryption
- Public and private key encryption specifically
- Code smells
Web Developer
- Javascript
- OOP, see the Javascript Object Playground
- Scope management
- Design patterns
- Frameworks
- HTML & CSS
- UI integration tests
- Protocols
- HTTP
- HTTPS
- SMTP
- TCP
- UDP
- Learn about build automation tools (phing, make, ant, jenkins, travis)
- Learn about deployment automation (capistrano, dploy.io, etc…)
- Pick up some solid Linux administration skills
- Code smells (MOAR!)
Software Developer
- Pick up more languages
- Ruby, Python, C++, Objective-C … of course, I’m a bit of a language nerd…
- More design patterns
- More code smells
- Better your testing approach
- Programming styles
- Procedural
- Imperative
- Functional
- Object Oriented
- Event Driven
- Build on a new type of platform (notice the “web” in “Web Developer” went away up there?)
- Build a desktop, or mobile app.
- Build a server daemon.
- Build command line tools.
- Learn to do Security Model assessment
Software Evangelist
- Pick a new thing to learn, and learn it!
- Teach others what you just learned
- GOTO 1