Scroll To View More
Hire the top 3% of freelance developers
Daniel Angel Muñoz Trejo

Daniel Angel Muñoz Trejo

Seattle, WA, United States
Member since September 21, 2013
Daniel has a proven talent for creating high performance applications in C++ for large companies such as Dreamworks Animation SKG. He has developed C++ applications with the Intel Threading Building Blocks framework, Boost C++ libraries, and Qt libraries. He also excels with C and ASM (x86).
Daniel is now available for hire
Portfolio
Experience
  • C++, 10 years
  • Windows, 4 years
  • Qt, 3 years
  • Git, 3 years
  • Data Structures, 3 years
  • Algorithms, 3 years
  • C, 2 years
  • Linux, 2 years
Seattle, WA, United States
Availability
Part-time
Preferred Environment
Windows, Linux, QtCreator, Visual Studio, Git
The most amazing...
...code I've ever written is a file compressor implemented using the Huffman algorithm.
Employment
  • Software Development Engineer
    2017 - PRESENT
    Amazon
    • Contracted to develop software.
    Technologies: Java
  • Qt Developer
    2015 - 2017
    MBLSFT
    • Ported an Android Secure Messenger application to BlackBerry native.
    • Ported the crypto library from Java to C++.
    Technologies: C++, Qt, Blackberry
  • C++ Developer
    2015 - 2015
    PulsePerfect
    • Integrated the GiNaC library into a Qt project.
    • Integrated the Cuba library into a Qt project.
    • Created different callback functions for the Cuba integration function.
    • Created a parser for a Scene Definition File.
    • Created images from mathematical equations.
    Technologies: C++, GiNaC, Linux
  • C++ Developer
    2014 - 2015
    MiddleMatter
    • Created a project in C++ using Qt OpenGL support.
    • Developed a whistle recognition C++ library using Qt.
    • Removed the Qt dependencies from the whistle lib and compiled it with Android NDK.
    • Created an Android app that used the whistle lib as the back-end sound processing.
    • Implemented a fast SMQT (Successive Mean Transformation Transform) algorithm for the whistle processing which performs in O(N) instead of O(N*L), reducing processing time to 3% to 19% of the original time (depending on the number of samples).
    Technologies: C++, Qt, OpenGL, Android, Android NDK
  • C++ Desktop Programmer
    2014 - 2014
    Slimware Utilities
    • Improved the existing Stub Installer.
    • Created a multithreaded background process to manage downloads.
    • Created unit tests for the product.
    • Managed overlayed data inserted into the application image.
    • Fixed bugs.
    Technologies: C++, MFC, Networking, Multithreading
  • Senior C++ Developer
    2013 - 2014
    Arris (formerly Motorola Mobility)
    • Used the ObjectStore object oriented database.
    • Used CMake as the build system.
    • Developed new features and fixed bugs for a VideoFlow application.
    • Created a logging system to automatically log files, lines, functions, etc. using a preprocessor macro.
    • Fixed numerous C++ bugs.
    Technologies: C++, ObjectStore, Linux, Windows, Git, CMake
  • Senior C++ Developer
    2012 - 2013
    Dreamworks Animation SKG
    • Used parallel computing techniques with Intel TBB.
    • Created a unit test using googletest.
    • Fixed several Python-C++ interfaces.
    • Created mesh compare operators (one for each different kind of mesh) at the request of an artist.
    • Fixed bugs and made improvements to Dreamworks's proprietary software for creating 3D movies.
    Technologies: C++, Intel TBB, Boost C++, Qt, Linux
  • C++ Developer
    2012 - 2012
    Motorola Solutions
    • Found the source of bizarre errors that turned out to be related to template linking issues.
    • Created a lock screen UI (password prompt UI) for Windows Mobile 6.5 that interfaced with a data encryption card.
    • Suggested various improvements to the adopted system of generating log information.
    • Developed an Asynchronous Finite State Machine using boost::statechart.
    • Used the Qt Framework for the lock plugin UI.
    Technologies: Windows Mobile 6.5, Qt, Boost C++
  • Firmware Developer
    2011 - 2011
    Controlnet S.A.
    • Worked to allow different USB modes (mass storage, virtual serial port, input device, etc.) to work on an ARM7 development board.
    • Proposed, installed, and evaluated two different real-time operating systems (RTOS's) on an ARM7 development board.
    • Tested an ATM machine to find bugs.
    • Modified the firmware of an old Buss card system to add new functionality.
    • Worked under the ISO 9001 Quality standard.
    Technologies: C and C++ for Microcontrollers, real time operating systems, USB interface, Smart Contactless Cards
Experience
  • Codility Silver Award for the Carbo 2013 Challenge (Other amazing things)
    http://codility.com/cert/view/certC89A6K-H6JMRM23QQPUFZGJ/

    My successful solution to the Carbo 2013 Challenge.

  • How C++ Works: Understanding Compilation (Publication)
    Compilation and linking are two very fundamental processes that happen all the time during C++ software development. However, what happens during these processes? How does the compiler go from your neatly organized source code to a binary file that the machine understands? In this article, Toptal Freelance Software Engineer Daniel Trejo explains how a C++ compiler works with some of the basic language constructs to answer some common questions that are related to these processes.
  • Optimized Successive Mean Quantization Transform (Publication)
    Image processing algorithms are often very resource intensive due to fact that they process pixels on an image one at a time and often requires multiple passes. Successive Mean Quantization Transform (SMQT) is one such resource intensive algorithm that can process images taken in low-light conditions and reveal details from dark regions of the image. In this article, Toptal engineer Daniel Angel Munoz Trejo gives us some insight into how the SMQT algorithm works and walks us through a clever optimization technique to make the algorithm a viable option for handheld devices.
  • After All These Years, the World is Still Powered by C Programming (Publication)
    Despite the prevalence of higher-level languages, the C programming language continues to empower the world. There are plenty of reasons to believe that C programming will remain active for a long time. Here are some reasons that C is unbeatable, and almost mandatory, for certain applications.
Skills
  • Languages
    C, C++, Java, Assembler x86, Python
  • Frameworks
    Qt, Boost C++
  • Libraries/APIs
    Intel TBB
  • Tools
    Git, Android NDK, CMake
  • Paradigms
    Concurrent Programming, Object-oriented Programming (OOP)
  • Platforms
    Linux, Windows, BlackBerry 10, Android, Windows Mobile
  • Other
    Data Structures, Algorithms, Cryptography
  • Storage
    MySQL
Education
  • Bachelor of Engineering degree in Electronic Engineering
    2004 - 2015
    Universidad Tecnologica Nacional - Cordoba, Argentina
Hire the top 3% of freelance developers
I really like this profile
Share it with others