Moral and Ethical Obligation
This post might come across as a hit-piece, but it is in-fact an analytical look at how a company is being run to take advantage of their investors – essentially pilfering them to maintain illusion of granduer held by the management team. I do have reason to be a bit objective, as I had the misfortune to have been recruited into nGap in April 2018. For some time, I was excited about the kind of software I’d be involved with creating.
It became very clear – after a few months – how poorly engineered the software was. The events that took place during my employment with nGap, Inc. are kinda outrageous, and I’m compelled at a moral, ethical, and professional level to tell about it. If I can help one person see signs that something similar is happening giving them a chance to exit the situation without being taken advantage of – and if I paint a clearer picture of what nGap’s investors are paying for – and at-least one of them gains a better understanding of what their investing in; I will feel like the losses I incurred by becoming involved with this company won’t be in vain.
I passed up jobs (career paths) at bigger, and better established companies so that I could be a part of something great – saving the DoD – and subsequently American tax-payers – billions and billions of dollars. Even though I was making a little less than I would have at, say, Intuit, Inc., I was thrilled by the challenge and my 10 minute daily commute to the office.
If you’re a friend of the family, you qualify as a software architect
In the first month – I realized how obfuscated the framework is, that nGap’s flagship software is based on. I will go into great detail in this document as to the technical problems I found and shared freely with the entire company – even the executives.
It turns out that an individual by the name of Bruce Murray was tasked with building the framework – which is loosely based on .NET MVC Framework using C# (C Sharp) as the server-side scripting language. This individual had no business building a framework for any kind of web application – and in particular – one that was going to handle multi-billion dollar contracts – considering that he had no formal training in the realm of software engineering – and literally “learned as he went” as described by sales executive, Thomas Graham.
What made matters even more dumbfounding is Bruce’s superiority complex. It is no wonder that my predecessor – a gentleman referred to as Tony – was driven out of the position. While I was attempting to fix some deep-rooted problems relating to sessions – Bruce asked me why I wasn’t using the function he built to generate a URL. When I replied that I didn’t need his function to build a URL – and preferred to use my own logic – he decided to completely ignore me. To my bewilderment – even after making Mason Beninger intimately familiar with the situation – he completely blew it off like it didn’t matter. Of-course, Bruce is Mason’s friend, so that explains it.
Let me recap that!!! Mason Beninger – after being shown beyond a doubt that his buddy Bruce Murray was playing games that was costing the company and ultimately YOU – THE INVESTORS lots of money all for the sake of stroking Bruce Murray’s ego.
There’s an individual at the company named Kevin Man – who calls himself a front-end developer/ He – like Bruce – is completely unqualified, and the only reason he’s working at nGap is because he’s dating Anda (Alexandra) Benninger – Mason’s sister – Mark Benninger’s daughter. He apparently was able to get Mark Beninger to buy him a $6,000 computer for his office when everyone else ran outdated equipment that cost a fraction of the cost of Kevin’s computer – brand new.
When I reported to Mason that Kevin was making fun of the way I walk and the clothes that I wear due to an excruciatingly painful condition I was born with – absolutely NOTHING was done – and the treatment got worse until I had to call a meeting and beg everyone to stop teasing me. Ultimately the Vice President, Vince Luchenta – told me to grow a set of balls.
Kevin – like the two Indian nationals that are working for nGap – and whose H1-B visas are being sponsored by nGap (that means YOU) are all right out of college with not even a couple of years of experience put togther – and you’re paying for them to putz around while they learn to write software – meanwhile violating immigration laws bringing more liability onto the company – and YOUR investment!
Mason and his buddy, Bruce, decided to go on a vacation to Japan a week before Mason was to give a major presentation in Washington DC. There’s something very disconcerting about working for a company that would allow a key player to completely derelict their post a week before a major marketing.sales effort – in the form of a “demo.” It made me feel like the whole company was there at the pleasure of the Benninger family and their close friends, and creating software and a ROI for their investors was never the top priority.
Indian Nationals Displace US Worker
Their names are Vihar Patel and Deepty Sharma. For some queer reason, nGap has decided to sponsor these Indian nationals as they went through school and attempt to integrate into the United States. When Vihar Patel overheard me calling the DFEH about me not getting my probationary pay raise (which I explain later) – he called Deepty for a meeting – and while I was at lunch – they conspired to get me fired. I learned all of this from the IT guy at the time. Mark Beninger actually got everyone into the conference room and instructed all the employees to write disparaging statements about me.
Vihar was so afraid of losing the chance at becoming a US citizen that he worked to literally oust me. Well, it’s caused me a great deal of distress – cause not only do I care for my disabled mother – I too as mentioned earlier, am disabled to some degree, and was to undergo a minor procedure before Vihar and Deepty got me fired.
I intend to see to it that the DoD and the NSA and CBP are fully aware of the hiring tactics employed by nGap – and that they are aware that Vihar and Deepty acted in defiance of the law and ought not to be entitled to any kind of visa.
There was an occasion when I was asked for help by Ryan Gonzalez, yet another friend of the Beninger family, he needed me to help him traverse a multidimensional data array in JSON format. Apparently he asked Deepty for help and was not able to help Ryan, this is the current “Senior Software Developer” at nGap, who couldn’t decipher an array, and told Ryan to not ask me for help. Why on Earth would someone try and prevent another from obtaining the information they need to succeed? Turns out that Deepty is a jealous and vindictive individual and couldn’t bear to be made to look like she’s unqualified for the role she is in.
I n the first week I was there, I noticed Vihar struggling with a problem he’d been tasked to fix, where text was being displayed outside the bounds or the element that was to contain it. He was literally trying to programmatically resize the string of characters based on it’s size, I guess, in relation to the container, in the server. Being that this is a web application, there’s an entire layer in the development stack thats called the presentation layer, which with very minimal code, could resolve the issue without adding any complex algorithms to resize the text string. By simply applying a single styling property to the container element, I showed Vihar how he could leverage the presentation layer to achieve his goal.
You are literally paying for this!!!
Accounting and Finance?
I developed a financial control system – basically a general ledger/journal system to track financial transactions in the OAS system. I called a meeting for anyone who was interested to show how making general ledger entries that reference certain states and values of a given aspect of a project component could provide a very clear audit trail and allow for calculation of the financial state of any component of a project – or the project in its entirety – accurately and efficiently.
I was absolutely dumbfounded when Stan – the supposed accounting and human resources guy at nGap, inc. – stood up and argued defiantly about the method by which I planned to record general ledger transactions. He insisted that the way I ought to record transactions is to find the sum of all entries that use a particular account, and make a single consolidated entry. I explained, that’s now how general ledger entries are done as a principle. I went on describing that a logical reason to consolidate journal entries would be because we’re in the 1940’s, and we’re making hand-written entries on a ledger pad – or perhaps with consolidation of monthly financials from multi-entity conglomerates.
I went on to describe how OAS was neither a collection of hand-written ledgers, nor a consolidation of financial reports from multiplebusiness units of a larger organization. I emphasized that it made absolutely no logical sense to consolidate journal entries for OAS.
I further described how consolidating the entries would defeat the purpose of keeping detailed transactions – because some of the elements of each individual record are required for tracking purposes.
Stan Snyder slammed his hands against the table declaring that he didn’t need to sit there and listen to the “nonsense” and stormed off. When I told Mason Benninger about Stan’s behavior – he dismissed it as just a part of his personality – and basically to just get over it.
How does that make you feel as an investor in nGap, Inc.?
Is it not a little unsettling knowing that some schmuck that’s stuck in the 1940’s with his hand-written, consolidated journal entries – is running the financial affairs of nGap, Inc., the company you’re sinking your hard-earned money into?
It’s obvious Stan is not qualified to run the finances of a modern company in very much the same way Deepty, Vihar, Bruce and Kevin are not qualified to be developing software that the actual department of defense may use.
The first Major Hurdle, subsequent Brick Wall
During the development phase of implementing this general ledger and general journal system, I came across a problem that stems from instability and obfuscation baked right into OAS by Bruce Murray.
Journal entries will number in the millions, possibly billions over the lifetime of a system like OAS. Bruce engineered the framework to only allow for GUID’s to be used as a uniquely identifying data element.
Each entry in the general ledger table has to have a unique identifier. In a general ledger, which has the potential of having millions or billions of records – it isn’t feasible to use a GUID to uniquely identify each of the millions of records, so instead, an auto-incrementing number is used to uniquely identify a general ledger transaction. (Ex. 1251.)
The GUID is 32 characters long (36 if you include the dashes,) and each of those characters takes up an entire binary bit (Ex. 10010100.) The Integer (whole number) is stored using 32 binary bits (Ex. 0110010011001010010100010101101.) Each character of the GUID (including the dashes) is stored using 16 binary bits (Ex. 1011010010100010,) So that means all of the characters stored in binary bits looks like this;
There’s a blatantly obvious difference in the number of binary bits used in an integer number compared to a GUID. This is important because during database operations, the database server is actually comparing those binary bits – NOT the actual text the represents them. Clearly, it takes less time to compare a series of 32 zeroes and ones than it does to compare a series of 288 zeroes and ones.
Bruce found it to be perfectly logical and appropriate to use this GUID as a primary key for datasets that inherently have unique identifiers – for example – currency codes are all inherently unique by design, but OAS uses a GUID to uniquely identify a currency. The same is the case for the table of countries. Apparently the ISO 4217 standards established to uniquely identify currencies and countries around the world aren’t good enough for Bruce Murray.
Considering the inefficiency of the GUID, and the strict enforcement of using a GUID as the primary key within the framework as engineered by Bruce Murray, my task was rendered unfeasible – unless significant – and deep rooted flaws in the architecture were corrected – which would involve a literal overhaul of the framework.
You run a software company, how?!?
During a meeting with Mark Beninger, it occurred to me that there’s major problems. This is when I should have pulled up any roots and started running, far and fast from nGap, Inc..
I explained that the framework built by Bruce Murray was the reason why new features could not be added – and I added that the development cycle consisted of highly unskilled and inexperienced, novice-level software engineers that were recruited right out of school – were basically faking the funk – making the software appear to work by using front-end trickery. This was described as “smoke and mirrors” in a conversation I had with Thomas Graham – who vehemently insisted that he not burn up any more of his DoD contacts to try and sell software that doesn’t work.
Take the money and run!
I went on to describe how, if the DoD had their systems analysts look at the source code, they’d laugh and ask if a kindergartner wrote the code – quickly bringing into question the abilities that nGap leads people to believe they actually have. Mark Beninger quickly scowled- “nobody get’s to look at our mother-fucking source code – not even the DoD.” I asked how he intended to get the DoD to become a customer when they can’t see the source code – and the demos that are given to them are failing and causing a tremendous amount of embarrassment? He basically described a “bait and switch” tactic where he gets his son – Mason Beninger to demo a piece of software that appears to do exactly what the customer wants or needs – knowing full well that the software is in-fact not capable of truly fulfilling all of the promises it makes. Mark went on to describe a “take the money and run” scenario where he insisted that he wouldn’t be around long enough to hear about any fallout because of software deficiencies and fatal flaws. He described how he’d have sold off the company well in advance of the deterioration of its reputation – leaving the new owners with the fallout. Is that really part of YOUR exit strategy as an investor?
It only gets worse
Every single “software engineer” that was working at nGap besides myself were all novices, just out of school. In-fact, Mason and Mark were trying to get Vihar and Deepty’s visas converted from student visas to working visas – this despite the fact that it was illegal to hire someone from a foreign country when there are Americans who are capable of doing the same work. But that’s a whole other story, right now, I want to expose where exactly your money has gone as you’ve invested in nGap.
This video describes the mindset and actual skill level of each of the people on nGap’s payroll, supposedly developing software.
Here’s a good example. Here’s how Mason Benninger spells committee; this guy is the actual program director for the software YOU’RE PAYING FOR! That’s “OVERSIGHT CEMITY” in-case you didn’t know.
Another good example..
There were massive datasets that needed to be imported into the database for testing purposes. I wrote a script in about four hours that quickly imported massive amounts of multi-dimensional (relational) data into the database. The tool was already in use and it was effective and fast. In a meeting I was excluded from – I overheard Kevin describing how he figured out how to write a query that would insert a record into the tables he intended to – and so proceeded to write thousands of lines of queries by hand, to run on the server to import data – literally transposing data from excel to a manually generated query – while the tool I wrote took the data directly from the excel spreadsheet, wrote and executed the queries, and was done in a matter of a minute – Kevin Man spent days, possibly weeks creating just one dataset – let me remind you – this was after I had already created the import tool! You paid for that!!! What’s kind of funny is while Kevin was describing this in the meeting that everyone else was at but me – I heard Mark actually clapping and doting on Kevin like he was a toddler that took his first step.. YOU PAID FOR THAT!!
One more note on this topic – Mason – during a scrum meeting made the suggestion that all fields in the database be made NULLable – so as to overcome some of the problems the developers faced because of the rigid framework, the obfuscation it brought; on top of being complete novices. This is 1000% against the principles of database design. It makes it impossible to maintain data integrity. There will be records dropped from complex queries when NULL values are encountered on relational tables where data is expected – for example. It was absolutely frightening that not one of these novice “software develoeprs” including the “Senior Software Engineer,” Deepty Sharma spoke up with any concerns with Mason’s suggestion.
What’s incredibly disappointing is, Deepty and Vihar were both graduates from teh same school I went to – Coleman University (FKA Coleman College.)