LT

About me

I am a software engineer keen on good and maintainable software development and problem-solving. Eager learner, always with an eye on new technologies.

Working as a Software Engineer @ Neon. Previously at SingleStore.

You can get in touch with me or view my resumé through the links below.

A reflection to my path to start working as a Software Engineer
#growing-as-a-software-engineer

I have been working as a backend engineer for the last few years. However, the projects I worked with were mainly in the early stages of development without frequent users getting in touch with the final product or had users interacting with it in a small and controlled environment. I spent about two and a half years working on an internal product at the university I graduated from to grade students' programming exercises. Recently, I started what I regard as my first challenging professional experience. I went from having a few dozen people using my software to an immensely larger sample. Having jumped into this environment brought me a lot of responsibility and caution in my thinking and software development process. I was used to putting the vast majority of my focus into developing good software without bothering much with users and their experience. There could be many reasons for this; I believe that I wasn't concerned with people using my software for several reasons: - I didn't particularly appreciate communicating with my software users and could have had a better communication channel. The target audience of my software was students. Teachers also used it, but their number is nearly irrelevant compared to students; their experience with the product was also utterly different from students as they had a private dashboard. Communicating with students was difficult. Most of them were not concerned about giving feedback on the product, and the Slack channel we used to gather this feedback could be empty for weeks despite efforts to collect feedback. - I felt I was making top-notch software. What students might think or suggest for the software I was developing was, in some part, useless to me because I thought I had already considered it and thought about my software's good and bad scenarios. This seems wrong and pictures a significant flaw I had at the time, devaluing the opinions of younger students who, in theory, were unfamiliar with software development (this might also be wrong :P). I am now working with a different target. The target audience of the software I develop no longer sits on a University campus or sizes a few dozen people. I can metaphorize this learning process with "To Whom Much is Given, Much Will Be Required.". I no longer desire to put all my efforts into software development; I want to learn the product I develop, know some of the customers using what I create, and contribute to the product apart from software development. This is a reflection I recently took and tried to understand the justification for this. The secret powder I suppose I found resides mainly in a _cliché_: enjoying your work. I have been working for not so long, but I have been enjoying my work. I feel really lucky for my conditions, spanning a very modern tech stack to an excellent company environment. Did I get it right in my first job? Of course, some people reading this might think I am foolish to make these deductions not very long after starting to work. Hopefully, in some time, I can visit this blog post and update some of the information. No job is perfect, and I had bad days in this short period. However, if we become interested and enthusiastic about our work, we are one step closer to becoming a better software engineer and contributing more to the products we develop. The main takeaway from starting a new job is that I now value the importance of a software engineer job apart from programming and developing software solutions. In a software company, software engineers should be one of the central individuals of interest. If software engineers increase their impact area, it will motivate them to learn new things, provide them with valence in areas where their opinion might be crucial, and help them create more promising product solutions.

February 10, 2024

4 min read

Conference Paper: Automatic Test-Based Assessment of Assembly Programs

## Abstract As computer science and engineering programs continue to grow in enrollment, automatic assessment tools have become prevalent. Manual assessment of programming exercises can be time-consuming and resource-intensive, creating a need for such tools. In response, this paper proposes a tool to assess assembly exercises, specifically ARM64 programs, and provide real-time feedback to students. The tool includes features for evaluating, analyzing, and detecting plagiarism in student submissions. After two years of intensive usage in a higher education environment, the results and analysis show a positive impact and potential benefits for teachers and students. Furthermore, the tool’s source code is publicly available, making it a valuable contribution to building more effective and efficient automatic assessment tools for computer science and engineering schools. ## My experience at ICSOFT 2023 During the conference, I had the pleasure of connecting with brilliant individuals from diverse backgrounds, engaging in meaningful discussions, and receiving valuable feedback on the innovative work we have been developing. The experience was truly enriching, broadening my perspective and inspiring me to push the boundaries of my research interests even further. I had the opportunity to present my work to a large audience and receive insightful questions and feedback. After this conference, my work at the University of Porto comes to an end after two and a half years of researching and developing this tool. I am proud of the work I have done and the impact it has had on the students and teachers who have used it. I am also grateful for the this opportunity and for the support of my supervisor, Professor Bruno Lima, and the University of Porto. ## Paper You can read the paper in the SCITEPRESS Digital Library [here](http://doi.org/10.5220/0012129100003538). You will need to create an account to access the paper. ## Presentation Unfortunately, the session was not recorded. However, you can view the presentation slides [here](/documents/automatic-testbased-assessment-of-assembly-programs/presentation.pdf).

July 13, 2023

2 min read