Menu Close

Matthew Pritchett

Christian, husband, father, business owner, developer.
My Workflow

My Workflow 2016

I’ve written in the past about some of the tools I use to do everyday development. In the past six months, I’ve updated my workflow to include some new tools, get rid of ones that weren’t effective anymore, and overall upgraded my development chops. Here are a few of the things I use and how I use them.

Code Editor

I learned web development using Dreamweaver, like many others. What started out as a job responsibility to manage the website led me to doing things with Dreamweaver’s drag and drop editor. Eventually this led me to changing the code manually. That led to an intense love of coding and eventually I settled on Coda 2 as my editor of choice. Coda had so many of the tools I needed baked in that it lasted me through 5 years of development. Recently, I’ve been trying other editors and IDEs. Finally, I’ve settled on Atom, an open source editor from GitHub.

Atom is one part editor, one part community. It’s a hackable editor where almost anything you see can be styled, configured, or edited. There’s a thriving community surrounding the application that create style themes, plugins, and tutorials on how to make it do just about anything. Since I do mostly WordPress and front end development, I have several plugins installed to help with that.

Local Environment

If there is one thing that has helped me move from amateur to professional in web development early in my career, it was the idea that development should occur locally and then be deployed to servers. This paradigm is of the utmost importance as it places safeguards into your workflow preventing many of the mistakes, fatal errors, and production level downtime that can plague a site, app, or project.

Since I need PHP and mySQL for WordPress development, I can’t just use files and then view them in browser locally. Over the years I’ve used lots of different types of local environments. I’ve used my MacBook Pro’s base installs of those applications, I’ve used virtual machines like VVV and HGV sitting on top of Vagrant, and I’ve even explored custom setups and Docker boxes.

Currently I use an assortment of the above environments. I have some sites on VVV, a vagrant setup that was created by 10up, but is currently a community maintained project. I also have a few projects on HGV by WP Engine. This is also a Vagrant setup that is heavily linked to how WP Engine’s servers are setup in production. It includes the ability to switch versions of PHP and several other goodies under the hood. But lately, I’ve been testing Pressmatic, a GUI interface sitting on top of a Vagrant setup. It has some very nice features built in like remote tunneling, SSL, and multisite out of the box and all with one click. It also seems far more stable than its other vagrant counterparts and therefore needs less time for me to be in the environment debugging instead of billing clients for code.

Languages

Over the course of my career, I’ve written code in everything from HTML, CSS, JS, Gulp, Grunt and more. I’ve written code for apps and frameworks like Angular, React, NPM, and more. In the course of most days, I write a lot of HTML, CSS, JS, and PHP. That’s where I live and breathe most days.

It seems everyday a new Javascript framework is popping up or a new JS to native framework takes shape. While I constantly want to be learning new things, I personally find it difficult to choose a framework to learn knowing that it could be out of style in less than a year. For now, I’m concentrating on learning Javascript itself deeply and brushing up on software development core concepts.

Flexibility

Overall, flexibility is the name of the game. Working with small nonprofits, I get to choose the stack and workflow. This means a LEMP stack, Pressmatic as my local environment, using Gulp to compile scss into CSS, and running everything through PHPCS with the WordPress Core standards turned on.

But other times I work with large, international enterprise level clients. In these cases, they almost always have a workflow that must be followed. These can include deployment procedures using applications like Rundeck. Many times they require accessing servers and applications using VPNs which can limit the local environment solutions available to that project. Learning to be flexible and solve problems quickly and efficiently is one of the best skills a developer can have.

In the next post in this series, I’ll cover deployment processes, QA and testing, and source code management.

Career

I’ve Joined The Lift Team

As of Monday, August 1, 2016, I’ve joined the team at Lift, a digital product agency. I’m super excited about the work these guys are doing and excited to see where the future takes us.

Unfortunately, this also means that I have left Crowd Favorite. Working with Karim and the team was an incredible experience and I feel like I learned far more than I would have thought possible. I got to work on some super projects, befriend some incredible people, and gain valuable insight into working with enterprise clients to build on my knowledge in that area from previous gigs. I leave on the best of terms with Karim and the rest of Crowd Favorite and wish them all the best. This was a situation where I wasn’t looking to make a change, but the right position came along at the right time.

