Software Engineers Think This is an Ideal Workplace

Certain cliches about job candidates permeate the software industry. Every hiring manager wants someone who is smart and a self-starter. The ideal candidate is a good team player, who enjoys working in a collaborative environment and stays focused on delivering value to the customer, while writing great code using the company’s technologies.

Candidates also have a list of clichés, which reflect what we want in an employer. We all want an employer who fosters communication, embraces current and next generation technologies, offers a cool perk (free food and telecommuting are popular) and pays a reasonable salary. On both sides, almost all of these things are perfectly reasonable desires.

But let’s look beyond the cliches for a moment. We all have an internal list of criteria that reflects what’s important to us in a job. From the candidate’s perspective, what really matters? What’s the deal killer and what will you compromise on?

Here’s my list, in order:

  • Interesting problems to solve. Boredom does not suit me. There are so many interesting problems in this world – new industries to learn, new technical problems to solve, new management challenges. Challenge me and I’m a happy camper. Oh, and existing software can have interesting problems, too.
  • Flexible work hours. This is a leading indicator of a culture that I enjoy. If the company doesn’t set work hours and just expects everyone to get their job done and work it out among themselves, then that’s generally a sign of trust between company and employees. I want to work somewhere that has that trust.
  • Modern technologies. I want to work with modern technologies. It doesn’t have to be bleeding edge, but it should at least be current. A company that is still working on old technologies (really old, like SQL Server 2000) with no concrete plans to upgrade is sending a bad message about their culture. They’re sending the message that they don’t value making their engineering organization as efficient as possible.
  • People. Jerks and control freaks happen. If possible, I’d prefer not to work with them. I like to work at a place where it’s okay to enjoy being around your co-workers, and where a little water cooler conversation is both fun and normal. I don’t enjoy the political problems and angst that come with a command-and-control culture, or an environment where being nasty to other people is accepted.
  • Salary and compensation package. I do have a mortgage, after all. I also like to eat. Plus, a place that compensates me appropriately shows that it values the work I do.

What’s your list? What matters to you?

Image: A Fishing Rod, Reel And Lure On A White Background by Bigstock

