Software development is a very broad field, but every software engineer should be well-rounded in all aspects of the process: designing, programming, testing, and delivering. It takes years to build strong skills. Furthermore, careers in software are often turbulent due to ever-changing technologies, high turnover, and interesting personalities. Below are resources to help.
- Copying File Paths from Finder in macOS
- Ignoring Files with Git
- NuGet Quick Reference
- Purist vs. Pragmatist
- Should I Reject a Code Review for Typos?
- Sprint Planning Sucks. Can It Be Fixed?
- Static or Singleton
Quality Metrics 101
This is a series on useful metrics for measuring software quality.
- Quality Metrics 101: The Good, The Bad, and The Ugly
- Quality Metrics 101: Test Quality
- Quality Metrics 101: Process Quality
- Quality Metrics 101: Product Quality
The Airing of Grievances
This is a fun, tongue-in-cheek series about best practices.
- The Airing of Grievances
- The Airing of Grievances: Software Development
- The Airing of Grievances: Version Control
- The Airing of Grievances: Test Automation Process
- The Airing of Grievances: Test Automation Code
- The Airing of Grievances: Selenium WebDriver
- The Airing of Grievances: Agile
- The Airing of Grievances: BDD
- The Agile Manifesto
- Learn X in Y Minutes for learning programming languages quickly
- Stack Overflow
- Wikibooks for learning programming languages
- The Twelve-Factor App for building software-as-a-service apps
- Atom for cross-platform lightweight text editing
- Eclipse IDE for Java and other languages
- Heroku, a platform-as-a-service for app hosting
- JetBrains IntelliJ IDEA IDE for Java and other languages (my favorite)
- JetBrains PyCharm IDE for Python (my favorite)
- LaTeX for mathematical typesetting
- Notepad++ for lightweight Windows text editing
- Postman for API testing
- Skitch for quick screen shot editing, including blurring
- tohtml.com for quick source code highlighting
- Visual Studio Code for lightweight-yet-powerful coding