Miguel Angel Orenes Fernandez, Developer in Murcia, Spain
Miguel is available for hire
Hire Miguel

Miguel Angel Orenes Fernandez

Verified Expert  in Engineering

Multithreading Developer

Location
Murcia, Spain
Toptal Member Since
August 31, 2014

Miguel is a back-end, cross-platform, C++ developer for iOS, Android, Mac OS X, and Windows. He has extensive experience in Qt and Linux environments, developing continuously running systems and unit testing. He also is skilled with MySQL and Node.js.

Portfolio

DisplayNote
WebSockets, HTTP, Cross-platform, MySQL, Node.js, NME, HaXe, C++
Infomicro
SCCP, RTP, IPv4, UDP, Transmission Control Protocol (TCP), SIP, Wireshark...
SAES
Distributed Systems, Multithreading, Linux, CORBA, Qt, C++

Experience

Availability

Part-time

Preferred Environment

Windows, Linux

The most amazing...

...thing I've been involved in is the development of a cross-platform media environment connected via the Cloud.

Work Experience

Back-end Team Lead

2012 - PRESENT
DisplayNote
  • Created multi-platform applications (Windows, OS X, iOS, and Android), using Scrum as a software development framework and JIRA for project management.
  • Integrated severals open source libraries (FFmpeg, POCO C++, SDL, and more) to create cross-platform applications.
  • Developed a scalable Cloud system based on Node.js.
  • Developed a solid product capable of working on an undefined network environment. Used a useful log mechanism to get the best feedback on issues.
  • Developed a technical support layer.
  • Created quick and functional prototypes in order to get a viability study and schedule new projects.
  • Helped my colleagues on their development tasks.
Technologies: WebSockets, HTTP, Cross-platform, MySQL, Node.js, NME, HaXe, C++

Freelance Developer

2010 - 2012
Infomicro
  • Created a C++ VoIP recorder on a CISCO environment.
  • Used Wireshark extensively to understand how a Cisco Call Manager works with SIP.
  • Studied network protocols in depth, including: SIP, TCP, UDP, IP, RTP, and SCCP.
  • Used several libraries such as LIBPCAP, sndfile, and Boost.
  • Integrated and used audio codecs including G711, G722, G729, and ILBC.
Technologies: SCCP, RTP, IPv4, UDP, Transmission Control Protocol (TCP), SIP, Wireshark, Linux, C++

Software Engineer

2009 - 2012
SAES
  • Developed sonar HMI with a Qt/C++ system on a distributed environment based on CORBA. Ensured very high tolerance, no memory leaks, a good profile, and the ability to run at all times.
  • Changed all our core design by changing from mono-threaded to multi-threaded design in order to avoid a networking collapse by buffer overflow.
  • Performed UML design and code generation with Rhapsody.
  • Helped placement students and junior developers to join the team and quickly get up to speed.
  • Worked on a varying working environment with system engineers, experts on signal processing, and remote workers.
  • Created tools to analyze and render an acoustic underwater signal with iLog/C++.
Technologies: Distributed Systems, Multithreading, Linux, CORBA, Qt, C++

Developer

2007 - 2009
Universidad de Murcia
  • Created a C++ acoustic underwater (sonobuoys) simulator on a distributed system based on CORBA, ensuring high tolerance, no memory leaks, and acceptable performance standards.
  • Created a Qt3.3 HMI capable of defining, generating, and reproducing underwater acoustics.
  • Developed a Qt4.2 tool capable of recording all user events (mouse, keyboard, etc.) and reproducing them in order to automate system tests.
  • Created a Qt/C++ sonar simulator on a distributed system based on CORBA, ensuring high tolerance, no memory leaks and acceptable performance.
  • Built a C++ sonar tool able to stimulate an acoustic processing system.
  • Worked on a small, exigent team with 2 other developers.
Technologies: Linux, CORBA, Qt, C++

Open HMI Tester

We developed an application to automate HMI testing. It was capable of recording and playing all keyboard and mouse events on a Qt4.x over a Linux application. Technologies used include C++, Qt, and XML (http://www.catedrasaes.org/wiki/OHT).

SDL-AS

As part of the HMI Software Development team, I defined and designed the software architecture in order to be able to communicate all our software components. I also developed several tools to analyze and render an acoustic signal and weather radar and to control the full system. Technologies used include C++, Qt, iLog, CORBA, Linux, GDB, Valgrind, and gprof.

Cross Recorder

I developed the application core capable of recording all calls managed for a CUCM on a CISCO environment. I included some filter rules in order to record only some specific phone lines and time ranges at run time. Technologies used include C++, Wireshark, SIP, TCP, UDP, IP, RTP, and SCCP.

DisplayNote

http://www.displaynote.com/
DisplayNote transforms presentations for presenters and participants. Use it to present wirelessly with an iPad or Android and mirror your screen to every participant’s device. Attendees can view and capture your slides on their device and collaborate with each other in real-time. I designed and developed all our communication components to run on local and Cloud environments. Technologies used include C++, Haxe/nme, MySQL, and Node.js.

Languages

C++, UML, HaXe

Frameworks

LIVE555, Qt, GStreamer

Libraries/APIs

POCO C++, WebRTC, Node.js, libpcap, FFmpeg

Platforms

Linux, Windows, MacOS, Android, iOS

Tools

Microsoft Visual Studio, Wireshark, Android NDK, Sublime Text, CVS, Subversion (SVN), GDB, Gprof, Valgrind, Gcov, Mercurial, cURL Command Line Tool

Paradigms

Cross-platform, Kanban, Rapid Prototyping, Object-oriented Design (OOD), Concurrent Programming, Scrum, Object-oriented Programming (OOP)

Storage

MySQL, SQLite

Other

SIP, Transmission Control Protocol (TCP), UDP, IPv4, RTP, SCCP, HTTP, WebSockets, Distributed Systems, NME, Multithreading, CORBA

2002 - 2007

Master's Degree in Computer Engineering

Universidad de Murcia - Murcia, Spain

Collaboration That Works

How to Work with Toptal

Toptal matches you directly with global industry experts from our network in hours—not weeks or months.

1

Share your needs

Discuss your requirements and refine your scope in a call with a Toptal domain expert.
2

Choose your talent

Get a short list of expertly matched talent within 24 hours to review, interview, and choose from.
3

Start your risk-free talent trial

Work with your chosen talent on a trial basis for up to two weeks. Pay only if you decide to hire them.

Top talent is in high demand.

Start hiring