 Pamela Vickers and I'm going to be talking to you about company culture today. Company culture has become a ubiquitous phrase in our industry and it can be used to reference anything from having flexible hours to being able to shoot nerf guns at co-workers. What is essentially a description for the values and personality of a company is now being listed under perks and benefits. It's become a commodity that's handed to a new hire. Here's our company culture, it's great, enjoy. But what does it mean when we rave about our awesome company culture that the beer Fridays have great attendance or that we work hard but play hard or that we have supportive co-workers and a well-defined system for mitigating any co-worker to co-worker squabbles. When I searched for the keyword culture on the job listings for stock overflow and get hub might as well have searched for job as almost every listing used the word culture. Yet very few actually defined what it meant for that particular company. Most left the definition as an exercise to the reader so let's read some. To succeed you must be passionate about keep up with our daily release cycles and maintain our useful, funny, cool culture during times of immense growth. It also doesn't hurt to impress us with your technical chops. And that was the last mention of the word culture in the listing however useful, funny, and or cool. Our unique culture deploys a highly integrated model where traders, quantitative analysts, equity analyst, technologists work closely together to capitalize on pricing opportunities and the options, commodities, and futures market. I don't really know. Please check out our culture and process dev blogs to get a feeling for the Acme Co experience. They don't trust us when we say we have the best culture in town. Jump by Friday after work for a craft brew and try to whip our CTO and ping pong. So I went to their blog post. It said, wow, the day has flown by. You finished two stories. Your pull requests were peer reviewed and merged. Now it's time to kick back. Pull up a stool next to our keg and pour yourself a craft brew or grab a seat in front of one of our huge TVs for some intense call of duty. Tomorrow we'll wrap up the current sprint and hold a science fair to demonstrate the new hotness we've built. We hope you've enjoyed your first day. It only gets better from here. So the best culture in town sounds a lot like. We've brought together a talented team that's down to earth, friendly, and driven to build products that people use and love. We have flexible hours, sponsored company events, and a sweet ping pong table. Game on. Which reminds me. Company culture isn't something you can just get overnight. It usually takes about a week to ship that ping pong table. Thank you, PHPC. So ping pong table jokes aside, some of the job listings were just strange. We're looking for an experienced and awesome iOS developer, someone who puts the WTF in apps. And some are using awesome company culture to land hits while hiding crucial bullet points deeper in the listing without any redeeming bullet points to support the awesome claim. Ability to work extended hours is needed, including some evenings and weekends, and to be on call for emergencies required. Fortunately, a few companies seem to get it a little bit more. What we value, we don't care about ninjas or rock stars. We look for people who are really smart, really nice, and who want to solve big problems, and have the freedom to solve them without slogging through layers of bureaucracy. We believe in code quality, testing, peer reviews, and collaboration. We like polyglot programming. We believe in using the best tool for the job. We love open source, open communication, and have created an environment where we treat people like adults. We value building the right team and love that people rarely leave us. Yeah. Okay. One more good one. At Acme Co., we respect and value our employees, and we promote a fun and supportive culture. We invest in your future with unrivalled professional development, and we provide challenging and dynamic projects that are collaborative and engaging. All of this happens within a 40-hour work week to keep your work and play balanced. We know that happy developers write the best code, and our employees are the best in the business. Yeah. So, assuming that a great or awesome or even best in town company culture is one that produces happy developers and workers that produce quality work, let's investigate what a company culture should strive to be, and examine along the way what can distract and even detract from those long-term goals, all in the name of great culture. At Ruby Midwest in 2013, developer and speaker, Ernie Miller, gave a great talk about developer happiness called the most important optimization, happiness. In it, he introduces Martin Seligman's model for happiness, PERMA. PERMA breaks down happiness to five elements, positive emotion, engagement, relationships, meaning, and achievement. Now, perhaps there are other elements in your life preventing you from truly achieving happiness, but real life aside, is it reasonable for your company to attempt to mark a tick for each PERMA element? I say yes, and that company must in order to truly call its culture great. So, how can company culture satisfy this model? Let's take a look at each letter. Perhaps the most visible element is often P, positive emotion. Emotion is what fuels tweets and blog posts about how much someone loves or hates a company. So when a company can spark some brand love or loyalty, they often reap immediate benefits. But what elicits positive emotion? Well, lately it seems to be free t-shirts, beer Fridays or beer always, office scooters, artisan coffee, dogs in the office, nerf guns, and of course, you know, there are many angles to the positive emotion element and an interesting and perhaps controversial article in the publication Model View Culture by Melissa Santos and Raffi Colburn discusses how perks can divide us. Now, you might be thinking really, and you won't be alone to be an incredulous, but let's take a quick look. T-shirts, first of all, I'm sure all of the ladies in the room will agree unisex t-shirts are a lie. And secondly, when sizing becomes an issue, embarrassment and frustration can occur, but often in private. And those making the ordering decisions may never know. Beer, by providing and promoting company beer events, you might be ignoring the issues of us struggling or recovering alcoholic. If most of the teen building is booze infused, this individual might have to choose between being in a good professional situation and being in a bad personal situation. Dog-friendly offices, this one's hard for me because I've really enjoyed when we had dogs in our office, including my own, not pictured here. As it can be inconsiderate to people who have dog allergies, dog phobias, or a general dislike of dogs. And then ping pong. Some people do really get excited about ping pong, so I'll stop, but I'm realizing that this is a dog-friendly ping pong-friendly office, so they have the best company culture in town, I think. So while none of these benefits are inherently bad or purposefully malicious, we need to balance our assumption that everyone will appreciate and benefit from these perks and benefits in the same way. When a company focuses too much on the perks it provides as employees, it might be missing more important less tangible benefits it should be providing. I'm not advocating removing these fun perks, but suggesting a shift in our focus. As an employee of a company that does offer great non-traditional benefits, I know how nice it is to have them, but I need to know that if all the nice coffee and stocked food and snacks were to disappear, I'd still be happy where I am. Removing perks won't remove the problems that they can mask, but shifting focus away from these perks and to the heart of the company, the people, will highlight the strengths and weaknesses of the company's culture. Art Buckminster Fuller, an architect, system theorist, author, designer, and inventor said, you never change things by fighting the existing reality. To change something, build a new model that makes the existing model obsolete. So what new non-perks-based company culture model should we build? I believe that P, positive emotion, can directly result from having the other ERNA elements fulfilled, and that free, well-fitted t-shirts and catered lunges can be the sweet, sweet icing on the permacake. So speaking as a developer, the number one element that dictates the quality of my working life is the quality of the project I'm working on. Anyone that has suffered through a bad project or bad client probably knows what I mean. If not, just consider yourself lucky. If we want to avoid bad projects, we need to first be able to identify what makes a good project. Fortunately, three pieces of the permanent model come together very well to describe the great project. The pieces are engagement, meaning, and achievement. So hopefully your company already knows that it's crucial to have engaging work for employees to be happy, and hopefully your company is already seeking out projects that are engaging and providing the tools you need to stay engaged. When engaged, time zooms by and work moves smoothly. But if your day is spent fighting a free tool that could be replaced with a better paid tool, you're less engaged on working on the project and more engaged in getting set up to work on the project. If your day is spent in meetings talking about a project or chasing down feedback from a product owner, by the time you sit down to do actual work, you're mentally done. Obstacles no matter what form, break concentration, and prevent engagement. Removing friction and these procedural obstacles is a big step in ensuring that good work can be done in a good way. It's also easier to stay engaged if the work has some meaning. Does the application solve an interesting problem, provide a helpful service, improve quality of life, or track difficult data points? If you've ever worked on an application that seemed pointless, no one is going to use this, conjuring up the required focus can be extremely difficult, if not impossible. But if you know your application will provide something good to the world, you can often find motivation from within to power through the difficult parts. Once a project is in action, knowing how to create measure successes along the way is crucial to staying motivated. Having a tight feedback loop between client and developer or project manager and developer ensures that issues arise early and can be addressed in a timely way. Setting up a project from the start for success helps the developer hit the milestones along the way. Working under impossible deadlines can be extremely demotivating. When a developer realizes that the work can't be completed within a set window of time, the developer just might not even try, feeling like success is possible keeps you engaged and working. Despair does the opposite and breaks concentration. So good communication, available information, adequate tools and time to complete a task all contribute to engagement and achievement. But what happens when one of these pieces breaks down? Bad communication kills engagement and can leave you distracted, waiting for an answer to a question or feedback to completed work. Bad or unavailable tools or equipment also kills engagement and leaves you battling your tools or your machine instead of actually working on the application. Impossible deadlines ruins motivation, which kills engagement and prevents achievement. And working in a boring domain provides no meaning, prohibiting real engagement. An ambiguous ethical domain can create an icky meaning. You might not even want to get started. And perhaps the worst feeling, no one is going to use this blocks all three. No meaning or purpose, so no engagement and ultimately no achievement. Of course, there's no perfect project where everything is sunshine and daisies and cotton candy. When you're a developer, you're solving problems daily, which is inherently hard. Big Nerd Ranch's chief learning officer, Aaron Hillegas sums it up effectively in the guide to Objective C programming. The life of a programmer is mostly a never-ending struggle. Solving problems in an always-changing technical landscape means that programmers are always learning new things. In this case, learning new things is euphemism for battling against our own ignorance. If you write code, you will struggle. Most professional programmers learn to struggle hour after hour, day after day, without getting too frustrated. And that's really the key. We're going to have difficult days on even the best projects. But if companies can strive from the start to provide the developers with good projects and good tools, we can mitigate some of this frustration. So what do developers want? What keeps us engaged in working for achievement? How can we find projects that approach being all sunshine and daisies and cotton candy? I asked my Twitter friends for three adjectives to describe their favorite types of projects. I grabbed a few of them to show you today. Inspirational, innovative, practical. Finite, community building, beneficial. Interesting, challenging, short. Epic, important, successful. Challenging, innovative, finite. Clear relationship between work and reward. Degree of complexity is autonomous. Without any coaching, a trend was apparent. I received other replies that didn't follow my three-adjective request. But the same ideas were present. We want to work on challenging, innovative projects that are well-scoped and designed to succeed. To be engaged and absorbed in your work, the task at hand needs meaning, and the task needs to feel achievable. So based on this data, I propose a formula for creating more positive emotion within your company. E plus M yields A which creates P. In other words, without engagement and meaning, there is ultimately no achievement. Without achievement, there is much less positive emotion. And the positive emotion gained by achievement is one that can't be created by even the best cup of coffee. But what happens if a project, even after vetting, becomes unbearable? Shifting it around other developers can turn into a game or project hot potato. Sometimes when doing client work or consulting, a business relationship has to end or have an uncomfortable DTR to find the relationship conversation. And sometimes the best service you can provide to a client or product owner is telling them what they can't have based on the resources and time available. These are difficult conversations to have, and it might even feel more comfortable to put in the long and late hours, and it tends to achieve the impossible. But managing expectations and guiding a product owner to something achievable can be much better work. Though sometimes business relationships just don't work. This isn't to say that a business contract can be scrapped or that you should just read to quit your job in the middle of crunch time, but that when it comes time to re-sign a client contract or begin a new sprint or iteration on an internal project, consider these questions. Does the product owner respond to questions and requests in a reasonable timeframe? Does the product owner respect the developing team members? Does the product owner appreciate and value the work done by the developing team? Does the product owner follow within reason the process outlined by the developing team? Is the product owner pleasant to work with in general? And do we as the developers have the resources needed to move the project forward? If and when the developing team can no longer move a project forward in a way that is valuable, perhaps it's time to re-evaluate and advise a break in development. Whether working for a consulting company with clients or a product company with a long-running application, detecting bad project smells and knowing when and why to speak up about them is key to continued productivity and happiness. And carefully scrutinizing whether to continue or discontinue an existing project is just as crucial as scrutinizing new project decisions. Being vocal about what makes a project really work can help bring more good work in your direction, and both the developer and product owner benefit from the symbiosis. And in the product company realm, if you find that no one is receptive to procedural changes or suggestions, perhaps it's time to find yourself a new client. Once you have all of the excellent project pieces in place, the final piece to the perma puzzle could be the trickiest one of all, relationships. In this case, I'm going to limit the conversation to platonic relationships amongst coworkers, but there might be some universal truths here as well. At Big Nerd Ranch, we found that routine check-ins and one-on-ones go a long way to surface small issues before they can become big issues by asking how are things going or have you had any problems lately? A team leader or mentor can open dialogue that might get pushed aside otherwise. When we were a much smaller company, we had a weekly one-on-one check-in with our head of operations, Chris. These check-ins were part of a series called Things That Suck. Chris would ask us for anything that had interfered with our happiness or productivity in the past week, analyze the cause and effect, and email everyone with ideas for improvement. A lot of processes were tweaked and a lot of improvements were made during the short-lived experiment. I remember one week, Chris asked me, what sucked this week? I couldn't think of anything. It had been a good week, but he told me I had to tell him something. So I said, well, someone adjusted my chair, took me a while to get back the way I like it. He wrote it down. An email went out saying, if someone has their name on a chair, you can sit in it if it's empty, but don't adjust it. This removed friction for a lot of people coming into the office each day and getting started on their work. Since we're remote-friendly, it's nice knowing you have a comfortable and familiar place to come in and work, and it allows you to move seamlessly from one workspace to another, even if it's been a few days or a few months since you've been in the office. The chair edict is still a rule, and most to some people follow it, but approaching your head of operations and saying, hey, someone adjusted my chair, and it took forever for me to get back the way I like it, and it sucks, probably doesn't feel like a very professional approach, probably because it's not. The squeaky wheel adage is much more comfortable in conversation than in practice. But when management, or someone in any sort of leadership role, really asks you what can be improved in your daily working life, it feels okay to bring up these minor issues. It opens dialogue early, so minor issues stay minor, and it fosters communication instead of assuming that the status quo is fine. But of course, there is a caveat. In order for the head of operations, or a manager of a team, to get real, honest answers to the question, is anything wrong? There has to be trust. Otherwise, this open dialogue is frozen shut. You need trust to give feedback, and you need feedback to solve issues and problems. Maintaining a short feedback cycle internally is just as important as maintaining a short feedback cycle with clients and product owners. But trust among co-workers is not a by-product of managerial training. Choosing the most technically strong developer to lead a team might not be choosing the best team leader. Managers or team leaders need empathy and emotional intelligence. For open communication to be effective, this empathy and emotional intelligence needs to exist all the way up the chain of command. The way a company grows and handles layers of responsibility will shape what type of communication and feedback cycle can exist. The chain of communication is only as strong as the weakest link, and a good idea or important criticism will fall off the radar if a link fails. Selecting good, empathetic, thoughtful managers, leaders, and mentors, and giving them the tools and resources to succeed will fortify the chain of communication. So while managerial training can and should teach people leadership roles how to handle difficult situations and help provide awareness and to non-obvious concerns, trust itself still takes time to build. And accounting for this time gap requires processes to encourage and speed up the building of trust in the meantime. At ThoughtWorks, they know that some conversations are difficult to have with your colleagues. For these conversations, they encourage heavy mentors or coaches present to help guide these crucial conversations. This creates a safe environment for all parties so the ideas can be shared openly, and in time, trust is built among everyone involved in these conversations. The company Pluralsight maintains culture coaches to help dive into company issues and shine a light into any problems. On their culture blog, highly recommended, Keith Sparkjoy, their CTO writes, no matter how much we take the focus off of people, no matter how many of us learn to stop being judgmental, people are still going to hesitate to talk about the tough stuff. They, like ThoughtWorks, attempt to open this dialogue by having culture coaches available to help address the tough stuff. And by employing the 5Y system, light is cast on hidden issues, and the culture coaches can begin to make recommendations for solutions. If you're unfamiliar with the 5Y system, it's an approach to surface cause and effect by continuing to ask why until getting to the root cause of a problem. A quick example. The car won't start. Why? Battery is dead. Why? The alternator isn't working. Why? The alternator belt wasn't replaced. Why? The car hasn't been maintained well. Oh. Pluralsight's culture coaches don't have the authority to take direct action after identifying problems, but have a direct link instead to help leadership at Pluralsight. They have a process in place to keep each chain link connected. To prevent and mitigate HR nightmares and co-worker relationship problems, processes must be clearly defined, established, and followed. To assume that people will behave like adults leaves a company vulnerable, and unnoticed small issues can snowball into big problems. But these processes are only as good as people implementing them. To have a culture of open dialogue and feedback, a company needs more than just trust building processes and time. It requires hiring trustworthy people. For my earlier question about what three things makes a good project, Patrick Van Stee of assembly made gave me a second answer. Good people, good people, good people. If we revisit Acme Co. Number 7 job description, part of their description addresses this. What we value. We don't care about ninjas or rock stars. We look for people who are really smart, really nice, and who want to solve big problems. Hopefully you can recall that the rest of their description really nails what a company culture should aim to be. But even if they just specified looking for really nice, really smart people, they'd be ahead of the game. We share a similar goal at Big Nerd Ranch. The three qualities we look for when hiring a new nerd is being brilliant, hardworking, and kind. And it's all too easy for brilliance and hard work to be the two values most valued by a business. After all, businesses need both to make money. But valuing kindness takes extra effort. We attempt to highlight kindness in two ways. By giving the Big Nerd of the month and the Big Nerd of the moment awards. The monthly award is selected from a pool of nominations, while the Big Nerd of the moment award can be given at any time for anything, to anyone, for anything. Bringing donuts to the office, Big Nerd of the moment. Help a teammate track down a pesky HTML bug. Big Nerd of the moment. Share a ridiculously cute picture in campfire that just makes someone stay. You get the idea. By bringing attention to and praising the values we appreciate, we deliberately shape the culture of our company. Passively combining good people and fun perks in the same place, and assuming that it will yield awesome culture, leaves vulnerabilities exposed. Good company culture doesn't just happen. It takes work and refinement, just like any business process. And in pursuing a well-crafted, deliberate company culture, you might find a better model than the PERMA modeled implement. But by having multiple people within your company, thinking about and working towards a culture that is conducive to a fulfilling professional life, you'll be making strides to that awesome company culture we all hear about. So awesome company culture can happen. It might take time and some unexpected changes, but everyone can benefit from this refinement process, especially when everyone is involved in making it happen. So make it happen. Thank you for listening. Again, I'm Pamela Vickers. I work happily at Big Nerd Ranch. I organize a monthly meetup, Rails Girls Atlanta. Please let me know your thoughts on Twitter and let me know how you're finding professional happiness. And I think I have time for questions. Okay. That's a good question. And actually, as I was combing through these, oh, okay. So the question is, how can a company reveal their own company culture and like a job description? And how can someone being interviewed really kind of sniff out what the company culture is? Is that right? Okay. Well, like I said, that's a good question. And as I was combing through trying to find examples of good and bad company culture descriptions, I immediately had a moment of panic and I was like, what is Big Nerd Ranch's description? What do we say? Do we talk about just ping-pong? And I took a look. And it also, it focused more about the type of person we want and less about the requirements. Now, that's not to say that we don't say we'd like for you to know this stuff. But when the focus is on learning and more of a person's capacity for learning, unless what they're carrying around in their head at that moment in time, I think that's a good sign that it values you as a person and your abilities as a person, unless just what you can produce right away. And as an interviewee, I think that's, I hadn't actually thought about that too much. But I think a big part is the sort of questions they ask you. If they only care about your technical ability and don't care about who you are as a person, then it might not be a great fit. So the question is, in HR, what are the roles that can help create good culture? So a lot of you probably work for companies that are flat. Is that a fair assumption? Maybe. Some flat, some not. So I think the best thing that you can do is to have any sort of mentorship implemented or any sort of like buddy system for new hires. Because I think if you have someone you're comfortable talking to, these sort of things can kind of bubble up more quickly. So I think the most effective and easiest thing that anyone can do is volunteer to be a mentor, whether you have an official mentorship program at your company or offer to start one. I think that, and not just for developers, I think for any part of a company, if someone has someone that they are comfortable going to with concerns, questions, problems, it doesn't have to be a problem. It could be, hey, there's this thing I want to learn. What's the best way for me to learn a new thing? So I think having soft layers, not just firm managers where they sign off on your review at the end of the year, but having soft layers where there's someone that's just a little bit more experienced than you that you're comfortable talking to, I think that's something that all companies can benefit from. Okay. Thank you again.