I’ll be working with a breadth of clients ranging from enterprise to nonprofit. I’ll also be doing a bit of product work on Lift’s series of products. I’ve already missed the Crowd Favorite team since I left, but I’ve been warmly welcomed by the Lift team and they’ve made me feel right at home. If you’re looking for an agency that specializes in design and user experience, give us a shout!

Mastermind Groups

5 Reasons Mastermind Groups Will Change Your Business

If you are the parent of a toddler or know someone who is, then you’ve likely experienced those moments in life where your child (or children) are throwing a fit over literally nothing or will not obey even though you’re trying to get them to do something they want to do.

It can be insanely frustrating.

To be honest, I experience these small moments about 2-3 times per day with our three year old and 2 year old. More times than I would like to admit, I lose my cool. I yell. I send them to a time out. I dole out punishment based on how mad I am, not how grievous the offense is.

But I’m slowly getting better at this.

You see, my wife and I are part of a community at our church of other parents. We meet weekly and encourage one another and talk about our wins and failures. We study materials that make us better parents, adults and general people. We hold each other accountable. It’s been incredibly rewarding and helpful for us to grow as parents and as people.

But when it comes to business, many of us assume we have to go it alone and continue to jump from fire to fire, idea to idea and failure to failure.

Why?

For the longest time, I assumed that I needed to play with my cards held tightly. That I shouldn’t let others see my insecurities. That everyone else was competition. But I was wrong.

I kept hearing about mastermind groups from people that I respected. People who’s businesses were flourishing and had the respect of their teams and customers. How being in a mastermind had changed how they did business.

So I reached out to several people and asked them if they would like to be a part of a mastermind group with me. We’d hold each other accountable, provide help and answers to questions we had faced before and, most of all, learn from each other. Thankfully, they said yes. In fact, they brought friends. Soon, we were meeting every other week and things started to happen.

Mastermind groups are great accountability

The first thing we started to do was explain where we were in our businesses.  We all have things we’re working on and need to be held accountable for. Sometimes, we just don’t feel like writing that 1000 lines of code to finish a feature on an application or client site. Or maybe we’ve been slacking on writing blog posts. Or doing our bookkeeping. Or literally anything. Those are the times that a mastermind can reach in and say, “Get off your butt and get working!” We all need that sometimes.

Mastermind groups are great because you self report what you want to get done between one meeting and the next. Then they hold you accountable throughout the gap between meetings and at the meeting. If you continually don’t meet your goals, there are consequences. Several groups I’ve spoken with said they even kick members out for repeated failures as this demonstrates a lack of investment in the group.

Personally, I’ve noticed a huge increase in the amount I get done with my own business each week because I know my group members are going to be asking about tasks. It’s motivation. It’s helped me to keep moving in building my business when I could have easily stalled out like I have done in the past.

Mastermind groups let you be your real self

Showing others your real self is the only way to begin to fix your real problems.

One of the biggest challenges I saw in starting our group was being real. Both my ability to be real and believing that my group mates were being truly real with themselves and us. But as we’ve gotten to know one another, it’s become obvious that each person is in the group to grow, to succeed, and to be honest about what they are facing, struggling with and succeeding in. It’s allowed me the freedom to let them see the real me and be open where I’m struggling. Showing others your real self is the only way to begin to fix your real problems. Having someone in the business world that I can do that with has been a huge burden lifted and has allowed me to grow as a business owner and leader.

Mastermind groups can kick your butt when needed

While we haven’t had to do this too much, I have no doubt that if I was repeatedly failing to meet my deadlines and not showing up to meetings, my mastermind group would politely, but forcefully, tell me to shape up. Part of being in a group is being fully invested and holding each other to the highest standards. Everyone gets sick, has family emergencies, and life happen sometimes. But the expectation is that you show up to all meetings, do what you tell the group you’re going to do, and be a person of integrity. When you don’t do that, you should expect someone else of integrity that cares about you and your business to help you own it and correct it.

Mastermind groups can prevent you from needing to fail

While no group or anything else can prevent you from making mistakes all the time, I’ve been so thankful to my group for answering questions and asking them in ways that have prevented me from making mistakes in my business. I’ve asked ethics questions, marketing questions and even coding questions and gotten great advice every time.

