Hi, my name is

Abel Soares Siqueira.

Optimizer and Software Developer

Research Software Engineer, Julia Smooth Optimizers maintainer, YouTuber

About Me

I am a software developer. I am a research software engineer since 2021 at the Netherlands eScience Center (NLeSC). I joined the NLeSC with the goals of honing my coding skills, working with smart people, and for the opportunity of learning more about what I don’t know. I had a chance to work with Typescript/Vue for frontend, a bit of C++ tooling, Graph neural networks in Python, Kubernetes, and modeling electricity markets with Julia/JuMP.

I am an optimizer and applied mathematician. I have PhD in nonlinear optimization and was a professor from 2015 to 2021 at the Federal University of Paraná (Brazil). I taught multivariate calculus, numerical methods, optimization, and data science. I was involved in the Data Science & Big Data specialization. I was co-creator of CiDAMO, a Data Science, Machine Learning, and Optimization group. My research revolved mainly around numerical optimization in the Julia language. I am co-creator of the Julia Smooth Optimizers organization, which holds more than 50 Julia packages related to optimization and Linear Algebra.

I am a YouTuber and streamer. Since 2020, I talk about software development, mostly using the Julia programming language. Some of my videos are purely about teaching Julia, but some are related to some mathematical field, usually optimization.

I am a Brazilian living in the Netherlands. I was born in 1986, in Medeiros Neto/BA, and lived for many years in Carnaíba/PE, with a tour on Arraial d’Ajuda/BA and São Paulo/SP. I lived for a while in Santa Bárbara d’Oeste/SP, right before going to Campinas/SP to study at UNICAMP. Met my wife there and moved to Curitiba/PR, before finally moving to the Netherlands.

Summary of my skills

Technical

  • Programming since 2005, having used multiple programming languages, including C, C++, Python, MatLab, Fortran, Javascript, Typescript, and Bash.
  • 8 years experience with the Julia language for research software.
  • My PhD and scientific initiation projects were in C++, accruing 5 years of experience.
  • I have supervised students on machine learning topics, using Python’s scikit-learn stack.
  • I have consulted and supervised on optimization modeling topics, include Julia’s JuMP modeling language.
  • I manage several GitHub repositories, setting continuous integration for automated testing, building documentation, code coverage, and various other workflows. I have used GitHub Actions, Travis, Codecov, and Coveralls.
  • I have experience building a Single Page Application in Typescript, Vue 3 and Quasar.

Social and community

  • I am a native Portuguese speaker and a fluent English speaker.
  • I have basic knowledge of Spanish and French, and I know a few words of Dutch and Russian.
  • I have solid written and verbal skills.
  • I am organized, proactive, and I am a team worker.
  • I can produce documentation in various formats, such as written tutorials and APIA reference documents, as well as videos and live coding on specific topics.
  • I managed a team translating the Think Julia book.

Open science and research software

  • I taught Shell, Git, LaTeX, and Julia in many workshops.
  • I helped organize 2 workshops related to Software Carpentry, 1 related to Hacktoberfest, and other local tutorial sessions.
  • I taught at the 2017 CODATA-RDA School of Research Data Science.
  • I have reviewed for the Journal of Open Source Software and the Journal of Open Research Software.

Experience

Senior Research Software Engineer - Netherlands eScience Center
Sep 2021 - present

I am currently working as an RSE at the NLeSC. My job is to help researchers accross the Netherlands with their software app. My projects involve different technologies and stakeholders, and the most important aspect of it is the ability to adapt and learn new things.

Some of the projects that I have been involved:

  • bird-cloud-gnn: A graph neural network to identify flocks of birds from radar’s point cloud data.
  • Tulipa: An electricity & Sector-coupling optimization model in Julia/JuMP.
  • cffinit: A web app to generate CITATION.cff files.

I have also co-organized and given a talk at a Julia for High-Performance Computing webinar with external speakers and over 50 attendants.

Professor Adjunto - Federal University of Paraná
Nov 2014 - Aug 2021

I was a professor at the Mathematics Department, mostly working in the Industrial Mathematics program. I mainly taught multivariate calculus, numerical methods, optimization, and data science.

Here are more details on my involvement:

Professor Adjunto

  • Taught around 5 courses a year.
  • Advised over 15 students.
  • 10 talks, 5 at international conferences.
  • Industrial Mathematics curriculum planning committee.

Data Science specialization program (2019-2020)

  • Taught optimization and machine learning.
  • Advised students in various topics.

Researcher in optimization

  • Co-creator of several packages related to nonlinear optimization and numerical linear algebra inside the JuliaSmoothOptimizers organization.
  • Advised students in nonlinear optimization, operations research, and machine learning.
  • Co-creator of the CiDAMO study and research group.
  • 3 published papers.
  • Referee in various journals.
Postdoc - State University of Campinas
2013 - 2014
I continued the topics on my PhD, finishing a submission to a journal, which eventually did not work out.

Education

2009 - 2013
PhD in Applied Mathematics
State University of Campinas
I worked on a method called Dynamic Control of Infeasibility, proposing an extension to handle inequalities. The method was implemented in C++.
2005 - 2008
Bachelor of Science in Applied Mathematics
State University of Campinas
I focused on numerical methods and optimization.

Projects

Julia Smooth Optimizers
Julia Optimization Linear Algebra
Julia Smooth Optimizers
JSO is an organization that I co-created with Dominique Orban around 2015 to host our optimization and linear algebra packages. The main idea of our packages is to enable high-quality development of optimization solvers. It contains over 50 registered packages.
Jill - Julia Installer for Linux Light
Bash Julia
Jill - Julia Installer for Linux Light
Command line installer for the Julia programming languague. The objectives of Jill are - One line installation of any Julia version; - Easy to maintain/update when a new Julia version is released; - Lightweight.
COPIERTemplate.jl
Julia Template
COPIERTemplate.jl
Template for Julia packages using the copier package. It is an opinionated template, using various configuration files that I find useful. It includes a GitHub workflow to automatically check for updates in the template, so I can easily distribute new ideas, fixes, and updates to the template.
perprof-py
Python Optimization
perprof-py
Python Package to generate mathematical Performance Profiles.
CiDAMO group
Data Science Machine Learning Optimization
CiDAMO group
Data Science, Machine Learning, and Optimization group that I co-created around 2017/2018 with Professor Lucas Pedroso. We created the group to attend to the increasing interest from students and from ourselves. We organized a few events and meetups, including an in-person week-long event called CiDWeek with over 300 participants, with presentation from companies, professors, and students.
Think Julia Portuguese Translation
Python Book Translation
Think Julia Portuguese Translation
I helped with the translation of the open source ThinkJulia book to Portuguese. I helped manage the translation team and reviewed the submitted chapters.

Get in Touch

Feel free to send me an e-mail. I will try to get back to you as soon as possible.