My greatest passion is technology. I have a lot of experience in software design and development. I started professional development when I was 16 years old and uninterruptedly continued working, learning and hacking.
Today I am a strong full-stack developer, from html5/js on the client-side to C# multi-layer server-side.
Frontend skills
Semantic cross-browser gracefully degrading HTML5, CSS, LESS, Object Oriented and Test Driven JavaScript, CoffeeScript, TypeScript, KnockoutJs, RaphaelJs, d3, Handlebars, Modernizr, html5shiv, jQuery, jQuery Ui, QUnit, UnderscoreJs, Lo-Dash, Grunt, Karma, Jasmine, UglifyJs, PhantomJs, JsHint, JsDoc3, RequireJs, Travis-CI, Bower, Volo
Backend skills
C# 5, ASP.Net MVC 4, NodeJs, Mocha, Chai, npm, Razor, T4MVC, ASP.Net Web Forms, NancyFx, REST APIs, SOA, TDD, NUnit, FluentAssertions, Cucumber, Moq, RhinoMocks, Ninject, StructureMap, SQL Server 2012, Redis, memcacheD, statsD, Kibana, LogStash
Rich client skills
WPF, Silverlight, XAML, MVVM, Caliburn.Micro, Windows Phone, Windows Forms
Tools
Visual Studio 2013, ReSharper 8, Git, WebStorm 8, Jira, TeamCity 8.1, Hudson, JsPerf, Ants Profiler, Sublime, LiveReload, SVN
Open source and community involvement
My OAuth 1.0a signature generator library is listed on the official OAuth.net website in the
JavaScript section at oauth.net/code. The details are available in the Projects section.
Besides my own development, I contributed with code, issues and translations to open source projects
like OAuth.io, url-js, Linux Mint, ServiceStack, cdnjs.com, Firefox, Subversion and Zeus MVC.
In Italy I helped Microsoft by teaching Window Phone development to university students at weekly meet-ups.
I regularly attend hackatons as well as conferences about software quality, architecture, continuous deployment and more.
Senior Software Engineer @ Continuous delivery of:
- Front-End apps using React
- Micro-services in NodeJS, MongoDB, RabbitMQ
Loving TDD, Javascript (ES6, ES7) and Kanban. From April 2015 to Present (8 months) London, United KingdomAPI Team Lead Developer @ From July 2014 to April 2015 (10 months) London, United KingdomAPI Developer @ From July 2013 to July 2014 (1 year 1 month) London, United KingdomSenior Software Developer @ From May 2012 to June 2013 (1 year 2 months) Software Engineer (Consultant) @ Software development on a multi-layer and multi-tier architecture where many different platforms and systems are interconnected. I had to understand the overall product architecture to take into consideration the performance, operation, impact and serviceability of the features in my designs. In many occasions I had to redesign and refactor large portions of the code base to separate the responsibilities of the various components following the SOLID and KISS principles. I participated in the entire software development life-cycle, including feature planning, design, development, debugging, releasing and maintenance. Teamwork, collaboration and communications skill were essential. I was also involved in raising the team code quality and best practices adoption.
Some projects I successfully completed:
Design and implementation of the new sequence of formulas, using the math provided by the actuaries, used to calculate the premium when taking out new life insurance policies. The client-side application used to compare the data with the legacy code was built in WPF using the MVVM pattern leveraging the Caliburn.Micro framework. The serialization of the state was achieved using the .Net implementation of Google’s ProtoBuf. The asynchronous web service was built using the Task Parallel Library and ServiceStack for the RESTful JSON WebApi.
The development team used JIRA for the issue management, Jenkins for the continuous integration and SVN for the source management. On top of that, I built a custom service for the automatic deployment of nightly builds of the web applications to multiple load balanced test environment servers walled behind authenticated reverse proxies. I had to expose JSON REST WebAPI called by Jenkins plugins. I built the services using the open source ServiceStack framework. As the complete API was exposed as a service I built a MVVM client using HTML5, KnockoutJs and Twitter Bootstrap.
And much more.. From May 2010 to May 2012 (2 years 1 month) Software Engineer (Consultant) @ From May 2010 to May 2012 (2 years 1 month) Self Employed @ Some projects I successfully completed:
- FacilityManagement
This is an application for the management, scheduling and execution of maintenance and patrol of complex facility machinery (furnaces, lighting systems, fan coils, refrigerators, ...).
Server side it is running on SQL Server 2005 and exposes web services for data consumption.
The main application runs on the user's desktop and is used to manage and schedule work by the technicians in charge.
The operators use a PocketPC client application to record the work done on the field. It ensures via RFID label attached to the machinery that the work is done on the correct machinery.
Functionalities of work progress and status reporting are available (web, paper and pdf).
- TankerDatabase
Software developed for a well-known oil company. It is used to gather and manage information on tanker ships, to manage authorizations, certificates, vetting and clearances on docks. It is also used to share clearance forms through internet and to certify that a tanker ship is authorized to leave the docks.
The system is composed of three parts. The first application is used by the administration to manage the data, technical sheets, certifications and authorizations that have been gathered on the field or in office. Changes to all the data are logged and browseable by the user. Concurrent editing of the same data is handled.
The second part is an application that is used to issue and share new certifications on the field by the surveyors. The application can work in an offline mode and the data is merged back when the connection to the main server is available.
The third is a web application that feeds the information gathered to the subscribers.
- nextCommerce
An E-Commerce and CMS multilingual platform that I use for all my web projects. It is expandable with modules such as seats booking, questionnaire filling and reporting and many more. It is also geared toward user experience and web design. Renders pure xhtml. From May 2008 to May 2012 (4 years 1 month) Developer @ Web, desktop and mobile software engineering. Web design. System and network solutions planning and deployment. Software and hardware desktop and server support. Experience with various firewall platforms souch as Kerio Winroute Firewall, pfSense, IPCop + Copfilter. Experience building servers using Microsoft and open source technologies including FreeNAS, MDaemon, Exchange, SQL Server, VPOP3 and GFI Faxmaker.
I have built from scratch an ASP ecommerce engine currently having 30 thousand hits per month. I have also developed an ASP CMS engine still used on smaller sites. From July 1999 to May 2008 (8 years 11 months) Computer Technician and developer @ Software and hardware support. Desktop software development.
I developed a software for creating and managing ads on a custom made computer driven lighted billboard. From October 1998 to July 1999 (10 months)
Marco Bettiolo is skilled in: JavaScript, MVVM, C#, MVC, jQuery, jQuery UI, CSS, DB2, SQL, XHMTL 5, JSON, AJAX, ODATA, ASP.NET MVC, Windows Phone, WPF, XML, Web Services, Software Development, .NET, Scrum, Agile Methodologies, Test Driven Development, HTML 5, KnockoutJs, RaphaelJs, Continuous Integration, REST, ASP.NET, Microsoft SQL Server, Web Applications, Git, Subversion, Silverlight, Awesomeness, ASP, Mobile Applications, OOP, Visual Studio, WinForms, NUnit, SOA, Software Design
Websites:
http://www.passfruit.com,
http://blog.bettiolo.it,
http://blog.bettiolo.it/feeds/posts/default