Failing can be  an important part of the growth process. Just look at Slack. That came about due to the failure of a gaming messaging platform. But failure and mistakes can also be expensive. Learning to miss them from others wisdom can be the difference between a thriving business and a financial failure or collapse. So don’t be afraid to learn from failure, but also be ready to ask questions and even provide wisdom from your own experiences, both wins and fails.

Mastermind groups are an awesome way to meet people completely different than you

Our group has people who are just starting out. We also have someone who has been in business in many different industries and roles for years. We even have a co-owner in a New York start up. It’s a diverse group. I honestly wouldn’t have it any other way. Learning from people in different industries, platforms, locations and stages of life has been awesome. But this doesn’t mean you can’t gather with a group of people who are all in the same stages. Just be sure to bring in people occasionally to make sure you aren’t falling prey to group think. Even with our diverse group, I’ve been thinking about proposing that we bring in guests every few months to ask questions of and receive external wisdom from.

Meeting several new friends and colleagues through my mastermind has been awesome. As I get to know these people even more, I can’t wait to see how they and their business grow and succeed. We’re hopefully in it for the long haul and we’d love to hear how mastermind groups are helping you succeed.


If you’re looking for a group or have a group that is looking to add more people, I’d love to help you connect with others looking for the same. Simply comment below or drop me an email.

family

Thoughts on Side Projects and Family

If you don’t know John Saddington, entrepreneur, software engineer, indie developer, and family man, you need to stop right now and go read his blog. The whole thing. I’ll wait.

Ok, now that you’re back, 🙂 I hope you read his most recent post on this topic. I have a huge amount of respect for John. I was super excited that I was moving to Atlanta, knowing that he was in this great city. But shortly before I moved, he up and moved his own family (I don’t hold it against you, John). While I still hope that one day we can grab a beverage and chat, I continue to follow him digitally via his blog.

Family Matters

After reading his post on family and side projects, I thought about my own recent experiences with balancing my full time job developing websites and applications using WordPress, spending time with my wife and two girls, and working on my upcoming product, Mission Plannr, I figured I’d offer some feedback.

While I wholeheartedly agree with John’s sentiment of not being perfect and still trying to figure this thing out, I do think there are some good principles and practices that can be helpful.

Be there when it matters

There are key events in your family’s life that matter. Birthdays. School events. Anniversaries. Holidays. While this doesn’t mean you will or have to make every one, being there when it’s important not only makes your family happy, it builds trust and deepens the relationship. This isn’t just pertaining to side projects either. Sometimes you have to step away from full time work to put family first.

Be there everyday

While this isn’t for everyone or every situation, I make the effort to spend some sort of time with my kids and my wife everyday. Usually, this means pausing when they arrive home, eating dinner and helping get the kids washed up and put to bed. Then my wife and I spend a few minutes chatting about our days and the next few days. Then I usually return to working on side projects. While exceptions are made, this allows me to be present, be a parent, and be an influence on my children daily. A reminder that I love them, daily. The one time this doesn’t work physically is when I travel for work or to conferences. While I don’t do this too often, when I do I make sure to video chat at least once a day with all of them.

What about you? How do you handle family, work, side projects and all the other things that compose our lives? I’d love to hear your thoughts.

 

should-i

Should I?

My eldest had her third birthday this weekend. We had a very fun, present-filled celebration with family and even FaceTimed with those that couldn’t be there. It was a truly merry time. One of the things that I learning as a father is to enjoy those little moments as they fly by and are so easy to miss. But perhaps the hardest thing I’m having to learn as my children get older is that there are a myriad of really great opportunities out there for kids, parents and families.

Options, Options, Options

Companies, organizations, and local governments are all learning that providing programs and events geared towards families actually brings both families and singles to their community. So we have options. Festivals, parties, Christmas light shows, and so much more.

Working from home this year I’ve made a priority of getting myself and my family out of the house to do things together. With this plethora of options available it’s been hard to not overcommit or simply be overwhelmed and do nothing. But neither of those is the right thing.

You see, my kids love to go do these events. They love meeting people, going places and doing anything fun. My wife loves taking them places. So do I. But going to as many as possible would stretch us too far both financially and physically. We focus on keeping our schedule free and clear most nights in order to facilitate rest and family growth. We don’t look down on those who fill their nights with activities, we have just chosen not to and it is what works for our family. But we also have decided to not just sit at home every night and be hermits. Children (and adults) learn so much from interacting with others their age and older. It’s important for growth and intellectual stimulation.

