My name is Ana Margarida Silva and I am a software engineer. I don’t have any preference on which
side of the stack I work on and I’m always willing to learn new things. Currently I’m learning
Rust, exploring Svelte, tinkering with some ESP32s and contributing to some awesome open-source
projects.
CV PDF
Work
- Software Engineer @ Callstack [February 2023 - Present]
- Software Engineer @ Replai [July 2022 - December 2022]
Full-stack work on a fast paced startup whose product is a video intelligence platform that uses computer-vision
AI to tag creatives at scale and help app developers understand what are the key drivers or detractors
of performance of their video creatives. Technologies used are Typescript, NodeJS, React and PostgreSQL.
- Software Engineer @ Platforme [September 2020 - June 2022]
Worked on a startup that used 3D models to power their made-to-order pipeline. The products worked
on ranged from a web and mobile app for customizing 3D models (VueJS/React Native), a mobile application
to follow and update the order’s status on the factory floor (React Native), the backend to power all
of this (Python and NodeJS) and micro-services that complimented with additional functionality (NodeJS,
Apache Kafka, Typescript). In addition to this, also developed SDKs to integrate with the platform.
- Software Engineer Trainee @ Platforme [October 2019 - September 2020]
Worked part-time in several projects, including backend and core services as well as frontend in several
products that interface with clients.
- Summer Internship @ Blip [July 2018 - September 2018]
Development of a testing and inspection tool for serialized content in Apache Kafka topics. Blog post
of the experience here.
Projects
- Maintainer and contributor of SvelteUI library
Maintainer and contributor of a Svelte component and utility library
Education
- Masters Degree in Informatics and Computing Engineering @ FEUP [2015
- 2020]
Dissertation in Orchestration for Automatic Decentralization in Visually-defined IoT: Development of
a prototype, extending from Node-RED, that enables the automatic decentralization of an IoT system.
The devices in the network communicate their computational capabilities to the orchestrator, which
is responsible for automatically partitioning the computation and sending the generated tasks to the
devices, leveraging their computational power.Thesis
and code.
Publications
- Visually-defined Real-Time Orchestration of IoT Systems - 10.1145/3448891.3448938 [EAI MobiQuitous 2020]
By Margarida Silva, João Pedro Dias, André Restivo and Hugo Sereno Ferreira
- A Review on Visual Programming for Distributed Computation in IoT - 10.1007/978-3-030-77970-2_34 [ICCS 2021]
By Margarida Silva, João Pedro Dias, André Restivo and Hugo Sereno Ferreira