"Retirement Home" for morally bankrupt Tech Management
Pros
The biggest positive is the experience of working with the people at the lowest levels of the company. Most do not buy-in to the culture of conflict, are focused on getting the job done right and doing work they can take pride in. Regarding the company itself, the biggest positive is that I have not witnessed any criminal or illegal behavior while working at Xifin. For recruiters and hiring managers - Definitely seek out the rank-and-file engineers at Xifin who have been there less than five years. Many of these are a value proposition, as they are extremely competent, hard-working, flexible, and drastically under-appreciated and underpaid for their skills. However, I would exercise extreme skepticism at the competence and more importantly, the moral integrity of anyone who managed other employees at Xifin and didn't quit within their first year. Do not recruit or hire these people, it will damage your company and/or your reputation with your clients and the rest of your professional network.
Cons
The most important thing to reflect on when considering whether you should work at Xifin is: Do you have a personal history of being slow to escape from an abusive relationship? While you may have significant skills or experience, these qualities are not highly valued at Xifin. Their engineering department has failed for years at retaining employees, and negative reviews keep piling up because they long ago stopped caring about their reputation. They prefer to target candidates who don't have the tools to learn of their reputation, or who give the appearance they have low self-worth or would have difficulty finding a job elsewhere. What this means is that unfortunately, if you received an offer of employment from Xifin, it was not because they felt you would do outstanding work. It was because you seemed like you'd do adequate work, and that you'd have trouble moving on elsewhere once you realized what you were getting into. Xifin engineering managers are largely embittered over the company's failure to go public and make them all tech billionaires. They mostly despise and blame one other for this, and they haven't moved on to another company because they lost any interest in making an effort at their jobs roughly a decade ago. What unites them today is their desire to gain a feeling of superiority by projecting their feelings of anger, frustration, and inadequacy onto their employees. If you observe those who manage Xifin engineering you will witness some of the most juvenile and childishly unprofessional behavior you will ever see from adults this far along in their careers and their lives. It would be slightly inaccurate to say that Xifin 'exploits' its employees, in that it is not your work product they truly care about. The Engineering department does not hire people in order to accomplish what they claim to be their own stated goals. Rather, it is a core ambition of engineering management - the thing that personally motivates them - to have subordinates they can mistreat and abuse. Everything else is for show, to project the appearance and to give managers the feeling that they are running an organization that does things. Engineering management has for years done a poor job at hiding their disdain and contempt for their own workers. They've enjoyed impunity and gotten away with this behavior for long enough that they no longer feel shame or embarrassment, nor do they see a reason to conceal what they are doing. They believe you are well beneath them, and they will go out of their way to rub it right in your face that they do not care about your ability to work productively or accomplish your [supposed] job goals. Completely incapable of any self-reflection, they are satisfied in their beliefs that nothing has been their fault for well over a decade. People do see this and quit, sometimes in the first few months or even weeks, many of them are eventually replaced although the company will use interns where possible. When interviewing candidates, upper management will lie about technologies in use, rules and practices, and most importantly - they lie that those in charge wish for things to improve. They Do Not. They know most of the words to say to -imitate- a desire for things to improve in an honest and constructive work environment. In reality, they muster all of their strength to stymie employees who try to solve problems and avoid mistakes and productivity traps. To them, the only problem is that the bumblers they've hired can't seem to do anything right, and need to be reprimanded and punished more severely. Unfortunately, their attitude toward employees who don't quit within the first month is: by not leaving, you've proven that working at Xifin is the best that you can do for yourself in your life, and they are therefore righteous and justified in treating you worse as time goes on. The more abuse and mistreatment you put up with, the more they see you agreeing that their negative assessment is correct and that you're not qualified to work anywhere else. To them, your decision to stay at Xifin reinforces their belief that being treated this way is exactly what you deserve. For this reason, most employees find that the harder they work and the more they contribute to the organization, the worse they are treated. Your efforts to improve things and affect positive change will be most unwelcome at Xifin. Demonstrating attributes such as diligence, professionalism, and emotional maturity will mark you as a target for further abuse. Trying to improve things or behave professionally in a difficult situation is seen as obnoxious virtue-signalling. All of these constructive behaviors will make you powerful enemies at Xifin, who feel that you need to be put in your place for thinking that you are better or smarter than they are. The effort put into backstabbing and sabotage is significantly greater than that put into accomplishing anything else that management pretends to care about. Managers will gladly put more effort into bringing about failure than into avoiding it - if there is an employee they can set up to take the blame. The leadership actually delights in seeing these failures, it serves their narrative of employees being 'beneath them', gives them further justification for their abusive practices, and provides an excuse to come up with new ways to punish and castigate employees for their own personal satisfaction. When employees reported abusive behavior by other managers to their own boss, I've seen their boss use the fact that 'Well, that person got yelled at by -their- boss...' as an excuse to justify the other person's abusive and unprofessional behavior, and persuade the employee on the receiving end to overlook it. I have personally overheard this happen more than once. Feedback from management usually takes the form of attempts to diminish your value while claiming that Xifin tolerates you in spite of your uselessness. The most common tactics are pretending you didn't do your work correctly or didn't meet requirements, so that you can be forced to re-do it [before it is later thrown out]. Managers can invent company policies that in reality, do not exist, or havent been used in over a decade, to pretend you didn't follow them correctly. Another common trick is adding additional requirements to a project and then complaining that the project is not done [before the work eventually passes QA and is later thrown out, of course]. Xifin pretends to desperately care about deadlines, while they allow resources that you need to complete your work to go offline for days at a time. Your deadline doesn't change, though. Your ability to do anything depends on many systems you are refused access to and denied any control over - webservices, databases, software builds which may be broken. When reporting problems with these, you'll have to do a couple hours of evidence-gathering in order to be taken seriously that you know what you're talking about, and that you're using it correctly, before the person who is allowed to work on the system will consider helping you - assuming they are not in several hours of meetings. There is no plan to leverage containers, virtual machines, or similar technologies in order to reduce the inter-dependence on everything needing to be up and running at the same time in order to get any work done. Addressing this would reduce opportunities to blame employees for failures, so it is not attempted. These "problems" actually benefit those in charge, and for this reason Xifin leadership has no interest in seeing them "solved". If a "problem" allows a manager to avoid responsibility and place blame on others, they will actively fight to block its solution. To them, Xifin engineering is working as intended - the only problem is you. Even when customers are affected, fixing software problems would create fewer 'successes' for the support team's manager, so problems with a work-around will be worked-around forever, you won't be allowed to fix them. Having said all this, Xifin occasionally makes halfhearted efforts to defend their reputation, so if you are good at spotting fake reviews on Amazon you will be good at spotting the ones here that say Xifin is a great place to work but giving no details about how or why. The 'public face' of Xifin likes to paint the narrative that they are 'trying to improve'. This has been their story for almost a decade, and during this time the company continues to lose experienced engineering talent while becoming a more hostile place to work. The idea that they are 'trying' to improve has long become irrelevant in the face of the fact that for an eternity in the tech-business time, they've been accomplishing the opposite. Xifin representatives might also claim they are unaware of the behaviors described here, and outside of the Engineering department to some extent this might actually be true. While they pretend they're doing nothing wrong, leaders are good at moving people around so that their bad acts are witnessed by as few people as possible. I have seen employees retaliated against when they threatened to report the behavior of more than one engineering manager to Human Resources. Finally, to the concern that these claims might be exaggerated or hyperbolic - the most important thing to say is: don't trust only this review. It's ok if you aren't a big networker - and Xifin probably chose you for this reason. Use popular job networking sites, even more important than reading reviews is to reach out to former Xifin employees. You will find most of them are glad to tell you the truth about their time at Xifin and how it compares to working elsewhere. Many express personal regret for having allowed themselves to be mistreated. So you're an engineer, why do you care about something like 'Culture'? At Xifin, culture is the problem that works to actively block all other problems from being solved. Xifin Engineering runs on the fear of being blamed for something going wrong, and management applies their best effort to ensure that plenty of things go wrong. This sounds hyperbolic, but at Xifin if your subordinate's work is allowed to move to the next step, this creates work for you to do and things you might be held responsible for. Since most 'important' work is outsourced, It is much easier to sabotage, delay, or altogether scrap your subordinate's work and blame them for their supposed failure to complete it. Employees on multiple teams have told me that they treated better, and their superiors seem more satisfied and less concerned, when they report that they are -not- making progress in their assigned work. Lower-level employees are encouraged to see each other as enemies and work in opposition to each other. Management actively encourages, instigates, and rewards conflict between subordinates, sometimes within their own team. Like most corrupt individuals who abuse power, management is guilty of the very things they regularly complain about in their employees. Those who complain the loudest about employees are the ones who expend the greatest effort in avoiding work and responsibility at all costs, and actively sabotaging work in cases where they can get away in blaming the failures on their direct reports. They get away with this because the one thing that upper- and lower- management can agree upon and unite behind is idea that every bad outcome is a result of their workers being lazy and dim-witted. Software Engineering should be a team effort, however Xifin sees it the opposite way. Communication between teams is limited and discouraged, there's a general fear that you might learn something to empower yourself or collect dirt on others. Even within teams, there is little to no discussion of what is being worked on or how it's getting done. This allows Xifin to assign supposedly-similar employees wildly different types of work while holding them to entirely different standards of quality. Management sees rules, procedures, and policies as nothing but beneficial, so rules are plentiful and often contradictory, with the most blatant level of selective enforcement. It is common to be reprimanded in front of others for failing to follow a rule because you were following your boss' order that contradicted said rule, and vice versa. In order to get anything done, middle-managers must lie to their subordinates about rules while lying to their superiors about how work is being done in violation of rules. When you're given counter-productive orders, you'll be reprimanded for repeating what your orders are in front of others if it might embarrass your manager. You're expected to degrade and humiliate yourself by taking full responsibility for your boss' bad ideas as though they were your own. You can expect to be ordered to lie to others about how you've been ordered to do your job, -especially- when the orders go against your professional judgment or ethics. Managers are usually required to attend four to six hours of meetings a day, this allows senior management to look and feel important, gives them something to go through the apparent motions of managing. They don't really know the state of their projects most of the time, but they speak with confidence and know how to make it look like their orders come from seasoned, wise counsel. Their words are dripping with condescension, and they've learned over the years how to give you the sense that you're one step behind the program and need to catch up. Leadership mostly concern themselves with ordering subordinates to perform activities which might resemble productive work, if not scrutinized too closely. They ensure that subordinates bear all responsibility for their decisions, while they resist change and avoid accountability at all costs. Any meeting with more than one manager is an awkward, uncomfortable affair where everyone is afraid to get in trouble for repeating to others what their boss ordered them to do. In spite of their mutual dislike, managers will protect each other in order to avoid scrutiny from their superiors, who believe anything negative they are told about subordinates. Many times I have personally witnessed managers discourage employees from reporting behaviors such as: intentionally sabotaging a subordinate's work, bullying of one's subordinates, and lying to one's bosses about what orders they issued to the team they manage. Lower- and mid-level managers do fear for their jobs if they 'make trouble', while senior managers are effectively tenured, then plan for Xifin to be the last place they ever work. They will never need to be hired anywhere else in their lives, and it shows in their attitudes and actions. Lower-management will blame subordinates to in order to cover themselves, and leadership will accept their story because they are aloof and incurious about what's going on at their company. Software Engineering Practices at Xifin: Xifin has not transitioned away from a start-up mentality when there was a 1:1 correspondence from each software project to a single developer who was responsible for it. Xifin holds dearly the belief that if code is written correctly the first time, it will never again have to be revisited or maintained. There is a total rejection of the idea that the greatest expense in producing software comes from support and maintenance, and that readability and extensibility should be prioritized in coding. There is a general cynicism that engineers have invented concepts such as 'maintainability' and 'technical debt' as an excuse to find toys to play with instead of doing 'real' work. You are pushed to get everything done today at any cost, because - the idea goes - if you just did your job right, no one would ever have to go back and change your code anyway, so it doesn't matter how "unmaintainable" it is. One of the longest-tenured engineers at Xifin stated in front of a group of us that Agile methodology is "just an excuse for people to not know what they're doing". The fact that this approach has failed for roughly a decade is - in management's view - entirely the fault of the employees who just can't seem to get things done. There's "never time" to do it right the first time, although at Xifin, there is most definitely time to do it over, and over, and over. Unfortunately, a very small number of engineers make the mistake of buying-in to the idea that creating code that others could easily understand and modify would diminish their "value" to Xifin. Although misguided, they are following the clear example set by senior management and helping to make themselves look better while create unnecessary work. You'll be kept busy in Engineering, but in reality, Xifin does not have any actual work for you to do unless you work in product support. Depending on project and team, anywhere from 40-75% of work is immediately thrown out after it passes QA [and all other obstacles discussed here]. A majority of what does make it into production often sits unused for years, in spite of being prioritized for immediate need. If a project is considered important or 'fun' to work on, senior management will work on it until it no longer fascinates them or realize they've painted themselves into a corner, at that point it will be handed off to an offshore outsourcing firm to finish. Finally, it is given to Xifin employees to "maintain". Typically you will be assigned tasks because they are considered impossible or, at least, likely to keep you busy for a long time. When considering what work to assign you, it is irrelevant where your skills are strongest, what you might prefer, or even what you were hired for. You'll be assigned whatever pet project a senior manager got bored of coding up on their own. When I interviewed at Xifin, I was excited to be told by a senior manager that there was a lot that needed to be done in the Engineering department, and they were looking for someone who would proactively seek out challenges and improve things. I realize now that the opposite is true, and that I was too willing to give them the benefit of the doubt when things didn't make sense. The reality of Xifin is that I have never seen a company that expends this much time and effort into making sure you do -not- do things. The most powerful unwritten rule of Xifin Engineering is that employees may not contribute their own ideas to a project, only implement or curate those of their managers or obtained through outsourcing. It doesn't matter what time of year or whether at the beginning, middle, or end of a release cycle, the excuse is slightly different but the result is always the same: Prevent change at all costs, Even if everyone agrees your changes would help, and you believe in your ideas so strongly that you offer to work on them in your own personal time after all other tasks are completed, the answer is still no, because it wasn't their idea to take credit for. What sort of things do you actually do in the Engineering department? Xifin is averse to using any software engineering techniques that were introduced after the year 2000, because this goes back to when leadership still had their heads in the game. There is some surface-level experimentation in things like automation testing, continuous integration, and automated deployments. Mostly, these are pet projects designed to give one of the higher-ups a new toy to play with and a new process to be the gatekeeper of. You'll see nearly every engineering practice that was discredited through 'best practices' over the last 20 years, with the possible exception of counting your lines of code. At least, I didn't see it. I wouldn't put it past some of them. For developers and QA engineers alike, the overwhelming majority of time is spent composing emails, petitioning gatekeepers for access to critical resources, and updating status of process items in workflow management tools. It is typical for 2-3 people to spend an hour standing in line outside the office of a 'guru' - even if they are not in their office - because the information they need to do their jobs is not available through any other means. Management sees no problem with the fact that knowledge and decision-making is structured this way. The fetishization of process-items at Xifin is intensely pathological. These serve as a stand-in for actual productivity, and due to the incentive and compensation structure, managers will frequently sabotage real-world productivity if it makes the statuses on the process items look pretty. You spend at least as much time defending why you set status X on process item Y as you will talking about your work. Senior management absolutely adores processes and tools, because they think it allows them to quantify productivity without needing to understand the projects they are managing and, ideally also, never speak to their employees. A win-win as they see it. To appease the processes-and-tools cargo-cult, employees must enter duplicate information in multiple ticket-tracking systems including Borland StarTeam, SalesForce, Jira, network shares, Excel spreadsheets, and more. Xifin is notorious for partially-adopting a new process-item solution just so they can say that the company "uses" them, these "transitions" usually stall after a few years and employees are left using both systems. But that's ok, because more processes means fewer mistakes and greater productivity, right? So what's it like when you finally get to do some Software Engineering? Try to imagine what you would do if you wanted to create technical debt as quickly as possible. You'll find it at Xifin: Copy-and-paste hundreds of lines of code, maybe changing a few. Your predecessors can't remove unused code, database structures, property files, and configuration settings, so you have to spot the real ones among the decoys. You can't update libraries to newer versions, ensuring that you can't get support for what you're using when it breaks. You must never rename anything anywhere no matter how wrong or misleading the old name was. Save typing by not putting a descriptive name on anything. You got tricked by an old name for something that is objectively wrong? You'll be told that you should have known better, but now that you've made the mistake, no, there's no reason to change it. This piece of software does literally nothing, but you can't remove it because your boss already lied to their boss about how it does something important... Due to ancient version-control and build systems that are manual-labor-intensive and error-prone, even though more than one full-time person is dedicated to cranking out builds 10-12 hours a day, it can take up to two to three days for your team to get the latest build of your project ready for release. Multiple times, I've been explicitly ordered to put code -we know will fail testing- into the build/QA process, just so the statuses of the process items can look clean and my bosses can tell -their- bosses that we are 'working on a solution' while wasting the time of several of my co-workers. Deadlines and productivity are the most important things though, at least that's what Xifin will tell you. Outsourcing: Despite my mentioning it later, outsourcing is a central pillar around which much of the rest of Xifin Engineering is organized. Xifin relies tremendously on an overseas development outfit, to the point where work done by this firm is held in far higher regard than work done by Xifin's full-time employees. The outsource firm frequently produces code of the lowest quality, which paradoxically is subject to the weakest code review standards. The end product usually works correctly the first or second time but is absolutely never maintainable. This code goes straight into production without question, while anything an in-house engineer creates faces the highest scrutiny of a multi-layer review process. In-house employees are not permitted to override design decisions made by the outsource firm, no matter how counter-productive they are. The time and productivity of Xifin's full-time engineers is not valuable enough warrant any change in this process. If you're still reading, and you're an employee who recently started at Xifin, I would offer the following advice: Within your first few months on the job, you must fight to establish boundaries for what behaviors you will allow to go uncontested. Those going back on their word need to be called out on it each and every time, as they are invested in not remembering. Bad actors, minority that they are, are usually the ones with the power, and they're always looking for an opportunity and will wait until you are too distracted doing your job to make their move. You'll be made to feel foolish for concentrating on doing the job you agreed to instead of watching your back, protecting yourself, and reporting bad-faith behavior up the chain of command each time you experience it. Understand that you will not be protected for taking the high road and doing your job properly and as agreed. Xifin leadership will protect their own, even if it means engaging in dishonesty, denial, and willful neglect of others' bad acts. If things don't look right, but you are too trusting because you are new so you do not raise an issue, those who would take advantage of your desire to avoid conflict, work hard and do the job right will take notice. You're going to be encouraged to cut corners and do poor engineering work. Given everything you've heard about Xifin, do you want your experience here to turn you into a worse engineer? If you're going to get in trouble, shouldn't it at least be for doing work that you can proudly speak to the quality of in a future job interview? You're also being tested to see to what extent you're willing to play their games, how easily you're willing to be dishonest and blame others for things that aren't their fault. I can't really offer advice here, your own moral principles will have to dictate what path you take. Frequently you get reprimanded for doing your job the way you were ordered to do it. Do not allow the person issuing the reprimand to pretend they've forgotten their past orders to you. You must say "I am doing exactly what you, (name) told me to do in this situation. Do you remember our conversation where you clearly told me to do it this way?" When you see contradictions, discuss this not just with your boss, but to their boss, and if necessary, their boss' boss. Get Them On Record trying to defend these mostly-indefensible behaviors. When they are in danger of being exposed for not caring, only then will they consider acting to feign interest in a desire to correct these problems. Middle- and Lower- management is hoping the orders they give down the chain of command won't be repeated to their superiors. Don't let them get away with it. It is easy to become complacent to Xifin's strategy of -not- abusing you most of the time. There's probably some personal issue going on in your life that's keeping you from focusing on your situation at work, that's not your fault and you shouldn't blame yourself for having ended up at Xifin. Get out when you can. The damage from leadership's own personal self-destruction does not need to extend to your life and career. In conclusion, the biggest achievement to come out of Xifin Engineering in the last several years is the creation of a Time Machine allowing you to experience what software development was like in the early 1990's. I do not recommend Xifin to any employee possessing either talent or ambition.