About Me

Intro

My name is Michael Biancardi. I've been programming since I was a teenager, and I've loved computers, math, science, fantasy, and video games for as long as I can remember. I have degrees in Computer Science and Mathematics with a minor in Physics. I also have a Master's degree in Computer Science with a thesis focused on spatiotemporal data mining applied to air quality data. In general, I'm interested in programming, computational science, data science, and game dev.

Programming Languages

Between different jobs and internships, personal projects, and school, I have written code in C#, C++, Java, JavaScript, Python, C, MatLab, ARMv8 Assembly, and Visual Basic. These languages all have their quirks, but I don't dislike any of them. I'm also comfortable with SQL and can work with HTML and CSS as needed.

C# is the first language I fell in love with. It's powerful, expressive, and user-friendly. It's useful in many domains. I utilized it often when tinkering with games and desktop apps as a teenager. I haven't used C# as much lately (though I do need to check if Godot's C# support has gotten any good...). I'd love to work with C# professionally someday. It's just such a pleasant language to work with.

I wrote a fair bit of JavaScript at one internship and a lot of C++ at another internship. I retain a bit of a love-hate relationship with C++. On the one hand, it's very fast and powerful. There's a good reason it's used in so many interesting domains like computer graphics, image processing, and high-performance computing. Plus, it can be safer than C. And beyond that, modern C++ does provide some nice features. On the other hand, C++ is a very complicated language with a lot of pitfalls. Error messages are also often esoteric. Overall, though, I do like C++ and would love to work with it more. I rather like JavaScript as a language, though the ecosystem around it can be a bit of a pain.

While I was a student research assistant, I write a lot of Python code for geospatial data science research. Python works well for this work, allowing me to 'glue' together different libraries to quickly get the job done. I'm even working an open-source Python library called OpenSTSMiner. This library implements the Spatiotemporal Sequence Miner algorithm for finding significant sequences of events in a spatiotemporal database.

Career Goals

I recently finished my Master's degree in Computer Science. I considered going for a PhD, but grad school is a lot of work and stress for low pay and poor benefits. At this point, I'm looking to flip that around and find an industry job with interesting work, solid compensation, and a good work/life balance. I'd love to find a research job where I can continue using my computational skills to advance scientific research. It'd be great to work on environmental issues, a natural continuation of my graduate work. Working on something physics or bioinformatics focused would be cool, too. I'd also be happy working in a technical domain like scientific computation, software security, or network programming. But at this point, I'm happy for any software engineering or data science job.

Game Dev

My interest in programming was sparked by a desire to make games. I've made a number of small games over the years, both solo and with a friend. You can play a couple of my games on my website here. I have some larger projects that aren't currently playable online, though. I'm mostly interested in the technical development side of games and in the design of game mechanics. My dream game to make would be an RPG. For now, though, I'm working on a tiled-based roguelike dungeon crawler called Wypthar's Tomb in Godot. At least, when I have time I'm working on it. You can see some of my games portfolio in the Small/Old Games tab of my website.