My Company Is Better Than Yours60% of the time, it's true every time
I've been around the block in #Charleston
now. I've been at +Blackbaud
, and now +SPARC, LLC
). Let's talk about them and finally why my company is better than yours. If you just want to read about SPARC skip to the last heading.BlackbaudThe n00b years
Blackbaud has a great mentor system in place to help to refine coal into diamond. You get paired up with someone that becomes your go to person until you can handle things on your own. I joined the #NetCommunity
team and it had a reputation as the wild west of Blackbaud. Things were done their way and not necessarily the traditional ways. NetCommunity was the combination of a bunch of the company's "rockstars" combined with some new talent. Our mentor system was a lot more unrefined and brutal than most of the other teams, but that's because trial by fire was the preferred way to teach people. To paraphrase, stop wasting your time reading and start learning by working on some bugs! It might not have been the best system, but it worked.
NetCommunity was great because the people on the team were passionate about making a fantastic product. It also helped that we had a lot of smart people working on it and some good charismatic leadership within the team. During my time there an evolution of sorts occurred on the team. We switched to scrum, a form of agile development, and broke the team into sub-teams. Eventually we got a lot of the initial problems worked out and starting making strides to really work toward righting the wrongs in the code. All good things must come to an end and NetCommunity's ended in dramatic fashion.
Everyone else at Blackbaud got the short end of the stick by not being on NetCommunity. The microculture made most people jealous that their teams were largely made up of stale crusty bread. The technology stack for NetCommunity may have and still does have many shortcomings, but at least everyone who worked on it gained real world skill that translated well into other jobs at other companies, such as #BoomTown
. It gave me the experience needed to jump into full fledged ui engineer and turned me into the "rare" full stack developer (full stack means different things in different industries, such as game development, which I didn't realize until my interview at +ArenaNet, Inc.
) able to go from the css down to the database.
Blackbaud fell apart when the economy fell apart. All of the things that gave it a culture slowly eroded away till it was nothing, but a heartless shell of its past self. Almost all the little things to help improve morale were removed and never saw the light of day again. It always had a lot of a hierarchy, too much in my opinion, and that bred even more internal politics, which resulted in the eventual destruction of the NetCommunity team. When things aren't bad you'll accept certain things as absolute truths, but you start to question them when things go downhill. If the team had less oversight from the poor product management and stuck to having only an engineer manager the product would have been in a much better place today than it currently is. On top of that, the team probably would still exist as one cohesive unit today instead of being in shambles with almost half the team having left in the span of two years. At the high point of NetCommunity there were roughly 20 developers and of that at least 8 have left. Now there isn't even a team dedicated to NetCommunity's success, just different developers on different teams acting independently.
In the middle of writing this Blackbaud decided to layoff 150 employees, which is roughly 5% of its workforce, and the CEO is being booted. For reference, Yahoo last year had a 14% reduction (~2,000 people) and is the picture of a failing company. Why did Blackbaud lay people off you ask? They missed their estimates and like any good public corporation that lacks loyalty to anyone other than shareholders they cut people to try to bounce back. I will say that there is plenty of fat to cut there, but whether they'll take this time to do so is another story altogether. What'll most likely happen from these layoffs is a dead cat bounce, where they bounce back for awhile due to the reduced expenses and finally have to layoff more people when they continue not growing at expected rates. I give them a year before another round of layoffs occur. I don't claim to be a prophet, but I was pretty outspoken about their inevitable fall due to the technical problems their platform set them up for. Blackbaud has stopped growing organically at the pace shareholders want, so it desperately tried to maintain growth through acquisition, which has ultimately failed for it.
Blackbaud didn't, or at the very least couldn't, and probably still doesn't trust in its developers. When you have Software Engineer I, II, and IIIs talking about how bad something is technically, are you going to go to your Super Meta Daddy Rockstar Architect and dissuade them from continuing down their path or advice them to perhaps heed the advice of their relatively inexperienced counterparts? This is part of why I expect the dead cat bounce. When you stop trusting your developers and dictate exactly what they must do and how, they stop believing in their product and company. Eventually this translates into them leaving altogether. Blackbaud is a lesson on how to screw up many things with many poor choices. For starters, they have a technology stack that most of the world would probably laugh at, which has rendered them incapable of capitalizing on all their data. They also decided their old guard knew better than all the new people they hired (these are the same people who refuse to use C# and continue to use VB) and turned them into an "elite" group who ultimately dictated the entire companies technical direction.
The TLDR; Blackbaud had a lot of great people working for it and a lot of terrible people in management backing terrible decisions. They've steadily continued their march toward a faceless evil corporation and this year's "Best Places to Work in South Carolina" saw Blackbaud fall 8 places from last year. It could be more competition with better companies appearing down here or it could they've become a worse place to work. They also have made their employees technical skills irrelevant and are stopping their growth from day one due to their highly specialized tech stack that isn't transferable elsewhere in most ways.PeopleMatterThe Kool-Aid is poisoned years
I came here in hopes of getting heavily back to the roots Blackbaud had been denying me for many months when they tossed me into the sarlacc pit of production. I somewhat achieved that, but on a somewhat artificial level.
I went from being an ok ui engineer to a fairly solid one. I don't see many designs nowadays that make me grab a new pair of pants. There were plenty of interesting ui challenges at PeopleMatter due to it not looking or behaving like a lot of other applications. Here is an example of something I made there: http://i.imgur.com/6kNL4.png
. Unfortunately, I can't show off the even more awesome interactions from a screenshot. PeopleMatter definitely offered one thing Blackbaud doesn't, the ability to continue learning and growing. I learnt more in two years than I'm sure many of my peers who are still at Blackbaud have had the opportunity to learn (Web Forms isn't even used in modern development at all and we all agree VB is the joke of the programming world). However, there is less to learn and grasp as a ui engineer (caveat being people truly pushing the limits of cutting edge features in modern web browsers and having the luxury to not worry about IE) than as a typical software engineer.
I may have had next to no time doing software engineering, but I did manage a few big things there. For instance, my "claim to fame" was doing a refactor on https://github.com/jetheredge/SquishIt
a fairly popular project. I then built out an abstraction to leverage it, which is still being used today. On top of that, I jump started my GitHub use, which down here in Charleston still is rarely used by developers. I was actually told that I was the first resume that my leads at SPARC saw have a link to my GitHub account. This is for a separate discussion, but as a whole I think the average Charleston developer is worse than those in the bigger tech centers for a variety of reasons.
PeopleMatter had the best development team I probably worked with so far. This isn't to say I haven't worked with good developers at Blackbaud or SPARC. I feel the bar the engineers set was high across the board. Not only that, on the whole the average developer there seemed better than the average developer elsewhere. It seemed to me that their interviews were among the best as well. This isn't to say they were perfect. Really smart people are still bound to make more mistakes in new unfamiliar territory. I believe the only question you need to ask yourself about whether you're working with good people is if you'd want to hire them and it came out of your pocket.
What crippled this great team was terrible everything else there. Outsourcing galore that would make you beg for Chinese water torture. Flying by the seat of our pants without good requirements, good grasp on client needs, and a good grasp on whether they would like the direction we were going. An unnecessarily large hierarchy with people probably getting paid too much and doing very little. Overly short deadlines that meant constantly having bad releases that required too much time to fix. Something reminiscient of the Alamo for problems everyone knew would eventually come back to kill us. And plenty more to scare a small child enough that they'd rather see Chucky movies.
Old +James Moore became the preacher of the Word of Spolsky, handed to him by +Joel Spolsky
, which upon understanding is like reaching enlightenment. I see the world through a set of new eyes tainted to company mediocrity and forever doomed to have expectations that most cannot meet. It might be absurd to call it enlightenment, but it honestly feels that way in many ways. When you stop accepting the status quo, you can strive to make a place bigger and better than anything else out there. You can almost think of it as trying to make a company not only be loyal to its employees, but its employees feel loyal to it. PeopleMatter quickly fell flat to those willing to listen to and believe in the Word of Spolsky.
PeopleMatter has lost almost every original developer from the v1/v2 days (James Moore, +Mark Olsen
, +Austin Floyd
, +Keith Abramo
, +Darrell Neel
) and has now lost every original person from their Arcadia acquisition (the original original PeopleMatter company). Odds are that both +Curtis Blanton
, the only ui engineer, and +Andrew Whitaker
, their best software engineer, will leave and possibly even come to SPARC. In turn, most of the original knowledge about the product will be lost forever to the winds of time. The recruitment videos themselves are filled with people that no longer work there such as http://youtu.be/ZQDEo0ne93w?t=27s
with 5 out of 5 gone.
The only reason to go to PeopleMatter instead of Blackbaud would be is if you wanted to learn and grow. If you don't care about that at all Blackbaud would become the easy choice that is if they are actually hiring despite laying off. PeopleMatter is sinking faster than a fat kid anchored with weights racing for cake at the bottom of the ocean. If they exist in another three years, without being owned by another company, I'd be amazed. All the people who saw the writing on the wall weren't listened to and PeopleMatter continues to live in a fantasy land.SPARCPants party anyone?
I'm not going to lie. I had my qualms about SPARC for a long time and that's because I didn't want to go write pure Java and work on government contracts for a variety of reasons. Personally, I "refuse" to use Java with the advent of awesome alternatives like Scala. I would have applied there sooner had I known what they had going on. At the time, I was looking outside of Charleston for a job as I decided going somewhere like Seattle was a better idea for my career (as mentioned earlier I feel Charleston will never compare nor compete with other tech cities). What also was spurring that decision on was that BoomTown wasn't hiring more people in February '12 and it might not have started again until August '12. I know most of the people there and it was the only other .NET shop in town. I was considering +Jack Russell Software for awhile, due to them being so heavily involved in the open source community, but they use lots of Ruby and I'm not too fond of it despite them working with Node as well.
Eventually I got convinced to give SPARC a shot and to come check them out. The interview process's technical aspect didn't impress me, which I hope was due to all the people I knew there. What did impress me was shadowing for the day getting to learn about different teams, products, tech stacks, etc.. I was also really impressed that both +John Smith
, CPO, and +eric bowman
, CEO, sat down to talk to me, which was really awesome to say the least and something I didn't really expect. After receiving the offer I wasn't quite sure if I wanted to take it for a few reasons that I'll keep to myself. Obviously I did accept it and here I am today to tell you why SPARC beats the pants off your company,
Lets start with my team's size, it is probably smaller than yours. There are three main developers including myself and two team leads. The two leads also help manage another closely related product, which means that us non-team leads have even more direct code impact. I feel safe saying most places you'd step I've had my finger on it or at least have seen the code. As a product grows it is hard to stay on top of everything, but I'd say at least 50% of the product I'm in touch with if not more. Go somewhere else and see if any one person knows 10% of their product. I've ported us from MySQL to MongoDB, using my own "mini-ORM", and have written core calculation code.
Two team leads are better than one or none and team leads are better than managers. A product doesn't feel like it is ran by a dictator handing down decisions without anyone to challenge them. Additionally, someone who feels your "blood, sweat, and tears", because they are right there with you, will always feel like an ally more than any manager can ever hope to achieve. Most managers can't properly recognize the value of their team members, because they aren't doing things with them. This means the only good manager is one who listens to his team for feedback. I've heard/read that Google had ~100 people to 1 manager, since they mostly just relied upon the individual team members to pass the appropriate comments to the manager. In turn, this begs the question of why have a manager if your team lead is already doing the dirty work? By having two team leads you reduce the possibility of being stuck with a "bad manager" and hopefully neither one should become overwhelmed.
I'm a big boy now! No longer am I restrained by some old guard who can't even manage to write code in C#. No longer am I restrained by some corporate tech stack that I must use and integrate with no matter how bad it is. No longer am I "just" the ui engineer where my opinions mean little, despite having been a software engineer for far longer. I am a respected individual on my team where my opinions are listened to regardless of how terribad some of them might be. I can solve problems without the weight of a corporate giant bearing down on me.
Tech agnostic is the best agnostic. We have Java, C#, Node.js, Python, and Scala all housed in the same company. If you think this a terrible idea and made it this far you should probably reconsider your stance. By offering people the ability to work in different languages they have the chance to grow in numerous ways and this ultimately leads to happier, smarter, and more motivated coworkers. On top of this, people are able to choose the appropriate tool for the task at hand. If one day I want to work on a Haskell project there is a better chance of me seeing that at SPARC than anywhere else, which means I'm less likely to leave for another company (Haskell isn't currently being used on any project, but the possibility exists at SPARC unlike elsewhere). Additionally, allowing developers to make decisions without having to follow corporate dogma reinforces the "I'm a big boy!".
OMGWTFBBQ THIS SHIT IS AWESOMESAUCE. My current tech stack is "more cutting-edge" than a lot out there. I get to work in Node.js and use MongoDB. This kind of experience is very uncommon, let alone something you'll find most developers in Charleston even having the faintest idea about. Not everything is going to blow your mind that SPARC has, but that goes back to being tech agnostic. One man's VB is another man's joke. Working in a one language, one tech stack environment is bound to reduce the amount of AWESOMESAUCE.
Scrum should not behave like Scientology. The Agile Manifesto states as the very first thing, "Individuals and interactions over processes and tools". Guess what most people immediately do? Processes over individuals and interactions. People, particularly manager types, are scared to leave things to the unknown. By allowing their fear to get the best of them they simply descend into a new form of micromanagement that impedes developers from getting work done. Thankfully, SPARC tends to err on the side of, Programming, Motherfucker, http://oppugn.us/posts/1300784321.html
. Don't get me wrong, SPARC gets Scrum wrong in lots of ways, but at the very least they follow the spirit of it more faithfully without being dogmatic about their approach.
A lot of people forget a key ingredient to running a company, appreciating your employees. I've never felt as appreciated as I do at SPARC. Blackbaud paid a lot of lip service to this idea, but didn't follow through on it all that well. For awhile I did feel appreciated, but that dwindled over time. PeopleMatter was the epitome of being undervalued. I didn't even know I was considered an interface/ui engineer II until they made multiple levels for the position. Additionally, not one qualified ui engineer was ever successfully hired while I was there, which would make you think they'd appreciate who they did have even more. I will say +Elizabeth Hodges
and +Leah Giorlando
tended to make me feel appreciated much more than any manager there ever did. I did feel a little undervalued at times while at SPARC, but that isn't really the case anymore. There are several ways I've felt appreciated, from something as simple as a Sparcet (http://www.sparcet.com/
), to actually hearing positive comments, to having a great performance review, and along with a lot of the former reasons above. Proof that SPARC has cared more than any other company I worked for? I had a larger raise after starting at the end of June and getting reviewed in December than I did working a full year at any other company, because they really appreciated the job I was doing there.
Reviews suck only because your company sucks. SPARC has a pretty good review system in place that makes all the others look like the pathetic jokes they are designed to be without truly helping employees. Going back to my two team leads are better point, we have a review that starts off in a much better place. Rather than this being one-on-one it is now improving insight into what your team thinks about you versus what you think about yourself. How much code does your manager even look at let alone understand that you've written? I don't have that problem anymore. My last manager at Blackbaud was so bad that it was like some cruel joke and had most of her team leave to work elsewhere. She felt reading about web development would somehow make her understand web development without ever having done any of it. Thankfully, I didn't stay long enough at that point to have to deal with her terrible joke review. Getting back on track, even if you have Joe Schmo and Schmuck McDuck against you in the review you're offered the opportunity to invite others to review you as well. Unless you happen to work on the worse team in the universe or you are a terrible person there will always be at least one person sitting there in your corner. The review itself not only was about you, but about your team leads and the company. How many companies even want or attempt to have you review them? In fact, my review became more of a team lead review. To top off the review, my team conducted them in Laura Alberts a "farm-to-table cuisine, fine wine, craft beer & gifts" restaurant and enjoyed some beers while we talked. If you're going to have a review, why not get a beer while you do them?
Interested in your interest. If you aren't passionate about what you do, you will not perform as well as someone who is. SPARC recognizes this fact in multiple ways. For example, I was originally hired onto the Sparcin team as their ui engineer due to the dire need for one; however, I was promised it would only be for roughly 3-6 months and I could then switch onto another team as I was looking to do full stack work again and not be stuck in only one part of development. I never worked on that team a second after I was hired. The 520 team leads convinced someone or some group that I was a much better fit and immediately stole me from Sparcin. I'm still glad I was kidnapped as I've been having a good time over there and got exactly what I was looking for. As I previously mentioned, SPARC is tech agnostic. If you lose interest in Java there are teams for you. If you lose interest in C# there are teams for you. If you want to work solely on mobile there is a team for that. To take things a step farther, SPARC runs an internal venture program. If you have a great idea, but didn't want to go through the normal set of startup headaches, SPARC has you covered. It works similarly to other venture programs and works like an incubator. They'll make you "compete" against other ventures, pitch the idea, work through an alpha and beta stage, etc.. This works out fairly well for everyone involved, since you remove the need for running around getting funding from angel investors and vcs, the possibility of you going without a paycheck for awhile, getting to stay with SPARC, and more. I am having a few issues with it after just applying for this round, but that's mostly around the communication. Passionate people are the best people to work with, which is why despite NetCommunity's shortcomings the team itself was fantastic.
The dog days of Friday. I have a dog, who is factually the best dog in the world, except for when she flops around like a fish (she has epilepsy). I love getting to have my couch cheetah come into work with me rather than sitting at home. That's right, I get to bring my dog into work. The only way this could be better is if I got to bring her everyday. Dogs make people happy, if they aren't shitty dogs and thankfully we have considerate people who don't bring those kinds of dog to work. To be fair, some people don't like dogs or animals in general, so this isn't much of a perk, but I do so it is. If you have a dog, you hopefully like them enough that you want to be around them.
Working for the man from my bed. I am not a morning person and a lot of other people aren't either. Thankfully, SPARC straight up says that they want you to work from home at least one time a month. I myself have a regularly scheduled one every other week. One team lead has one every week and the other at least twice a month, so this certainly isn't a fake policy just to sound awesome. I haven't been anywhere else with such an awesome policy. This kind of policy works to everyone's benefit. It helps ensure communication isn't dependent on physical location, reduces your gas use and driving time, reduces their utility bill, and you can simply enjoy a day home from work.
"Mmm yes, yes. I am quite the refined and cultured individual my dear. Good show by the way old chap! Your nerf assault execution was quite flawless. Indeed, it was the picture of nerf perfection.", said the fine gentleman. Culture is a strange thing to talk about. I certainly can't define it rather well at all. If anything, I feel a culture is much like a clique on a company level. As I said, Blackbaud felt like it had a culture at some point and lost it. My team had its own culture that was self maintained. PeopleMatter was like being kidnapped by Scientologists and beaten until you accepted their ways. They forced you to fit into a culture that was devised by the worse CEO ever with many aspects straight up lifted from Benefit Focus. SPARC feels genuine unlike the others. People seem overly nice at first, like Body Snatchers nice, but that's probably because most people haven't experienced people who were fairly happy at work. People actually take breaks and leverage the ping pong table. There are couches/chairs that people utilize to kick back and chill away from a desk whenever they choose. We have one quality beer on tap and usually one for the fake beer drinkers. I may not be able to define culture, but I know it when I see it.
Change you can believe in! Our CEO, Eric, is/was a developer. Almost no other type of CEO can actually understand and get behind their development team to the same degree, except through lip service. Eric is pretty awesome to say the least. He's someone who you'd feel comfortable hanging around and drinking with, all without that awkward boss dynamic. One day a few of us grabbed beers before Beer30 (our app to inform us that it is ok to drink) and Eric walked in asking if it was. We never checked before, but saw it wasn't, so rather than reprimand anyone he went ahead and switched it for us. Another example is how he wanted to do a concealed carry class, so got a private SPARC class going. The following work week he came over and was asking people if I had been bragging about how well I did, never having shot anything before in my life. He proceeded to tell everyone on my behalf, since I had not bragged, of my mad skillz to pay the billz.
SHOW ME THE MONEY! I now own SPARC. Ok, that is a bit of an exaggeration. SPARC is now an employee owned company. If your company isn't offering you anything for their success other than a paycheck, why should you care how well it does? The only time you do is if you're in a startup that gives equity, part of an employee owned company, or some sort of employee bonus program similar in nature to employee owned. The full details haven't been revealed yet, but they are working on going through the employees and discussing it with them.
Golden handcuffs galore. We have "unlimited" vacation. Zero vesting schedule for your 401k with a 3% 100% match and 2% 50% match complete with solid pay to boost your 401k numbers. Free soda, free coffee, free, but third class citizen, teas, free beer, and a limited selection of snacks. A company cell plan, cell phone plan reimbursement, or even a new phone on their plan. Free taxi service, so you don't even need to think about drinking and driving. 100% paid for healthcare coverage.
Is SPARC perfect? No. I'm not sure how appropriate it would be to vent in public, but I'd be happy to share that privately if people were interested. However, you prove to me that your company is better and I'll have to consider applying there. On the whole, you'd be hard pressed to find companies that compares as well and even harder pressed to find companies that are better than it.