Who I Am
I’m a freelance software engineer, with a proven track record in designing and implementing software for embedded, real-time and mobile systems. I’m also very interested in software development methodologies and their integration with project management best practices.
If you need to expand your internal software development team for a project that is falling behind schedule, or you’re starting from scratch and looking for an experienced consultant that can assist you from requirements elicitation to product release, just hire me!
What I’m good at …
Software Design And Development
I have more than 15 years of experience in software design and development, starting from requirements elicitation, to software architectural and behavioural modeling with UML, down to programming and testing. I've been working with C and Assembly languages for embedded resource-constrained projects, but also with Java and C# for desktop and web applications. I also happened to use C++, Python and Matlab. I've coded both on Windows and Linux based platforms, and also used embedded real time OS such as VxWorks and FreeRTOS. I regularly use tools such as SonarQube, Lint and xUnit testing frameworks, for maximum code quality.
Software Configuration Management
I worked as Software Configuration Manager and Build and Release Manager for several clients. I've been using Git and Svn and tools such as Bitbucket, ClearCase, Synergy, Jenkins and Ansible, for which I have often developed integration and automation scripts. I know how a change management process works and how to put in place a Continuous Integration/Continuous Deployment system.
Processes And Standards
I've been working for quite a few years in highly regulated industries, especially those adopting the ISO 26262 standard (for automotive applications) and the IEC 62304 standard (for medical devices). I have a thorough understanding of the V cycle and understand its tailoring to specific industry contexts. I also had some exposure to MIL-STD-498 and Common Criteria ISO 15408.
Project And People Management
I've been technically leading small groups of people, reasoning together on solutions to common problems, future developments and prioritizing work. I've extensively used Scrum and like to integrate some concepts (like the standups, the backlogs and the sprints) also in contexts using a rigid waterfall approach. I know how to use tools such as JIRA or Microsoft TFS/VSTS.
… and what I’d like to improve!
The essence of my work as a consultant is the willingness to learn, to broaden my skills and apply them in contexts no one had imagined before. I’m very eager to work on bleeding-edge projects, pushing me outside of my comfort zone! A (not comprehensive) list includes:
- Linux kernel programming
- Linux distribution creation (Yocto)
- Embedded real time operating systems (VxWorks, QNX)
- Languages and technologies for safety critical systems (Ada, Spark, Rust)
Trust me, I’m an engineer!
Some reviews on me and my work, taken from my Linkedin profile.
I believe that knowing in advance how much it costs to hire me helps to build trust between me and my clients, so here are my current rates!
- Contracts with a duration of less than 6 months shall be discussed on a case-by-case basis.
- All rates do not include VAT and any additional costs for software licenses or specific hardware not provided by the client.