22 Responses to “Software Engineers Think This is an Ideal Workplace”

  1. I vastly prefer working in service of a cause. Help protect little kids from abusive parents? Great! Help upgrade an administrative system for an administrative government agency? Not so much.

    I like to feel as though I’ve made the world a better place. I like a job where I can describe the cause I serve with pride.

    • Catherine Powell

      That’s a great point. There are jobs that make us feel good (say, software that runs defibrillators and literally helps save lives) and jobs that maybe make us feel icky (say, software the runs telemarketing campaigns). A job that aligns with your values is a good criterion.

    • Ben, so do I. Show me someone who is a top %10 performer in any occupation, in any industry, and I will show you someone who is totally engaged with the work at all levels, mentally, emotionally, physically. But I stand by my statement. If you are a man, then you’d better be working for the money. The best way to work for the money is to do something that you believe in, that you love. But the cause is the means, not the end. CAUSE -> LOVE -> ENGAGEMENT -> PRODUCTIVITY -> MONEY.

      This is a male perspective. It is the only healthy perspective for a male. What I am saying does not apply to females.

      Catherine Powell: Your article appears to be designed to serve the interests of employing corporations. It does not serve the interests of the workers. It misleads them. It, basically, screws them. I think that that is your intent. You are just brown nosing the employers who “pay the rent” at DICE.COM.

      Workers: If you are a male, do what you love, but never forget why you do it. Don’t become a victim of gender confusion and role confusion. As a male, you are a provider and a protector. That is the essence of your job, of your role in life. Everything else is detail.

      • The Heretic

        Excellent post, you are absolutely correct that the industry propaganda is misleading. Money is management’s main priority and their goal of wage stagnations is not something that can be ignored. It is causing all kinds of problems in the general economy. Many of the labor markets are dysfunctional and impacted as a direct result. Purchasing power is dragging on growth like the car dragging the anchor down the road in the oil commercial.

  2. Did I really just read that males are the providers or am I hallucinating? Sheesh, whichever male is supposed to be providing for me really needs to start sending me the checks so I can stay home and file my nails. I have supported myself since I was 18 and am the sole support for my family now.

    Re: the above points, I couldn’t agree more. Flexible hours, interesting problems to solve, current technology, competitive salaries, and good people make for a great work environment.

    • Terre, your reference to my viewpoint as a possible hallucination is the kind of remark that maintains the closed mindedness regarding gender roles that characterizes society today. It is an insulting remark; you insinuate that the viewpoint is not legitimate or worth considering.

      My intent in posting it was to break through this closed mindedness. The viewpoint is relevant because Catherine Powell’s article, according to that viewpoint, promotes a way of thinking that empowers corporations, disempowers individual workers, harms, perverts, and confuses male workers, and arguably (from my point of view) even harms females.

      In short, Catherine Powell’s advice is BAD ADVICE. There is some truth to it, but the overall message is harmful. When young (20’s and 30’s) males fail to form properly into good, strong men, i.e. into providers and protectors, they are disempowered, females are harmed because they cannot find good, strong men and because they, in turn, are prevented from developing into good, strong, women, and society in general is harmed because the population is disempowered. Arguably, even the corporations are harmed.

  3. I love the list, as all of those where part of experience working at my prior company where I was employed for 15 years. Last 9 years of the 15 I worked in Platform R&D developing prototype using bleeding edge almost never when the product was going to be client facing. Some of the time we used Alpha and Beta and Pre-Release, however most of the time we used a production release of the framework in which ever shape needed. We always consider building just about everything our selfs even though it would not bells and whistles that would please a sales rep to present in a features grid.

    No I am not talking about building a intranet web app to shower graffiti wile names of people scrolled who had birthdays this month, I am taling about building platforms and a reference implementation of a product that would sit on the platform that are small as possible to get the work done, implementation becomes a organic process where you can deploy small amounts of capability at a time getting that portion of the product working like it should then on to the next one.

    Everyone makes a mistake (most commonly the large companies who may have 50-200 people working on the project) of setting a date to finish before your even sure when you will begin. The other big mistake that causes large projects to fail and/or under deliver over and over getting that many people together in the first place. I can’t get 5 people in a car to decide where to drive for lunch without killing the first 5 min. of the lunch hour, even though when all of us got up this morning we knew that lunch was going to come around, like it day after day. Even when we did loosely agree on a location at the water cooler one of would change our minds when we were walking out.

    It will never work in a large team environment is when you that many people that only want to work on “Modern technologies” because you don’t want to apply for your next job and say you were using HTML 4.0 standards and think you don’t know anything and someone walking and says Web 2.0, yes I user it all the time, and that person is the ideal candidate because he know the latest release that just became hot in resent months, right? If your working on projects that last few days or just a couple of week and you consider that as becoming an expert on the new technology your going to want to move the next version soon as you can, because the problems with latest API have issues, and you can’t roll back you need the 1.1, 1.11, 1.2, 1.56 to get your code stable.

    A stack is never ready for production until it’s running in production with production rigueur and unwatched users not changing their interaction patterns when they need to keep track of what they are doing to report in the bug wiki. Also I think most people who push technology as project manager really don’t understand it and rely on domain experts to recommend the technology to use when build from scratch or rely on a sales rep who also does not understand the inner workings and I think they are told if you don’t what the client is asking for just answer either “I’ll talk to our tech folks” or “it’s on the roadmap for next version” because they know once you start the ball rolling built from 100 people and millions of dollars your not going to shut down and move to something else in 3 months. And they are right, you can’t move the tracks once the train is moving. And after you wait release after release and don’t the simple feature you clients has been barking for because you don’t have the code to change the grid layout on a report to apply sort for a column, what do you do? Tell the client to find another vendor? Ya if you want to find a new employer. Well most of the time you add a meta layer over this modern technology and add what you need.

    Then of course if you have any experience in rolling out large CRM or ERP type systems, the vendor does not test their release with your layer to ensure it works. And most of the it brakes just about custom module you add, even the ones that follow their guide lines. It all can be avoided by staying one rev back from Modern and especially Emerging technologies. How many want to just put the new google self-driving car on a production line? It’s been approved to be tested on the Vagas strip. When simply rebooting a server every now and then, or requesting few more u’s on the rack to scale are common ways to keep the data flowing software engineers and architects don’t want to solve problems a technician can solve but putting a reboot on the cron and make it part of the procedure. The Arch and Engineer need to move on to getting the next modern tech working.

    I still don’t and don’t think I ever will understand why when that date comes that we set at the start has become so important that we roll out products that needs to changed because it don’t work like it should have, and we know we can get away with it by calling and upgrade. I don’t know about you but IM starting to see more of those as a recall, but we can send the fix to their house instead of having them drive to the dealership.

    I still use a grid pad and a pencil when IM in a meeting and I have an iphone,ipad,driod phone and tab 10.1 and a mac. My grid pad has never let me down, it never runs out of batteries, doesn’t beep unexpectedly and the thing I like most maybe is I can switch from my drawing app to writing app then to store contact info app to todo app in matter of none. When a technology is old as 2000 years there must be a reason why it has lasted that long, use what works and there is no doubt that it works. IM glad this type of cycles hasn’t gotten to the NASA people yet, I think the shuttle project would have been canceled long a go if they kept coming out with a new model every year. Check out the cockpit there are more physical buttons then LCD screens, they had the money to change them over, IM glad they didn’t.

    Oh and the 200 people not being able to come to a consensus on the smallest of issues is the reason why large companies constantly keep buying small ones that only need to reach a consensus among 1-5 people to decide on frameworks and technologies to use. And they know they don’t funds to buy more racks or have hire a team to constantly monitor servers, and they somehow make it work. And when everyone know how software works and they will, people get how the wheel work and when people know why it failed is only when people will stop using emerging techs and use stable, tested proven tech.

    Im sure that long and boring for some, for some you get it and try to wait it out, and for some you have no idea what IM talking about, like most people don’t see that JSON is an upgrade from CSV, but we can’t tell our bosses we are going back to CSV after spending too much moving to XML.

    • 3der, your writing style is difficult, and I am tired, so I almost didn’t read your post. But something caught my eye and I changed my mind and began to read. I read it all, slowly, carefully, savoring your thoughts. Your post is perhaps the most significant, concise, and honest statement of the state of our industry and occupation that I have ever encountered. Thank you for posting it.

      • WO’O IDEAFRAM, first of all thank you so much for the complement, it helped me forget the insult about my writing style just before;) Im

        This is 3Der, who posted the above comment.

        I usually don’t write like that, but I have a good reason for it. I hope this comment is a little bit more in english lets say, and you can read a bit faster. So to explaining why the above was not so much in english, I had been researching and coding like crazy and gotten a total of 4-5 hours in 3 nights. Then when I had enough and fell asleep, and was a sleep for about an hour maybe, I broke a chunk of ceramic off my bridge that is on three upper teeth. The exposed steel from the bridge cast had a razor sharp edge that well, my tung tried to file down while I was sleeping, the steel won and i woke up with my tung having cuts all along the side. Doesn’t matter how much you need sleep, but if that happens to you you won’t be able to get sleep until you can put a barrier between your tung and tip of a razor blad, felt like.

        So after a couple of hours of not being able to sleep I started to read in bed with my now outdated iphone 4s. The modern technology has arrived iPhone 5, upgrade now or you will burst into flames!!! So where was I?, oh yes trying to focust on something other than trying to hold cotton balls in place and hoping I don’t endup swallowing them in my sleep. or choking on them. Thats when I was brought here by the url current of the internet.

        When I was just flying by the article I noticed: “(really old, like SQL Server 2000)” in there, and I don’t know if it was the pain I had emanating from my mouth or the pain from years of trying to get software that got the job done seen as software that get’s the job done, but never could because of labels and number, I had to comment.

        When an engineers think a company shows they don’t value making their engineering organization as efficient as possible by simply not having any products that are a rev back are not engineers. That shows that large crop. giving universities free and discount software is a winning strategy to seed the sales process and it is going to create a shortage of computer scientist even though, there are millions with a MS in Computer Science that only know Java, and don’t understand languages.

        But anyway, thanks again. And I hope we don’t collapse our industry like the Financial people did when cashiers and tellers though they were analyst because it said that on their business card.

        • 3der, you continue to refresh me with your humanity. Please consider contacting me privately so that we might continue our conversation. Most of what I have to say in response to your posts would be off topic here. My email address is at the top of the page at IDEAFARM.COM .

    • Catherine Powell

      Thanks for the thoughtful comment, 3der. There was certainly a lot in there to think about. I’m also sorry to hear about your tooth – hopefully they got that bridge fixed!

      One quick note: when I say SQL Server 2000 is old, I mean mainstream support for it ended four years ago ( and extended support ends in April 2013. That means no more non-security hotfixes, no more free support currently – not a situation I want to be in! After extended support is gone, if we’re not upgraded we’re potentially leaving security exploits open in the product and we can’t get help with it – which is really not a situation I want to be in! Personally, I’d rather stay up to date (note: not bleeding edge), so that we stay comfortably within the mainstream support cycle for official support and for developer aids like extensions, training and tooling. It’s more efficient and more cost-effective for the engineering organization as a whole.

      • Ms. Powell, I agree, and your note leads me to suggest an omission in your list. There is indeed an optimum position for each code shop relative to the current position of the bleeding edge. Actually, there are three optima. The shop manager wants the production efficiency, which is determined by the technology forecast considered along with production costs. The marketing manager wants strategic technology positioning, which is also determined by the technology forecast but combined with marketing analysis and viewed from a viewpoint that focuses on short term revenue and long term strategic marketing position. The problem is that there is also office politics, and in my experience the office politics can blow these other “rational” voices to smithereens. In a nutshell, you don’t get a promotion or a job by championing the idea that the plans and policies in place in your target position should be continued. I call this effect “churning”, as in “technology churning”. I argue that 90% of the so-called “learning” that this industry and this occupation does is essentially wasted effort down a rathole. It does not advance us. It does not enable us to deliver new functionality to end users. It just burns out successive waves of young, enthusiastic new hires. “People churning.”

        DICE.COM loves “people churning”. Beware of these people. They are not your friends. You are a ballerina. No one wants to pay to see a 50 year old ballerina perform. When you are burned out, you will be discarded, just like a light bulb.

    • Rick Woodman

      I love your reference to setting a date for project completion before you know when you will begin. I worked for Unisys Corporation for 7 years, almost to the day. (They closed the plant on April Fools Day). Anyway, the last project and development team I managed fit right into this category.

      My boss called me in one day, and asked me to take on a new project. She described it to me and I said “that’s about a 3 year project”. She said “you have 9 months”. I repeated my estimate and she repeated her statement.

      Now keep in mind I hadn’t seen the requirements (which another group in Georgia had spent two years generating and weren’t done), I had no development team yet, it was an Object-Oriented CASE/4GL application development tool for 3 different platforms, to be written in C++ and its own script language (obviously not yet developed), and all of the foundation pieces (the database, the operating systems, etc.) were in flux.

      An arbitrary “marketing window” had been established (the bane of all projects, large and small) and allegedly, if the product was not “to market” in 9 months it would be unsellable.

      So, I was told, “either you tell me you can do it in 9 months or I’ll find someone who will.” Basically, either you lie or your out of a job. I was young and stupid. Oh, by the way, I didn’t mention that “back in the day”, none of us were familiar with the Object-Oriented paradigm or the C++ language so we had to undergo 2 weeks of intensive training (once I put together a team of developers).

      Thus began a 3 year journey (yes it really took 3 years) of 60 hour weeks, and I shudder each time I think about it.

      I could go on and on with all the gory details, but suffice to say, Unisys management just couldn’t figure out why they kept missing Marketing established dates not by weeks, not by months, but by years. Ultimately they brought in a team of experts from the Software Engineering Institute (SEI) out of Carnegie Mellon University and we were all trained (from the CEO to the janitors) in the Continuous Process Improvement (CPI) methodology. Everyone had to be trained, buy in, and sign an agreement, that we would follow this methodology on all projects, both large and small.

      That lasted as long as the first complex project and we were told by management we simply could not afford the time it would take for follow the CPI methodology so we were forced back into the “old” unsuccessful way of doing things.

      Now we’ve got Lean Six Sigma and PMI/PMP training and certifications and I’m not sure companies are any better at estimating and delivering large projects (or even medium projects) on time and on budget than they were 20 years ago. But folks are spending a whole lot of money buying books, taking courses, and trying to pass exams to garner that golden piece of paper that says they’re now an expert. And in the end, they’re like the very young VP I interviewed with. She had absolutely no clue how to interview someone, sat there stone-faced while I described my many years and wide variety of experiences, 10 years of project and people management experience, and never asked me a question. But she was a Vice President and had that golden piece of paper, bless her heart! I, by the way, don’t possess that golden piece of paper, I just have a wealth of actual real-world experience. I wonder why I never got a call back?!!!

  4. Rick Woodman

    What does the future hold for a guy like me? I’ve been a software engineer, development manager, project manager, support tech, technical writer (effectively), delivered presentations worldwide, had an article published in a worldwide company magazine on the Object-Oriented Paradigm versus Structured Programming, worked at customer sites installing software, debugging, supporting, training, authored user guides and training manuals, written in assembly language, Basic, PL/M, C, C++, Visual Basic, & VBA. I’ve had a little exposure to C# and Microsoft SQL (Access and SQL Server 2005). I’ve been trained extensively in management and the Continuous Process Improvement methodology out of the SEI group at Carnegie Mellon University. I’ve done operating system work, laser printer drivers, language ports, applications, and utilities. I began in the industry in 1980 when CP/M was the primary microcomputer operating system and there was no “PC”, no DOS, no Windows. I maintained one of the first business word processors and spreadsheet programs written in assembly language and utilizing self-modifying code. I’m conversant in binary and hexidecimal. In short, I have done virtually everything one could imagine over the course of my 32 years in the industry, including 5+ years in the telephony industry authoring IVR applications, pulling and terminating phone and CAT-5 cable, and becoming an Operations Manager. I spent 7 years managing large development teams and very large, multi-year and multi-milliion dollar projects at Unisys Corporation. I have spent the past 15 years working for the same company in “old” technology programming in C because they needed me, we have been like a family, and I have been the primary person bringing revenue into the company through the work I do.

    Now that our income stream has been cut, I’ve been cut to part-time, and I can’t find a job.

    All my years of experience and proven ability to learn, adapt and grow in virtually any environment count for nothing because I can’t list anything pertinent to today’s technological world on my resume. One position calls for .NET experience, another Agile, another a PMP certificate, another Six Sigma certification, another Java, C#, Web Development, Distributed Architecture, Cloud computing, and on and on.

    I notice there seems to be a great deal of “re-branding” going on these days – taking 20 year old concepts, renaming them, creating training, college classes, authoring books, and specialized exams, all of which cost an arm and a leg, Regardless of your years of experience and proven track record, if you don’t have the right piece of paper, you don’t stand a chance of landing an interview.

    It is frustrating to say the least. Even though I’ve proven over the last 30+ years that I can learn, do, and excel at anything given the chance, I seem to be a dinosaur. I can’t afford thousands of dollars to take classes and exams, and even if I could, where’s the 3-5 (or more) years of experience required in addition to the skill set?

    Frankly, despite the fact that I’ve literally applied for a hundred or more jobs since early in the year, in today’s very impersonal world of resume scanners and very specific requirements a “generalist” like me doesn’t seem to stand a chance.

    Recently, I finally landed an interview with a company that put me through over 100 hours of effort in interviewing, testing, and presenting, over a one month period. I not only learned the technology as I was testing, I outperformed the “experts” that were also interviewing for the same position. I solved problems they missed and I was told I was the leading candidate for the job. All of my references were checked, repeatedly, and in the end, they called me and said they decided not to fill the position at this time.

    Frankly, I am at a loss, and I have to wonder, what the heck has happened to this industry!?

    • The Heretic

      Rick, it is not you. The labor market is dysfunctional. There are impactions everywhere. Recruiters have monopoly control over labor market access and their business model is to find exact matches that they can package and sell for a $25k to $35k commission. If you don’t fit their exact requirements you are not getting back in.

      The problem is that their business model is not suited for filling prototyping positions. Your past experience and proven ability to prototype is irrelevant to them. They are clueless to the fact that terminology chances, but the concepts are pretty much the same. You have to use the exact terminology they are looking for because the really don’t know and have no intentions of learning. They are nothing but sales people looking for easy money skimming the cream off the top of the labor pool and throwing the milk away because there is no profit in it for them. As long as they control 96% of the listings, wages will be maintained below the cost of acquiring the skills and market access will be extremely expensive. Good luck, you are going to need it.

      • Rick Woodman

        Well my friend, sadly, there is a certain amount of comfort in your post. I guess a good percentage of me already knew the truth but I just had to “vent”. It doesn’t help my situation (or hundreds of thousands of others in the same boat), but it does help to reset my expectations and jolt me back into reality. The fact is, at 57 years old I just may be washed up in this industry. I may have to start over doing something completely different. What, I don’t know just yet. At least I’m still bringing in something at 20 hours a week, my wife makes a reasonable wage, and we have health insurance through her company. Ultimately we can’t pay all our bills on this income but hopefully before we reach critical mass, something will break. Best of luck to everyone out there searching for a job because, like you say, we’re going to need it!

      • Rick, you are a 57 year old ballerina. Even if the industry and the market was completely healthy, you would still be out of work. Your boobs are saggy, and your tights are now hilariously so.

        The “ballerina” analogy is, admittedly, slightly too pessimistic. It is not exactly impossible for a 57 year old to write software. I also am 57 years old, and I craft C++ software. (Even though my boobs are also saggy.) But the rarity of such exceptions merely proves the rule. In certain occupations, such as professional sports, ballet, whoring, and software craftwork, when you hit your 40’s, it’s time for you to either become a teacher (or madam) or to move on to something new.

        • Rick Woodman

          Thanks for brightening my day! 🙂 I’m still laughing at your analogy. I was wondering why my toe shoes were beginning to hurt my feet! Dang bunions! Frankly, us old guys can outperform most of these “young whippersnappers” but most of us are not going to get the chance. Oh well, maybe sales will pickup in basket weaving.