I've worked as a Web Engineer, Writer, Communications Manager, and Marketing Director at companies such as Apple, Salon.com, StumbleUpon, and Moovweb. My research into the Social Science of Telecommunications at UC Berkeley, and while earning MBA in Organizational Behavior, showed me that the human instinct to network is vital enough to thrive in any medium that allows one person to connect to another.
M. David's articles
![How to Use Higher-Order Functions in JavaScript](https://uploads.sitepoint.com/wp-content/uploads/2022/03/1646273021hof.jpg)
Higher-order functions can take other functions as arguments or return a function as a result. Learn how to use them and why they're useful.
![Pair Programming: Benefits, Tips & Advice for Making it Work](https://uploads.sitepoint.com/wp-content/uploads/2020/01/1579563410pair-programming.png)
M. David Green discusses pair programming, examining what it takes for two developers working together to achieve the productivity and quality improvements that come from pairing.
![Remote Work: Tips, Tricks and Best Practices for Success](https://uploads.sitepoint.com/wp-content/uploads/2019/11/1574639392remotework.png)
M. David Green presents tools, tricks, and practices for improving the remote working experience for yourself, your team, your manager, and your company.
![How to Manage Your Product Backlog with Quire](https://uploads.sitepoint.com/wp-content/uploads/2018/12/1545093384jon-tyson-518143-unsplash.jpg)
The product backlog is one of the most controversial artifacts of an agile organization. Everybody seems to have an opinion about how it should work.
![Best Practices for Using Modern JavaScript Syntax](https://uploads.sitepoint.com/wp-content/uploads/2018/04/1524957436modern-js.jpg)
M. David Green reviews new features of modern JavaScript, such as classes and arrow functions, looking at when you should and perhaps shouldn't use them.
M. David Green demonstrates how you can start thinking functionally in JavaScript, by refactoring some all-too-common imperative code to a functional style.
![How to Set Up Airbrake Error Monitoring for Your JavaScript App](https://uploads.sitepoint.com/wp-content/uploads/2017/10/1507524445monitoring.jpg)
Error monitoring can save you when things start to fall apart. Learn how to get Airbrake working with your JavaScript web apps.
![Grab Our Free Printable Functional JavaScript Cheat Sheet](https://uploads.sitepoint.com/wp-content/uploads/2017/02/1487552653article_course.png)
Read Grab Our Free Printable Functional JavaScript Cheat Sheet and learn JavaScript with SitePoint. Our web development and design tutorials, courses, and books will teach you HTML, CSS, JavaScript, PHP, Python, and more.
![Taking Responsive Web Design Beyond the Visual](https://uploads.sitepoint.com/wp-content/uploads/2017/06/1498615715versioning-show_chris-ward.jpg)
In this episode of the Versioning Show, David and Tim are joined by Chris Ward, a technical writer, blogger and web developer.
![A Beginner’s Guide to Testing Functional JavaScript](https://uploads.sitepoint.com/wp-content/uploads/2017/06/1497880521testing-functional-js.png)
Functional code is often touted as easier to test. M. David Green examines that claim and demonstrates how to get started testing functional JavaScript.
![Animating with CSS, JS and SVG, and Avoiding Burnout](https://uploads.sitepoint.com/wp-content/uploads/2017/06/1497398706versioning-show_sarah-drasner.jpg)
In this episode of the Versioning Show, Tim and David are joined by Sarah Drasner, a teacher, author, consultant and staff writer at CSS-Tricks.
![WordPress Development, Freelancing, and Taking Time Off, with Lara Schenck](https://uploads.sitepoint.com/wp-content/uploads/2017/05/1496207727versioningshow_laraschenck.jpg)
In this episode of the Versioning Show, David and Tim are joined by Lara Schenck, a freelance web consultant and educator.
![CSS Animation, Prototyping Tools, and Sources of Inspiration, with Donovan Hutchinson](https://uploads.sitepoint.com/wp-content/uploads/2017/05/1494985696versioning_donovan-hutchinson.jpg)
In this episode of the Versioning Show, Tim and David are joined by Donovan Hutchinson, a developer, teacher and proprietor of CSSanimation.rocks.
![Three Keys to Being a Productive Software Engineer](https://uploads.sitepoint.com/wp-content/uploads/2017/05/1493773102versioning-show_productivity.png)
In this one-on-one episode of the Versioning Show, David and Tim look at what it means to be a productive software engineer.
![UX Research, Analytics, and Dark Patterns, with Luke Hay](https://uploads.sitepoint.com/wp-content/uploads/2017/04/1492568970versioning-show_luke-hay_feature.jpg)
In this episode of the Versioning Show, Tim and David talk with Luke Hay, a user experience professional and author.
![Troubleshooting Scrum](https://uploads.sitepoint.com/wp-content/uploads/2017/03/1490855711Screen-Shot-2017-03-07-at-3.27.28-PM.png)
In this exclusive book excerpt from Scrum: Novice to Ninja, we take a look at troubleshooting Scrum and how to overcome obstacles in the process.
![Online Security and Being Super Productive, with Azat Mardan](https://uploads.sitepoint.com/wp-content/uploads/2017/04/1491358065versioning-show-azat-mardan.png)
In this episode of the Versioning Show, David and Tim are joined by Azat Mardan, a software engineer, author, teacher, Node expert and Paleo enthusiast.
![Taking Steps towards Scrum](https://uploads.sitepoint.com/wp-content/uploads/2017/03/1490855711Screen-Shot-2017-03-07-at-3.27.28-PM.png)
In this exclusive excerpt from our book, Scrum: Novice to NInja, by M. David Green, we discuss how to get teams started with the Scrum process.
![Scrum: Walking through a Story (Part 3)](https://uploads.sitepoint.com/wp-content/uploads/2017/03/1488860885Screen-Shot-2017-03-07-at-3.27.28-PM.png)
In this book excerpt, we continue looking into the importance of walking through a story during Scrum processes.
![Scrum: Working through a Story (Part 2)](https://uploads.sitepoint.com/wp-content/uploads/2017/03/1488860885Screen-Shot-2017-03-07-at-3.27.28-PM.png)
In this exclusive excerpt from our book Scrum: Novice to Ninja, we look at the importance of the second Standup and why developers should utilize it.
![Increasing Productivity by Slowing Down, with Jason Lengstorf](https://uploads.sitepoint.com/wp-content/uploads/2017/03/1490081308versioning-show-lengstorf.jpg)
In this episode of the Versioning Show, Tim and David are joined by Jason Lengstorf, a developer and designer at IBM.
![Scrum: Working through a Story (Part 1)](https://uploads.sitepoint.com/wp-content/uploads/2017/03/1488860885Screen-Shot-2017-03-07-at-3.27.28-PM.png)
In the last chapter, we were introduced to the product owner's world, and taken through the process of developing and creating a story for the team.
![The Scrum Contract (Part 2)](https://uploads.sitepoint.com/wp-content/uploads/2017/03/1488860885Screen-Shot-2017-03-07-at-3.27.28-PM.png)
In this exclusive excerpt from our book, Scrum: Novice to Ninja, we expand further into the importance of the Scrum Contract.
![The Scrum Contract (Part 1)](https://uploads.sitepoint.com/wp-content/uploads/2017/03/1488860885Screen-Shot-2017-03-07-at-3.27.28-PM.png)
Take a look at how web and mobile development teams work with the various features of scrum, in this excerpt from our book, Scrum: Novice to Ninja..
![Tech Stacks, Frameworks, Being Creative, and Being Real, with Tim Holman](https://uploads.sitepoint.com/wp-content/uploads/2017/03/1488935427versioning-holman-feature.jpg)
In this episode of the Versioning Show, David and Tim are joined by Tim Holman, a web experimenter and member of the CodePen team.
![Functional JavaScript for Lazy Developers (Like Me)](https://uploads.sitepoint.com/wp-content/uploads/2017/02/1487816595FunctionaJSProgA-01.png)
Applying functional techniques improved my programs, problem-solving skills, process; my code was cleaner and easier to maintain — with less work.
![Scrum Artifacts: Product Increment](https://uploads.sitepoint.com/wp-content/uploads/2017/02/1486059321scrumfeature.png)
At the end of each sprint, the completed features that were worked on should be added to the product for the sprint demo.
![Scrum Artifacts: Velocity and Burndown Charts](https://uploads.sitepoint.com/wp-content/uploads/2017/02/1486059321scrumfeature.png)
velocity is how a scrum team measures the amount of work they can complete in a typical sprint. By tracking the number of story points the team can
![Scrum Artifacts: Definition of Done](https://uploads.sitepoint.com/wp-content/uploads/2017/02/1486059321scrumfeature.png)
Declaring a story to be done is a means of verifying that all of its critical aspects have been completed based on the way each team works.
![Scrum Artifacts: Scrum Board](https://uploads.sitepoint.com/wp-content/uploads/2017/01/1484912741scrumfeature.png)
There are electronic tools and services that are designed to help teams capture and manage stories as they move from one state to the next.