But recently, we’ve been asking not only just which activities we should attend, but why. We have all these options to choose from. But should we choose any of them? Is it wise? What does it gain? Would it be better to wait for another weekend to do something? It has helped us not race towards nowhere simply because we want to see forward motion.

Asking Should I At Work

The programming world can be like this at times. Just last week I was looking through my normal reading list and realized how many resources, guides, learning opportunities and white papers were available. The amount of information available on various subjects is vast. Unfathomable. My desire for learning begs me to dive in and not come up until I’ve consumed it all. But is that really the most helpful thing? Should I?

The same goes for decisions we make at work. We can take on that fifth client. It would mean a record year in terms of profit. But should we? What stress will it place on our people? Are they reputable? Even if they are a dream client, the answer might not be yes.

When you ask “should I?” you are asking what the ramifications are. Not just for you, but for others. You have to consider the mental, physical, financial, social, and lots of other areas that could be affected. It causes you to pause. To consider. In that moment of pause, I have found that the pause itself causes the best answer to present itself that perhaps wasn’t visible before.

So next time you are presented with a mountain of data, material, or a multitude of decisions, instead of choosing an option, simply ask, “should I?”

 

Developers Are Project Managers Too

Developers Are Project Managers Too

We’ve all felt it. That tension that builds as a project get closer to launch. Maybe things are a bit behind. In many agencies, this leads to frustration between project managers and team members as each pushes back on the other. In some cases, I’ve even seen this tension lead to outright anger and arguments. In those cases, everyone, including the client, loses. So how can you, as a developer, keep this from happening? How can project managers work with developers to create beautiful sites and software for clients while maintaining proper boundaries and profitability? It’s not easy.

But there is a small change that developers can make to help push the conversation in the right direction. Act more like project managers. My friend and boss, Chris Lema, calls this taking ownership. This encompasses many areas and tasks, but mainly it involves proactive task management, client management and even project manger…management. Let’s take a look.

Proactive Task Management

Internally, we use a combination of task management applications to get the job done. But the most popular is GitHub tasks. It allows developers to interact with the tasks programmatically and attach them to pull requests and commits. But an issue that I’ve seen among many developers in many companies is that we only tend to pay attention to our tasks and not the project and task list as a whole.

While project managers are in place to make sure that tasks are sorted and being carried out, part of being a responsible team member is knowing what is going on, not just in your task list, but how the project is proceeding as a whole. Not only does this help your team be better, but it allows you to make better decisions about how to approach coding specific modules and pieces of your tasks.

Client Management

One of the biggest lies I deal with from many technical managers and even project managers is that developers can’t talk to clients and should be kept as far away from them as possible. I have met some developers who were truly awful at client relations, that is mostly through inexperience. Communication is a learned skill. It takes practice. Sometimes, it takes having someone more experienced sit down and explain the basics to you.

A developer who can speak to a client is a powerful resource. Not only do they have the ability to put in the work, but they can also explain it to the client in great detail but with great simplicity. Imagine if instead of having to come up with a answer to the why question every time a client asks why solution X was picked over solution Y the developer could speak intelligently, simply and quickly on the subject. This ability helps not only during the project but during discovery and project planning as well. Estimates are sharper, features are scoped correctly, and clients are given more complete pictures of what to expect rather than finding out about problems in the development cycle.

Project Manager…Management

I once worked for a company where I had 10-12 “drive-bys” per day of people dropping by my desk to get an update on a project or just say hi. While none of these were with the intent to distract me, that is what they did. It takes me on average 20-30 minutes to get “in the zone” for programming. So for every 30 second drive by, it was really costing myself and the company up to 30 minutes of productive time.

One way I found to get around this (other than work from home and hide from all communications 🙂 ) was to preemptively update my project managers each day. I began reaching out to them first thing in the morning with updates and asking for any questions or updates  they could provide. While this didn’t stop all the distractions, it did ease them by a vast majority.

True project management requires patience and planning. A great team realizes that not only does each member bring something to the table but that everyone has to pull their weight and that each person can help outside of their discipline. When we take ownership of our responsibilities and of the project as a whole, we allow our clients to benefit from a well synced machine that is both profitable and productive.

