465 karma · joined May 1, 2019
[ my public key: https://keybase.io/labarilem; my proof: https://keybase.io/labarilem/sigs/L6zPkPu3M4FbDZmVb3A86T2bTK9KACm9b5IaICsBVxU ]
[ meet.hn/city/43.7159395,10.4018624/Pisa ]
Location: Italy
Remote: Yes (Remote Only)
Willing to relocate: No
Main technologies:
- Web: TypeScript | Node.js | Express
- Data: Postgres | PostGIS | TimescaleDB | MongoDB | RabbitMQ | S3 | Kinesis | SQS | ELK | Grafana
- Infra: AWS | Cloudformation | Azure | Self-hosted | Docker | Serverless | Monitoring | Monolithic | Microservices
LinkedIn: https://www.linkedin.com/in/marcolabarile/ (please contact me here for full CV)
ABOUT: Passionate and pragmatic Software Engineer with 6-years experience in the industry. Worked in different roles: Startup Founder, Architecture, R&D, Project Management, Product Management, Teaching.
- Designing Data-Intensive Applications, Martin Kleppmann
- Building Microservices: Designing Fine-Grained Systems, Sam Newman
- Domain-Driven Design, Eric Evans
- Mr. Money Mustache for financial independence and lifestyle: https://www.mrmoneymustache.com/
- Quastor for large-scale engineering: https://www.quastor.org/
- Krebs for IT security: https://krebsonsecurity.com/
- Lenny's newsletter for product development: https://www.lennysnewsletter.com/
- Psychotactics for marketing: https://www.psychotactics.com/
- CTO craft for CTOs: https://ctocraft.com/
- AI and Machine Learning: https://aiweekly.co/
- Programming news: https://www.programmerweekly.com/
- Startups and tech: https://tldr.tech/
- IT engineering trends: https://www.infoq.com/
- For startup founders: http://www.founderweekly.com/
2. Grit and consistency is needed when working on difficult projects i.e. the ones you learn the most from.
3. Usually difficult project are difficult because there are several constraints (e.g. business, tech, domain). So my first years in the industry helped me a lot.
An important factor that allows all of the above is having fun and being passionate about your work.
Is this[1] the first book you're referring to?
I feel the same, both for fresh sw engineers and non-technical people. And they compose the majority of people writing and using software.
Yes I've been seeing this behaviour in myself lately. Not something new for me, but now it has a stronger feeling. Could it be due to the general increasing distrust in big companies and nation states? Maybe. It's hard these days for a technical savy person to trust big and loosely regulated organizations.
E.g. Going to the gym, doing some sports, attending meetups & conferences
You could also just go to a bar, it would work too but it'd be more difficult generally. Shyness also doesn't make it happen in a bar.
Some important factors to form friendships are: spending often time together, overcoming challenges together and having common interests. So look for activities that involve these factors. As you can now see, sports are good at this.
- Understand the event loop to avoid blocking
- Understand the JIT compiler to write compiler optimization-friendly code
- With Typescript: speed up build and dev times using the SWC compiler, understand which types take more compilation time
- Minimize heap allocations to avoid memory leaks: https://blog.appsignal.com/2022/09/28/minimize-heap-allocati...
- Write native modules when you need CPU intensive operations (the official doc is quite good: https://nodejs.org/api/addons.html)
- Take care of node_modules (e.g. https://mainmatter.com/blog/2022/09/29/pnpm/)
- With Docker: optimize docker image to only include what you need. E.g. use Alpine if you don't have any particular external dependencies