Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

0. How to do a good POC

Proof of Concept (POC) is a important tool, it’s like a lab where you should be doing experiments. POC allow you to learn something about a programing language, approach, school of tought, library or even to validate some crazy idea/hack. POC can be shallow but is important to have Deep POCs. Doing POCs must be a mindset, something you do everyday.

1. How to go Deep in a POC?

  • Debug the code (write down classes names, make diagrams) do it multiple times
  • Write down code that test, simulate or exaserbate the problem or target of your poc
  • Do Research, see what other people do, are there any patterns? or idiomatic ways of doing this?
  • Read the documentation, read book, avoid tutotials, read the source code
  • Do experiments, test the API in several different conditions and scenarios of sucess and error see what happens
  • Reading the source code of a framework or library is a must, is how you can understand how it works and how to use it

2. What NOT todo in POC?

  • Be shallow all the time
  • Just call methods
  • Do not challenge yourself, if you know is too easy is not a good POC

3. Examples of Good Deep POCs

4. Keep in mind

  • The more you pratice, the better you get.
  • POCs comparing libraries, approaches, languages, patterns help a lot to learn and master tecnhiques.
  • Make sure it gets harder, no matter if you need to do 10-100x to understand. Repetition is key.
  • You are only fooling yourself if you just go shallow all the time.
  • Doing Shallow pocs is not neccesary bad or wrong, but you should be doing Deep POCs as well.
  • Challenge yourself, do not be afraid to fail, is part of the learning process.
  • Consider doing crazy things like: a parser, a compiler, a framework, a library, maybe even a new language.
  • Remember learning with code is a long term game and a mindset, so keep doing it everyday.

5. To improve

  • Share the code with others ask feedback
  • look for different and better ways to do the same thing
  • Be curious, ask questions, do not be afraid to ask for help
  • Go read the source code of big projects, is a great way to learn like: Java, Spring, Netty, Linux, React, Nodejs, etc.
  • Document your POC, write text exmplaning what you did a why and why is impotant.
  • Good POCs take hours, days and weeks and thats fine, the more time you invest the better you get.
  • Make doing POCs a habit, do it everyday, is like going to the gym, you need to do it everyday to get better.