Skip to main content

Non-Disclosure Agreements

At some point, many developers and technologists will have the opportunity to be briefed on information that is not publicly available. Companies use non-disclosure agreements (NDAs) as a legal mechanism to make sure that trade secrets are actually kept secret.



Before I continue this post, everyone should know that I am not a lawyer. If you need specific questions answered about specific NDAs, please consult your company's legal team or your personal attorney.

When you are offered the privilege of receiving information under NDA, it should be taken very seriously. It means that your company (and other companies) feel you are professional enough to keep their trade secrets. Do not take this responsibility lightly. Remember that you are always under NDA, even during off-work hours. It doesn't matter who you are talking to (including your significant other, close family members, or friends), or how many beers you've had to drink. The NDA is always binding.

Sometimes, people will try to get you to violate your NDAs in order to gain access to trade secrets. This once happened to me during a job interview. The company interviewing me (which I will never disclose), was offering a generous salary and great benefits. But my entire hour-long interview was peppered with questions about upcoming hardware roadmaps which were still under NDA. I had to spend much of my interview saying "I am not at liberty to answer that question" or "I cannot discuss this particular subject." It was extremely awkward, and if you ever find yourself in this type of situation be sure to always honor your agreements, and move on to another company which will respect legal agreements. The company you work for should be as professional as you strive to be.

If you haven't been under an NDA before, I hope this helps you to understand what your obligations are under those agreements. Having a company offer you information under NDA is a sign of great trust in your opinion, and the way you behave under NDA tells others whether or not you are a true professional.

Popular posts from this blog

Neural Network Dense Layers

Neural network dense layers (or fully connected layers) are the foundation of nearly all neural networks. If you look closely at almost any topology, somewhere there is a dense layer lurking. This post will cover the history behind dense layers, what they are used for, and how to use them by walking through the "Hello, World!" of neural networks: digit classification.

Arrays of Structures or Structures of Arrays: Performance vs. Readability

It's one of those things that might have an obvious answer if you have ever written scientific software for a vector machine. For everyone else, it's something you probably never even thought about: Should I write my code with arrays of structures (or classes), or structures (or classes) of arrays. Read on to see how both approaches perform, and what kind of readability you can expect from each approach.

Neural Network Pooling Layers

Neural networks need to map inputs to outputs. It seems simple enough, but in most useful cases this means building a network with millions of parameters, which look at millions or billions of relationships hidden in the input data. Do we need all of these relationships? Is all of this information necessary? Probably not. That's where neural network pooling layers can help. In this post, we're going to dive into the deep end and learn how pooling layers can reduce the size of your network while producing highly accurate models.