Scroll To View More
Adnan Ademovic, C++ Developer in Sarajevo, Federation of Bosnia and Herzegovina, Bosnia and Herzegovina
Adnan Ademovic

C++ Developer in Sarajevo, Federation of Bosnia and Herzegovina, Bosnia and Herzegovina

Member since May 12, 2015
Adnan is now available for hire
Adnan Ademovic, C++ Developer in Sarajevo, Federation of Bosnia and Herzegovina, Bosnia and Herzegovina
Adnan Ademovic

C++ Developer in Sarajevo, Federation of Bosnia and Herzegovina, Bosnia and Herzegovina

Member since May 12, 2015
Adnan is an engineer with experience in desktop, embedded, and distributed systems. He has worked extensively in C++ (working at both low and high levels), Python, and in other languages. He is experienced in developing complex algorithms and intelligent systems, optimization, networking, and signal processing. He is very passionate about problems faced by robotics and mechatronics in general.
Adnan is now available for hire

Portfolio

Experience

  • C++, 8 years
  • JavaScript, 5 years
  • Google App Engine, 4 years
  • Python, 4 years
  • Embedded Systems, 3 years
  • Robot Operating System, 3 years
  • Robotics, 3 years
  • Go, 2 years
Sarajevo, Federation of Bosnia and Herzegovina, Bosnia and Herzegovina

Availability

Part-time

Preferred Environment

Linux, Git, Vim

The most amazing...

...thing I've coded is a global path planning system that optimizes its own performance based on the problems it's facing.

Employment

  • Researcher

    2012 - 2015
    University of Sarajevo, Faculty of Electrical Engineering
    • Developed alternative algorithms for motion planning using different paradigms than the industry standard.
    • Created a tuner based on a genetic algorithm to optimize performance of global space exploration for repetitive tasks.
    • Explored ways to use volumetric data to get maximum information with minimum feedback, comparing it with standard planning algorithms.
    • Implemented an unscented particle filter and metric map-based approximate localization algorithm that is efficient at searching space with noisy and/or non-invertable feedback.
    • Integrated all of the above with ROS.
    Technologies: C++, Python, Robot Operating System, C#
  • Software Engineering Intern

    2014 - 2014
    Google Switzerland
    • Participated in the development of a pipeline used to provide real-time and historic data to search engines.
    • Created generic reusable clients for overcoming drawbacks of the PubSubHubBub protocol.
    • Performed load tests on Google's feed providing services to discover potential of future expansions.
    • Developed all solutions to be infinitely scalable linearly with hardware availability.
    • Analyzed possibilities of service deprecation and redesign.
    Technologies: C++, Python, AppEngine, WebApp2, Borg, MapReduce, BigTable
  • Undergraduate Teaching Assistant

    2014 - 2014
    University of Sarajevo, Faculty of Electrical Engineering
    • Prepared and performed laboratory works in modeling and simulating systems.
    Technologies: MATLAB, Numpy

Experience

  • Library for Motion Planning (Other amazing things)
    https://github.com/adnanademovic/bubbles-motion-planning

    After working on research for developing new methods of motion planning, the codebase for development has been extended to implementing other methods of motion planning, with the research results used for optimizing various existing algorithms.

  • 3D Graphics: A WebGL Tutorial (Publication)
    Whether you just want to create an interactive 3D logo, on the screen or design a fully fledged game, knowing the principles of 3D graphics rendering will help you achieve your goal. In this article, Toptal Freelance Software Engineer Adnan Ademovic gives us a step-by-step tutorial to rendering objects with textures and lighting, by breaking down abstract concepts like objects, lights, and cameras into simple WebGL procedures.
  • An Introduction to Robot Operating System: The Ultimate Robot Application Framework (Publication)
    Robot Operating System, a framework for building robot applications, allows developers to assemble a complex system by connecting existing solutions for small problems. In this article, Toptal engineer Adnan Ademovic gives us a step-by-step tutorial to building software for an onboard computer that allows us to remotely control and monitor a robot and running it in a simulated world using Robot OS.

Skills

  • Languages

    C++, Rust, Python, Octave, Go, JavaScript, C#, Java, SQL, CoffeeScript
  • Frameworks

    Robot Operating System, AngularJS, .NET, Unity3D, Boost, webapp2, WebApp, Machine Learning, Django, Windows Presentation Foundation (WPF), Android SDK, Qt
  • Paradigms

    Parallel & Distributed Computing, Dynamic Programming, Design Patterns, Object-oriented Programming (OOP), Functional Programming, Test Automation, Unit Testing, Distributed Programming, REST, MapReduce
  • Other

    Robotics, Embedded Systems, Applied Mathematics, Math, Game Development, Optimization, Evolutionary Algorithms, Modeling, Physics Simulation, AI Programming, Neural Networks, Regular Expressions
  • Libraries/APIs

    Protobuf, Standard Template Library (STL), jQuery, OpenCV, OpenGL, POSIX, WinForms, XNA
  • Tools

    MATLAB, Make, CMake, Microsoft Visual Studio, Git, Qt Creator, Atom, Vim Text Editor, Jekyll, Android Studio, Eclipse IDE
  • Platforms

    Google App Engine, Linux, Windows
  • Storage

    MySQL, BigTable

Education

  • Master's of Electrical Engineering degree in Automatic Control and Electronics
    2013 - 2015
    University of Sarajevo; Faculty of Electrical Engineering - Sarajevo, Bosnia and Herzegovina
  • Bachelor's of Electrical Engineering degree in Automatic Control and Electronics
    2010 - 2013
    University of Sarajevo; Faculty of Electrical Engineering - Sarajevo, Bosnia and Herzegovina
I really like this profile
Share it with others