Andrea Venuta


I'm a freelance software developer. Frontend web development is my specialty, but I cultivate interest in a wide variety of topics related to programming and mathematics.

I'm currently studying Finance and Risk Management and hold a Bachelor's degree in Computer Science, with a thesis on Procedural Content Generation and Real-time Rendering Techniques.

I'm available to work short-term, remote contracting jobs, so if my areas of expertise match your needs feel free to contact me.

Frontend Web Development

Javascript is the programming language I'm most proficient in. I have experience in optimizing computationally intense algorithms, exploiting the latest web standards, implementing graceful degradation and designing consistent, fault-tolerant, cross-browser behaviors.

I tend to meticulously structure my workflows by employing standard tools and a sound, semantic code structure. I tend to use CommonJS where possible as a means of structuring my code, due to its small code overhead, and tools like Grunt or GNU Make to automate tasks.

Computer science

I think a scientific approach to software design is fundamental for achieving the best possible results in terms of code correctness, mantainability and efficiency. Moreover, relying upon academical findings and research can greatly aid in finding elegant solutions to complex problems.

This is one of the reasons I'm learning pure functional programming and the Haskell language.

3D Graphics programming

I study and work with 3D modeling and rendering algorithms. I'm familiar with the OpenGL pipeline and various mathematical methods of describing and rendering geometry. On occasion I like to write about them in my blog.

Game development and creative programming

I enjoy developing (and playing) videogames as I think this is one of the areas of computer programming that encompasses the widest range of knowledge domains, where all the efforts and skills of a programmer are heavily tested and brought to their limit. I thus think programming a videogame to be one of the most rewarding challenges out there. Specifically, one of the most fascinating techniques is procedural content generation, which I employ extensively in my game programming process.