3 ms·
I spend a portion of each project swapping out parts of the tech stack for better options. Fortunately, I work in a short-project part of the industry so I can
by erichocean 10y ago
I spend a portion of each project swapping out parts of the tech stack for better options. Fortunately, I work in a short-project part of the industry so I can do so 3-4x a year.
On the current project I'm on (since May), the codebase was moved from TypeScript to C++14, serialization from MsgPack to Cap'n Proto, messaging from WebSockets to Aeron, and we're also using a more sophisticated encryption approach (but still based on NaCl).
- arisAlexis 10y agoTypescript to c++? Thats a rare change and seems a bit backwards
- erichocean 10y agoI was worried about that as well, but the change has been very positive. I've found modern C++ to be very productive to code in ('auto' and lambdas are huge) and the libraries I have direct access to now (vs. working through a compiled Node extension) have significantly improved my productivity relative to Node.js/TypeScript. I'm currently evaluating moving a few other codebases I've built from TypeScript to C++. The main thing that's made C++ work for us, though, has been embracing Bazel[0] as our build/package management system. I had no idea how big a difference that would make, but it's been huge and I would go so far as to say that without Bazel, we would have probably abandoned C++ (at least for our use cases). We do still have a few services that are still written in Node.js, but these are micro-services that use a vendor's Node.js library to call some API—typically < 100 LOC each. They connect to our C++ server over a WebSocket and we message them with JSON (currently) as needed. So we're not 100% C++ right now, but all of the primary logic is in C++ today. [0] http://bazel.io http://bazel.io
- lj3 10y ago> I work in a short-project part of the industry I remember at one point you were talking about becoming a CTO for hire. Is that what you're doing now?
- erichocean 10y agoYes, I'm still doing the CTO-for-hire thing. My current project in that category is an app called Blue which will launch in mid-Sept on iOS, with a beta on Android around the same time, or possibly shortly thereafter. (This is the project I'm doing a lot of C++ server development on currently.) I'm also doing regular short-term software/hardware development projects in experiential marketing for major brands (Nike, BWW, Google, and Kellogg were my four most recent XM projects). Those are fun because you can do major tech-stack improvements on each project, and the projects are event-based and usually have really tight timelines, so they end relatively quickly. Pay is good too.
- lj3 10y agoDamn, that's cool. :)