An event that made you realize you weren't staying relevant?
- Popular answer - Not doing unit testing - more than one person talks about the moment they realized they needed to start writing tests
- Discovery that reading books about development (on Kindle) is a great way to stay up-to-date
How does the panel stay up to date?
- Books
- Talking to other devs (user groups etc)
- Podcasts - anyone know of a good one? ;)
-
Twitter delivers a lot of info very quickly, but has a high signal:noise ratio - Nuzzel can help
Sammy asked a bunch of programmers on twitter: What one book made you become a better programmer? Most common answer was Clean Code.
It can be easy to focus so much on doing things the "right" way or the most modern way to the point it becomes a distraction from the core problem solving.
How does the panel avoid becoming "paralyzed" into inaction as a result of this?
- Think of code as creative writing - write a first draft, second draft, etc..
- With so many trends in software development, pick the most important to you and focus on them
- "Mastery" is understanding what level of perfection the task requires
- Another book recommendation: On Writing Well - a book about creative writing with lessons that are applicable to software
The next book on Sammy's list is Refactoring: Improving the Design of Existing Code
How do the panel approach refactoring?
- Refactor as you go:
- Make small feature branches
- Every few features, do a small cleanup
- Don't treat refactoring as a task in itself
Tools come and go quickly. Techniques are timeless and move slowly.
Some timeless techniques:
- Unit(/automated) testing
- Refactoring
- Functional Testing
- Design patterns
- Algorithms
How do the panel become better programmers?
- Ask someone who has been doing it for a while - PHP Mentoring can help with that
- Connect with the community - user groups, conferences, workshops, etc
- Speak at a user group
- You learn a lot from talking to/watching/working with other developers
- Code reviews
- Contributing to open source:
- Follow the contributing guidelines
- Get feedback on your code
- Find a project you use yourself - find a bug that needs fixing or a feature that needs adding
- The process associated with getting a PR accepted to a large project is an eye-opener
- Think of submitting a patch as an opportunity to receive a free code review
- Look for issues tagged 'easy' or 'beginner'
-
up-4-grabs.net - projects 'advertising' easy issues for new contributors
-
First Timers Only
-
Making your first pull request
Other resources & links