Growing Outside the WordPress Box

Growing Outside the WordPress Box

Sometimes I get too focused. I stop growing. I’ve been “head down” for the past several months. After joining Crowd Favorite, I jumped right into several projects. I also moved 800 miles from Texas to Georgia. Moving is both expensive and complex. There are licenses to update, crazy amounts of bills and lots of records to get transferred. So it has been a while since I blogged. But more than that, it has been a while since I have done anything but work and spend time with my family. Neither of which I am complaining about. I get to do some really cool things for Crowd Favorite and I love my family beyond what I can communicate. But I had stopped learning. Stopped teaching. Stopped pursuing personal growth. While I noticed it right away, it wasn’t until this past week that I felt like I was in a place to do something about it.

Growing Outside of WordPress

I’ve had the chance in the past week to pursue several interests inside and outside of development. I gotten a taste of Angular and React. They are both amazing tools that I am hoping to use on several personal projects in the near future. I also started learning Swift, Apple’s iOS programming language. While it is a HUGE step outside of my front end development comfort zone, it has been a really cool process. Being an avid user of my Apple Watch, I noticed a huge section of the market that no one else has pursued yet and decided to build something to fit my own needs. Stay tuned for my first app release hopefully before the end of 2015.

[bctt tweet=”@chrislema taught me that if you aren’t stretching yourself in some way, you’re probably doing it wrong.”]

I’m also planning on writing a lot more. I tried to be very diligent about writing daily this year, but only made it a few months. I believe that writing is an integral skill in life both on the business and personal side of things. In fact, my generation seems to lack for this skill more than almost any other.

All of that to say that I’ve been pursuing life outside of WordPress lately. I don’t plan on leaving it anytime soon nor do I think that there’s anything wrong with leveling up your WP skills. In fact, I am aiming to do that myself as well. But, every once in a while, it pays to stick your head up and dive into something foreign. Chris Lema taught me that if you aren’t stretching yourself in some way, you’re probably doing it wrong. 🙂

What Putting Family First Actually Means

What Putting Family First Actually Means

Disclaimer: I realize, up front, that not everyone is in the position that I am. Not everyone values the same things I do. Nor does everyone believe the same things that I do. But you, dear reader, are on my personal blog. You have been warned. 🙂

There’s been a lot of tweets, chatter, blog posts and conversation the last few years about work and the balance between work and family.Recently, even Jeff Chandler at WP Tavern took a shot at opening up more discussion of the family first mantra after hearing a talk about it at Prestige Conference. While I see many of my friends and peers moving in the right direction, it would appear that America overall is moving in the wrong direction. While I definitely do not judge those who must or enjoy working 40+ hour weeks, I have found that it isn’t appropriate for me, all the time.

What I mean is that I’m working very hard on slowing down. Being with my family. Focusing on my mental, emotional, physical, and spiritual health. But this doesn’t mean that I quit my job and have become a hermit. In fact, part of the decision to write this post came from working a 70 hours week recently in order to launch a massive, complex project. We launched and I got to see a great team come together and do something incredible. Was it tiring? Yes. Was it worth it? Yes. Am I super excited to be back to normal and get to invest more in my family this weekend? Yes.

Family first is a mantra that has been heard by most in the last few years. While I think it is a positive idea, I think that it is often misunderstood. Family first doesn’t mean family first always or family only. Andy Stanley, a noted author, speaker, and pastor, has a book that I love called, “Choosing to Cheat.” The basic idea of the book is that we have a limited amount of time but an unlimited amount of requests for time and energy. We are going to have to “cheat” something out of time and energy. He encourages you to make sure you cheat more on work than family. But this doesn’t mean you always “cheat” work. Sometimes you have to invest in work in order to be able to invest in family. It’s a balance.  I make a very comfortable living and am very blessed to be able to provide for my family at the level that I do. I’ve worked very hard and been given much. While I don’t necessarily call it family first, I do live by a set of boundaries that mean my family should be getting more time and energy than my job.

A little of my family first story

