blockchain software engineer

Introduction In this article, VPN (Virtual Private Network) refers to an encrypted point-to-point link that reroutes all of your Internet traffic, making it appear to come from a computer other than your own. Why would you want to do this? There are several reasons, the main one being to empower…

Introduction If you're already familiar with channels in Go and want to try them in JavaScript then check out my port, otherwise continue reading for background explanation. Channels make it easier to write programs that interact with other programs or processes. Concurrent code written with channels is more elegant, concise,…

The subject of inheritance in JavaScript has been needlessly complicated given that the underlying mechanism is elegant and simple. This article is appropriate for beginners as well as experienced JavaScript coders who would like a fresh look at how to combine objects. It assumes familiarity with basic JavaScript syntax. Here…

Software developers love to solve problems. The rush of solving problems is what gets us out of bed and onto our keyboards in the morning. It feels great and is inherently motivating. If you're managing a true software developer, you never have to worry about motivating her to work. In…

A recent question from a coworker elicited ideas I'd like to share about one of my favorite topics: Test Driven Development. Coworker's question: The thing that blocks me the most is striking the right balance between writing too many tests such that the software isn’t as flexible and not…

If you're a developer, the kind who doesn't work on a punch clock, chances are you've written code at midnight or even later. Have you ever thought about why that is? Let's do a thought experiment together. Let's pretend that you're the founder of a new, perfect company. It's not…