Scroll To View More
Daniel Angel Muñoz Trejo, C++ Developer in Seattle, WA, United States
Daniel Angel Muñoz Trejo

C++ Developer in Seattle, WA, United States

Member since September 21, 2013
Daniel is now available for hire
Daniel Angel Muñoz Trejo, C++ Developer in Seattle, WA, United States
Daniel Angel Muñoz Trejo

C++ Developer in 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
  • Data Structures, 3 years
  • Qt, 3 years
  • Git, 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 II

    2017 - PRESENT
    Amazon Web Services
    • Contracted to develop software.
    Technologies: Ruby
  • 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 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++, Python, Assembler x86, Java
  • Frameworks

    Qt, Boost
  • Libraries/APIs

    Intel TBB
  • Tools

    Git, Android NDK, CMake
  • Paradigms

    Concurrent Programming, Object-oriented Programming (OOP)
  • Platforms

    Linux, BlackBerry, Windows, Android, Windows Mobile
  • Other

    Algorithms, Data Structures, Cryptography
  • Storage

    MySQL

Education

  • Bachelor of Engineering degree in Electronic Engineering
    2004 - 2015
    Universidad Tecnologica Nacional - Cordoba, Argentina
I really like this profile
Share it with others