To give you some background, I have to go back to my first development job out of college. I worked for a large church in Virginia that was able to pay for their first full-time web developer as a part of the IT department. That meant on any given day I could be coding PHP or laying ethernet cable. I was newly married and grateful for full-time, benefitted work. I also had an incredible boss who is still a family friend. I was able to work from home a few days per week and wasn’t held to a 40 hour work week. Get the job done and enjoy time away. To this day, I am extremely grateful for that first experience. It helped shape my views on the industry as well as what work should look like in a major way.

Next, I moved to a much higher paying job in the advertising industry. While the job was fast paced and allowed me to work on some extremely high-profile clients, it came with long hours and a stressful, protracted commute. I worked with insanely smart people and was able to lead our company in all of our WordPress development efforts. But my wife and I welcomed our second little girl into the world during this time and I was home 30 minutes before bedtime each night. This became increasingly unacceptable to me. So I made a change.

While not for everyone, working from home has become the solution that works best for me and my family. It allows me to work hard but be engaged with my family throughout the day. It also does away with a stressful commute that takes up even more time. I see my wife and girls now more than I ever have. No, my life isn’t perfect. Yes, we get on each others nerves at times. Yes, I still work late some days. But we’re working on it. I’m learning to invest time and energy into the things that matter. My health. My wife. My children. AND my work.

Happy Independence Day

Happy Independence Day

Happy Independence Day to all my fellow Americans. I’m taking the day off to spend time with friends and family in preparation for tomorrow’s national holiday. Enjoy your day off if you can and grill some meat and sip something cold. 🙂

5 Best Practices for Nonprofit Websites

5 Best Practices for Nonprofit Websites

The web is an increasingly crowded place. Getting your message out in the sea of other website and connecting with potential volunteers and donors is becoming increasingly difficult. That isn’t even counting the other forms of media that fill our eyes each day. While there is no silver bullet to slaying the perfect website dragon, there are several best practices that can make your nonprofit website stand out and speak up.

Best Practices

1. Be Professional

This is huge. There are so many websites out there, even outside the nonprofit world, that are simply ugly. They could have been designed by the founders six-year-old. We aren’t in the 90’s anymore where any old design will do. Today, visitors expect clean design, well written copy and images that aren’t clip art. While great design can be quite expensive, it doesn’t have to be.

Nonprofits on a tight budget can take advantage of things like well coded, well designed templates. While I believe that every professional should be adequately compensated for their time and experience, there are many options and those that will work with agencies and nonprofits to find a solution that will fit within your budget. By choosing a strong design and staying away from outdated ideas, you can use this best practice to leap ahead of a large percentage of the websites out there.

2. State Your Mission Quickly and Clearly

One of the most frustrating things that I often see on the web is that while the design of the website is beautiful, I have no idea what the organization or company does. That full screen video playing in the background is beautiful and trendy, but it doesn’t tell me what you are trying to do in the world.

You want your site’s visitors to know exactly who you are and what you do as quickly as possible. This is more important than your pretty picture or that catchy headline or your latest tweet. So make your site’s structure make sense and present the most important information at the top. You’ll thank me later.

3. Stay Updated

Keeping content, imagery, and events on your website up to date is imperative. No one likes to visit a website trying to find when an event is only to see the last event listed is from eight months ago. If you aren’t going to keep your blog updated, don’t have one. It isn’t worth the negative reaction that you are going to cause.

Another piece of this is that you must have reliable hosting  and keep your software and applications up to date. Keep CMSes like WordPress updated and make sure your web host is installing security patches for server applications. It is your job to make sure both you and your website are following best practices in all areas.

4. Keep It Positive

Don’t be negative. Just don’t do it. While it might seem easy or smart to attack the competition or point out a competitor’s flaws, it ends up making you look pitiful and could bring legal ramifications. Positive, encouraging messages as well as strong relationships with peers in your industry can forge powerful bonds and create new opportunities in the future.

5. Trust is key

In the end, trust is the key ingredient for a great online experience for any visitor. They are only going to interact and communicate if they trust your message, your mission and your voice. So make sure you pay close attention to issues both with security and messaging. Deal with problems immediately and with patience and understanding. Maintain a cool head when interacting with detractors and keep records and logs that can help you track down potential issues.

While there are many more best practices that can help your nonprofit succeed online, this list provides a solid foundation to getting your message heard and your platform established. I’d love to hear what others you have found that have been essential to your success!

Older Posts