A little bit later than I expected over the new year, but here we are again, with my usual introspective post to figure out how the hell did the last year went and how to make the best out of the new year.
This is going to be boring (again I do this kind of posts selfishly only for myself), so brace yourself if you really want to keep going on this!
Tech Leadership Training
Possibly the biggest achievement of last year was my contribution as a teacher to the Tech Leadership Training - Taking you from Developer to CTO organised by Codemotion and Facebook Developer Circles.
The course is designed to help developers in their journey to become CTO of startups, combining strong interpersonal and influential skills along with an empathic ear.
The course was made of 3 modules:
- Module 1: Defining the CTO Role
- Module 2: AI/Machine Learning
- Module 3: Software Architecture/DevOps
I presented Module 3, where I essentially covered what happens when a startup scales from thousands of users to millions of users. My track highlights that only a correct and solid software architecture can keep the business safe, but also that lean and agile techniques can allow your product to keep growing over time.
Conference talks
I invested a decent amount of time delivering conference talks and I accrued a total of 13 talks and workshops in 6 different countries.
Here’s the full list of talks for 2019, you can find more details in the usual speaking section with links to slides and videos when available:
- “Processing TeraBytes of data every day and sleeping at night”, AWS Usergroup Dublin (February)
- “Processing TeraBytes of data every day and sleeping at night”, AWS Usergroup Belfast (February)
- “It’s about time to embrace Streams”, DublinJS (March)
- “It’s about time to embrace Streams”, Codemotion Rome (March)
- “It’s about time to embrace Streams”, CityJS Conf London (May)
- “It’s about time to embrace Streams”, Node Ukraine (May)
- “It’s about time to embrace Streams (workshop)”, DevIT Thessaloniki (June)
- “Unbundling the JavaScript module bundler”, DevIT Thessaloniki (June)
- “Processing TeraBytes of data every day and sleeping at night”, InfiniteConf London (July)
- “It’s about time to embrace Streams”, Austin Node.js Meetup (August)
- “Serverless, the Middy way (workshop)”, AWS Community Day Dublin (October)
- “SERVERLESS Panel – Serverless Insights – Taking Serverless to the next level”, AWS Community Day Dublin (October)
- “It’s about time to embrace Streams”, MachJS Meetup Manchester (October)
Compared to 2018, when I presented 8 talks/workshops, this is a 62.5% “growth” rate. 👍
Not sure how much do I want to commit for this year. I am not actively applying for conferences, so probably I will limit my participation to events where I get a direct invitation. Also, I will have to start developing some new talks!
Career
From a career perspective, I spent another year at Vectra. As usual, it was an intense and engaging year, full of learnings. Probably most learnings were not as technical as I hoped, but still, I am sure that developing soft skills and business skills is always a precious addition to any technical career.
Surprise now! Next week is going to be my last week at Vectra. I decided to move on and search for new opportunities starting from February 2020.
Hit me up on Twitter if you think I could be a good fit in your company/project and let’s have a chat!
Side projects
Nothing new in terms of side projects, but I am still running and contributing to my usual side projects: FullStack Bulletin, Serverless Lab and Middy.
The work on middy has been a little bit stagnating over the year. Not being able to work on a lot of serverless projects on my day to day made me lost a bit of focus and perspective.
Thankfully the community around middy has been particularly active and involved and a lot of people helped me driving the project towards the long-awaited 1.0.0 beta. This year we will make 1.0.0 stable and start to make plans for the future of the framework for the next big release.
A great shout out to Will Farrell and Sebastian Domagała for their great contributions and the constant support.
One interesting thing is that towards the end of the year I started working on a (currently secret) side project, that should be released this year around May or June. Stay tuned 😇
Blog posts
In 2019 I wasn’t a very active author… It was actually pretty bad with only 3 blog posts published:
- JavaScript iterator patterns (~14.600 views)
- Fastify and Preact for quick web app prototyping (~4.300 views)
- Lean NPM packages (~4.300 views)
It’s interesting to see that my 2 top posts of last year were articles written during the previous year:
- Emerging JavaScript pattern: multiple return values (~26.100 views)
- AWS Solution Architect Associate exam, my notes and tips (~16.900 views)
The total number of page views amounted to about 120.000 views, which compared to the previous year total of 65.000 views is a great 85% increase.
I should dig in to find out the reason for the increase. I don’t feel like I did anything special (or planned) to drive such improvement.
For this year, I am not sure I am ready to make any commitment. I want to try and find one or two topics that I am really passionate about and that I can be able to write interesting posts about. Let’s see how it goes.
External posts
In 2019, I have been writing 3 posts for a new website that is yet to be published. I will disclose the links in the about section when they are available!
Open Sourcing
In 2019, I did not stop doing my small part to contribute to open source. Here’s a quick list of my main GitHub contributions:
- callstack/linaria: Zero-runtime CSS in JS library (contribution).
- lmammino/fastify-preact-htm-boilerplate: Quickly bootstrap your next web app with Fastify, Preact and htm.
- lmammino/s3-list-bucket-stream: Node.js stream library that allows you to stream a list of objects from an S3 bucket.
- lmammino/s3-object-content-stream: A Node.js transform stream that gets S3 object keys and emits their actual content.
- lorenzofox3/for-await: operators and stream semantic for asyncIterators (contribution).
- lmammino/streams-examples: A bunch of examples on how to use Node.js streams.
- olivere/elastic: Elasticsearch client for Go (contribution).
- lmammino/lambda-image-colors: An example AWS Lambda written in GoLang to tag a picture with its prominent colors.
- lmammino/s3st: A command line utility that allows you to stream data from multiple S3 objects directly into your terminal.
- lmammino/rustlings: random exercises to learn rust (mostly to entertain myself on long plane flights ✈️).
- lmammino/streams-workshop: A workshop on Node.js Streams.
- svgdotjs/svgdotjs.github.io: Documentation and website for SVG.js (contribution).
- theKashey/rewiremock: The right way to mock dependencies in Node.js or webpack environment (contribution).
- goldbergyoni/nodebestpractices: The largest Node.js best practices list (contribution).
- Jason3S/xxhash: Pure JS Implementation of xxhash (contribution).
- fastify/fastify-etag: Automatically generate etags for HTTP responses, for Fastify (contribution).
- fastify/releasify: A tool to release in a simpler way your module (contribution).
- fastify/fastify-oauth2: Enable to perform login using oauth2 protocol (contribution).
- lmammino/public-transport-ireland: Node.js module with utility functions to get real time data for Irish public transport (Irish Rail, Luas, Dublin Bus).
- lmammino/md-article-template: A ready-made setup to write articles in Markdown and be able to see live preview and export the article in HTML.
- lmammino/realtime-transport-dashboards: Serverless APIs for AWS to build and display public transports real time data (Serverless application example).
- fourTheorem/slic-starter: A complete, serverless starter project (contribution).
- lmammino/netcore-node-azure-func-container: a repository for Debian 9 containers including net core sdk, node.js and azure functions CLI.
- nodejs/node: yes, that’s the Node.js repository! I did a small contribution, but still cool to have one there.
👍 Comparing last year (22) to this year (24) I had a +9% repo contributions increase. Quite stable I’d say!
Previous years goals
Now it’s time to check against my previous year goals:
- ✅ Keep doing conference talks/workshops (at least 8).
- 😭 Write at least 8 quality blog posts (excluding this one!): did only 3…
- 😐 Keep learning about Security, Machine Learning and networking: I guess I did learn something more, but nothing worth a mention…
- 😐 Release Middy v1.0: only the beta for now!
- 😐 Publish a new book (or a new edition ✌️): …
- 😐 Get proficient in GoLang: I didn’t have many chances at work to keep developing this skill and I ended up investing a bit of my free time on Rust instead…
- 😐 Learn a bit about Social Media and digital marketing: read only few blog posts…
- 😐 Keep learning AWS and serverless: didn’t do much serverless, or at least not as much as I expected; I barely kept up with the various Serverless news.
- 😭 Get an advanced AWS certification. Nope…
- 😭 Play with new database technologies (e.g. CockroachDB & Clickhouse): this was drive by expected work needs that did not go as expected. Totally dropped it.
- 😐 Improve FullStack bulletin: I did some improvements under the hood, but nothing visible outside (as I wanted).
- 😐 More serious and constant BJJ training!: not too bad, but could have been better!
Yep I did underdeliver or fail most o my goals, maybe I should set more realistic and coherent goals for this new year!
Expectations for next year
Ok, let’s try to do that then:
- Get a new job 😛
- Do only few (invitation based) conferences (3 or 4)
- Write some good quality blog posts (at least 4)
- Release Middy v1.0 stable and have a plan for the future of the framework together with the community around it.
- Publish a new book (or a new edition ✌️)
- Learn more about Rust
- Learn more about Kubernetes
- Keep learning AWS and serverless
- Get an advanced AWS certification
- Improve FullStack bulletin
- More serious and constant BJJ training!
That’s it for this year review!
I am not sure what to think if you are still reading… Either you are a stalker or a bot! Or maybe a recruiter, or, hopefully a fellow developer who is trying to make similar career plans.
If you classify yourself in the latter category, I would really love to know what was your biggest achievement in 2019 and what do you plan to achieve in 2020. If you want to mention some failure as well, that would be super interesting to hear too, especially if you can turn it into a littre retrospective 🙃
All the best, CIAO!