Rocket Fuel Ventures Speaker Event: Justin Trugman

Rocket Fuel Ventures
5 min readMay 26, 2021

By: Brian Li and Chelsea Braithwaite

Recent alumni from Stevens Institute of Technology, Justin Trugman, joined us in a call to speak of technology analysis as well as what to look for when conducting due diligence.

About Justin Trugman

Justin recently graduated from Stevens Institute of Technology and is currently pursuing his Master's part-time while working. At SIT he joined LaunchPad his freshman year with >blinkcdn, raising capital from Verizon. He also started a non-profit called Secure Meetings, an ongoing project, and Metro Labs Inc., an effort to improve technology in the Hoboken community. He has worked at Google on the Loon project, FinTech Studios, and is currently a technical product manager at Caregility. He has also worked with the UN, Launch Hoboken, LaunchPad at Stevens, and the Stevens Venture Center.

What is Technology Analysis?

Technology analysis is carried out to ensure that the technological vision behind a company’s pitch is legit. It’s to see if there’s substance behind the idea and is often used in the later analyses of the entire company. Technology analysis is very important: Without it, investors can be scammed out of lots of money. Theranos serves as an example. The company scammed investors and lied about their technology, allowing them to raise a lot more capital than otherwise would have been possible. Another example, Nikola, fooled GM and took advantage of their investors' negligence to conduct due diligence. In this way, it’s important to see if the company is legitimate and uses technology to its advantage.

What to Look for When Conducting Due Diligence

There are three main areas to consider when conducting due diligence in technology analysis: system architecture, production quality, and product development process.

System Architecture

The first part is exploring what makes up the system/technology the company is using and why. Are they using new technology? If not, why? Some good programs and cloud providers are Docker, Kubernetes, Azure, Google, IBM, and AWS. IBM has different features, so it could be useful, but using only IBM would raise a red flag. In this way, it is always important to ask why — why are they using this technology?

What coding languages is the company using and why? Why use a very unpopular or difficult coding language as compared with a superior alternative? It is important to look at the architecture to see how the coding is bundled and servers work with the services. This can be in microservices, monoliths, or polyglots. A monolith is an older approach that has one big background server. It is still valid in some cases, so it is always important to ask why. Polyglots are when the microservices can be in different languages. In this case, someone either is an expert or is lost and does not know what they are doing.

Then, it is essential to look at how the systems are linked. The services need to connect in some way. Remote procedure calls (RPC) and Rest APIs are good ways to link the services. What are they using and why are they using it? Is their system secure through authentication and authorization? Authentication is how a user logs in, and authorization is whether certain users can perform certain actions. The last thing you want to do is invest in a system that is going to get hacked. Security is crucial.

Production Quality

The second part of technology analysis is looking at the production quality. The most important thing is the quality of the code. There are some metrics to use to look at the quality like code churn. This tells you how many times the same piece of code is being changed. A high code churn is a bad sign. Another useful metric is the percent of automated test coverage. Using tools and implementing technology, like Selenium, is efficient instead of using extra QA members and wasting time. Start-ups often rush to show value and it backfires because half the programs they release do not work.

Are the APIs following the standard? What is the quality of their API design? APIs connect everything in a modern application. If they are poorly designed, the product is going to be less efficient and effective than it should be.

Product Development Process

The third part of technology analysis is the product development process. This looks at how the company actually develops its product. What methods are they using and why? Government contractors often use Waterfall because it is better for fulfilling government contracts. For unregulated or low-regulated companies and industries, Agile is better because it consists of two-week sprints that provide a lot of customer feedback. It is also important to look at how much the company sticks to the methodology. What do they change and modify for their company? Do they see any value out of those changes?

Another aspect of the product development process is the version control merge. What is the company’s merge strategy? What is their branching strategy? Branching by feature as opposed to by coder is better and more organized. Then each feature is merged when it is complete. This makes it easier to track down bugs and issues. It’s also important to understand how they build their program and why? Generally, automation is better, but manually building and pushing can be valid sometimes.

The development culture should be to test the code before it is pushed, whether it be through a QA team or automated. Automated is more efficient, however, the main point is that testing is important.

Other aspects to look at are continuous integration, continuous deployment, the QA process, and the release process. The release process can impact the industry heavily. For example, in healthcare technology, if a company is pushing an update that momentarily puts the service on pause, a life could be at stake. This is why the release process is on a company-by-company basis and depends on the industry. The company should be transparent with their customers or better yet can let them adopt the update whenever is best for them.

Q&A with Justin Trugman

What are RPC connections?

Remote Procedure Call (RPC) connections are used to communicate internally. It is another medium used to transport data and spawn communication.

In terms of Beta testing, what’s a good timeline between confirming the code works and sending it out to the public?

It depends on how much automated testing you are doing. The reliability importance of the industry is crucial as well. For unregulated or lowly regulated industries, after the sprints are over is good (~2 weeks).

--

--

Rocket Fuel Ventures
0 Followers

The first venture capital initiative at Stevens Institute of Technology