Hire the best C Programmers & developers

Check out C Programmers & developers with the skills you need for your next job.
Clients rate C Programmers & developers
Rating is 4.8 out of 5.
4.8/5
based on 2,699 client reviews
  • $60 hourly
    I'm a software engineer with 10+ years of experience in embedded applications. My skills include: - MCUs - ST, Microchip, NXP, Renesas, TI - RTOS - FreeRTOS, RTX, ThreadX - C++, C - STM32Cube, Keil, IAR, AtmelStudio, gcc - Python, make, SCons, git, svn, bash - Arduino I'm an experienced electrical engineer as well, my most significant achievement being to develop, certify and start mass production of a smart meter.
    vsuc_fltilesrefresh_TrophyIcon C
    Arduino Firmware
    ESP32
    FreeRTOS
    Linux
    Firmware Programming
    Real-Time Operating System
    Git
    STM32
    Raspberry Pi
    Python
    PCB Design
    Embedded System
    C++
    Embedded Application
  • $60 hourly
    ▶ Do you need an experienced MQL4, MQL5, C, C++, C#, and Python programmer to automate, test and improve your trading strategies? ▶ Do you need someone that will develop a robot, expert advisor, indicator or project tailored to your needs? ▶ Do you need an automated and reliable additional income source/revenue stream for your money? Hello there! I am a developer specialized in MQL4, MQL5, C, C++, C#, and Python programming for trading systems. I help individuals like yourself and companies (from small to big ones and startups) to achieve consistently above-average financial profits by developing, testing, and improving semi and fully automated trading strategies. To summarize a few contributions, I helped clients by: 1) automating their strategies into custom indicators, experts advisors, robots and trading bots to make great returns in the foreign exchange (forex), stocks, indices, metals, and crypto markets; 2) developing complete automated scrape-and-trade systems (scrape data from internet feeds with Python (Selenium), open and manage multiple trades with proper risk management using Metatrader 4 and Metatrader 5); 3) developing applications to automatically deliver trading signals over a private Telegram channel for customers; 4) designing complex and fully configurable trading systems with several trading strategies (trend, reversal, grid, adaptive) and position management features like trailing stop loss, take profit, break-even, risk management, and others; 5) coding multi time frame institutional custom indicators for companies with trading platforms used by more than 10.000 traders; 6) developing handy tools to aid manual and automated trading (lot size calculator, orders, position and hedge manager, graphical interfaces, among other features); 7) turning their unique ideas into robust and fully featured applications. When you work with me, you will get: A) Fast response, B) Clear communication, C) Features and projects tested and delivered with the best quality possible and on time. Regarding Python skills, I have experience in: - data parsing/processing, model optimization, data visualization (Pandas, Numpy, PyQt5, Matplolib, Plotly); - document generation (PDF, CSV); - cross-platform applications with graphical interfaces (Kivy and PyQt5). F.A.Q.: Q) Do you sell your strategies? A) Yes, I have some ready-to-go strategies customizable (ready for extra features) to your needs for the right price. Q) Can you reverse engineer existing strategies? A) I can certainly look at any strategy and check if it's possible to develop a robot that emulates its behavior. Q) Do you manage trading accounts? A) I can help you manage your trading accounts by automating your strategies (with several features, like logging and Telegram private notifications). If interested, please message me, and let's discuss the terms. To check some of my public projects, please refer to my GitHub page below. If anything above sounds like what you need, contact me! If you are still in doubt, you can always message me. I will read all your ideas and we can discuss how my skill set can be helpful for your project. Best regards, Victor.
    vsuc_fltilesrefresh_TrophyIcon C
    Bot Development
    Forex Trading
    MQL 5
    Scripting
    MetaTrader 5
    MQL 4
    MetaTrader 4
    Electrical Engineering
    MATLAB
    C++
    Automation
    C#
    Python
  • $50 hourly
    High-level Programming (Python/C/C++/C#/PHP/Delphi/Pascal/Perl/VB) Low-level Programming (C/C++/Assembler) for different platforms: x86, x51, ARM, PIC16/18/24/32, AVR, STM8/32, MSP430 and many others FPGA Programming (Verilog/VHDL) Electronics Reverse engineering Security auditing of applications and scripts Hardware security Neural networks, OCR Large Data processing Web-applications Experience: over 20 years. PhD Degree in Computer Science. Any platforms. Any languages. We speak Digitally!
    vsuc_fltilesrefresh_TrophyIcon C
    C++
    Desktop Application
    PHP
    Assembler
    STM32
    Reverse Engineering
    Cryptography
    Neural Network
    Assembly Language
    Firmware
    PIC
    Python
  • $110 hourly
    I'm a native English speaker. I have over 20 years of experience working as an embedded engineer. I was one of the designers/architects of the Microchip PIC18 core. I have worked at Microchip as an engineer in test, design, silicon validation, and applications. I have a Bachelor of Science in Electrical Engineering from Arizona State University, where I graduated with cum laude honors. I'm an expert in both hardware and software, so I'm good at tracking down issues. You may think you have a software issue, but it's a hardware issue or vis-a-versa. I enjoy the challenge of finding and fixing problems. I'm motivated by success, and I enjoy what I do. Work with me, and you'll understand. I bill honestly, and sometimes I'm able to solve a problem in a couple hours. No client has ever disputed my hours worked! I've had a couple clients (2/35) who thought I should not be paid for meetings or getting started on a project. These types of situations don't work out, and it's unfortunate because I want to help them, but won't continue to work with them. The best time to involve me in your project is at the beginning. While I architect your system design, I'll make sure that it meets your performance goals, and will reduce component count and cost. For a successful product, it's important to have a robust hardware and software architecture. I solve problems inside a document, and avoid making multiple PCB revisions. Even though I am in Costa Rica, it is easy to ship development boards to me. My home lab includes: - 100 MHz 4-channel oscilloscope (siglent brand) - 8-channel logic analyzer (saleae - this is what I use to analyze digital communication signals: I2C, SPI, UART, ....) - DC supply - benchtop DMM with 1nA current resolution (great for battery-powered devices) - multiple programmers/debuggers (including PICKIT3). The above tools allow me to understand and properly fix problems. If I don't have the exact equipment you are using, I can often wire something up and be able to develop/test code. I may have a processor on hand that can run your code (higher chance if it is a Microchip microcontroller). I am an expert at using MPLAB/MPLABX, but I am also very comfortable in Code Composer Studio (TI MSP430 series), and Microchip/Atmel Studio. During my time on upwork, I have at times taken the role of tutor and mentor - evaluating projects to look for issues, Assisting with documentation reviews, and also documenting projects from scratch. I have a history of identifying design issues before PCB production, saving money and time. Here are some of the technologies that I've worked with successfully in the past: - capacitive touch sensing - USB communication - Bluetooth communication - graphic displays - LED color mixing (precise color control with no flickering)
    vsuc_fltilesrefresh_TrophyIcon C
    Microcontroller Programming
    Software Architecture & Design
    MSP430
    Microcontroller Design
    Embedded System
    PCB Design
    USB Electronics
    Hardware Prototyping
    PIC16
    Circuit Design
    Assembly Language
    Electrical Engineering
  • $60 hourly
    I am C and C++ expert in development for Linux, My main domain is computer networks: fast path, protocols. I am able to complete full cycle of development on server-side with high quality: from basic requirements to delivery with minimum supervision, including: requirement detailisation, planning, coding, debugging, deployment. I am strongest at: C,C++, Network Protocols, Python, Bash, Perl, TCL, Debugging, QT(PyQT), GNU tools, Golang Areas: Network protocols parsing and implementation Linux distributives customiztions Apache Modules Linux kernel modules Cloud computings Storage Systems
    vsuc_fltilesrefresh_TrophyIcon C
    Computer Network
    Blockchain
    Embedded Linux
    C++
  • $70 hourly
    ✅ TOP RATED embedded systems developer specialized in firmware development for BLE devices based on Nordic nRF5x SoC. Extensive experience working with wide range of platforms (including, but not limited to: Nordic nRF51, nRF52, nRF53, nRF9160, STM32Fxxx, STM32Lxxx, STM32Hxxx and STM8 series, Espressif ESP32 and ESP8266), as well as a variety of different peripherals such as sensors (motion, orientation, magnetism, infrared, capacitive, proximity, temperature, humidity, color, light etc.), displays, cameras, EEPROM and RAM memory chips, SD cards, 3G, 4G modems, GPS receivers and RF transceivers. 💎 Bluetooth Low Energy expert 💎, extremely familiar with nRF51/nRF52 SoCs, which have been my main focus over the past couple of years. Deep knowledge of these chipsets, along with BLE protocol in general, allows me to efficiently design and develop fully functioning firmware ensuring highest performance with minimized power consumption. Whether it’s a simple gadget or more complex IoT system, when it comes to BLE, I’m THE guy. Furthermore, I wrote my master’s thesis on BLE mesh protocol, also utilizing nRF52. 📩 Contact me with some information about your project and let’s discuss how I can help YOU bring your idea to life. I’m always open to new opportunities and ready to take on any challenge you throw at me.
    vsuc_fltilesrefresh_TrophyIcon C
    Firmware Programming
    Bluetooth LE
    FreeRTOS
    Microcontroller Programming
    nRF52832
    Embedded System
    Embedded C
    nRF51
    STM32
    nRF52
    ESP32
    BLE
  • $75 hourly
    EXPERIENCE/SKILLS --10+ years current experience in embedded systems design. -- Electronic system design - digital, analog, power, sensors. -- Specializing in ARM Cortex M based microcontroller systems. -- Printed circuit board design including thermal design, mechanical design, and regulatory compliance. -- Embedded software in C, C++. -- Motor control hardware and software specializing in BLDC motors. -- Bluetooth and wireless system design. -- Mechanical design. BACKGROUND -- Founder of EcoSpeed Inc, a developer of innovative electric drives for light vehicles -- 15 Years with Intel Corp -- PC Motherboard design, embedded microprocessor applications engineering, embedded service processors. -- Other -- client/server applications software; general applications programming; multimedia development.
    vsuc_fltilesrefresh_TrophyIcon C
    Mechanical Design
    PCB Design
    Connected Vehicles
    Digital Electronics
    Analog Electronics
    ARM Cortex-M
    C++
    Power Electronics
    Embedded System
  • $20 hourly
    I'm a programmer with 5+ years experience in Java, 4+ years experience in C/C++, 1+ year experience in C#, other relevant skills: HTML/PHP/Javascript/Assembler programming
    vsuc_fltilesrefresh_TrophyIcon C
    Power Query
    Microcontroller
    Excel VBA
    Python
    PHP
    JavaScript
    HTML
    Assembly Language
    SQL
    Java
    C++
    C#
  • $40 hourly
    As a passionate multidisciplinary Mechatronics Engineer and Certified Solidworks Professional, I have a deep knowledge in Mechanical Engineering, Electronic Design and Programming which makes me a perfect fit for a wide variety of projects such as those which have a high degree of complexity and demand expertise in non-related fields of engineering and Product Development. I have a 10+ years of professional experience bringing innovative product ideas to life and working on challenging projects in Mechanical Design, Robotics, Machine Design, Product design and development, Prototyping, 3D printing, Electrical & PCB design and Micro-controller programming. I am capable of taking your idea from sketches to an actual working prototype through detailed CAD, and manufacturing drawings making it all ready for production. This is my 10th year on Upwork and thanks to my passion and motivation, I'm always eager not only to providing the best quality services, but also committed to living the dream with you by making your project a real success !
    vsuc_fltilesrefresh_TrophyIcon C
    Product Design
    Mechanical Design
    Drafting
    3D Design
    Mechatronics
    Engineering Design
    Robotics
    Machine Design
    Design for Manufacturing
    Mechanical Engineering
    CAD
    Product Development
    SolidWorks
    3D Printing
  • $100 hourly
    Worked for Touchstone, Symantec, Acronis. Let my 20 years of software engineering experience work for you! ✅ Strong knowledge in C/C++, assembler x86/x64, STL, Boost; ✅ Author of a number of DirectShow codecs, renderers, muxer and transform filters; ✅ Author of a number of Media Foundation (MF) components; ✅ Author of a number of kernel-mode drivers for Windows; ✅ Reverse engineering skills, low-level programming, disassembling; ✅ DLL injection, patching code on-the-fly, creating self-modifying code; ✅ Creating high-performance network services / win32 services; ✅ Creating lexical analyzers and grammar parsers on Flex and Bizon; ✅ AMQP clients, RabbitMQ / zeromq (0mq) Projects in which I participated: ************************************** 📝 Acronis Backup Cloud, from 2014 to 2017: backup of data on-premises, in remote locations, in private and public clouds. Lead Software Architect. Infrastructure team. 📝 REX video surveillance system (Reflexor Software), from 2013 to 2014: VMS system (video monitoring system). Lead Software Architect. Author of Win32 services, video player plugin for browser, IP camera discovery bots, WEB camera recorders and translation over the network 📝 Ewclid CCTV (ComCom Electronics), from 2004 to 2013: professional video surveillance system. Lead Software Architect, author of a number of DirectShow filters, network streaming protocol, security subsystem 📝 PC diagnostic utilities PCIScope (PCI viewer), ACPIScope (ACPI viewer), DMIScope (DMI viewer), USB enablers for UHCI and OHCI controllers (APSoft), from 2002 to 2004: diagnostic software for Window 2000/XP. Author of idea. Author of kernel-mode drivers. 📝 EasiDock 1000EV/5000 driver pack (Mobility Electronics), from 2000 to 2002: devices based on alternative to PCI-E technology - SplitBridge technology. Author of kernel-mode drivers for COM/LPT/PS2 ports and network card (Window 98/ME/2000/XP) 📝 CheckIt by TouchStone Software, from 1998 to 2000: diagnostic software package helps users identify the cause of PC problems and make repairs. Author of driver for performing hardware tests at run time 📝 CardWare for Windows NT 4.0 (Award Software), from 1995 to 1998: Complete solution for hot-swap support of PC Cards. Developmnebt of Kernel mode drivers. Author of PCDrvM driver which allows hot-swapping of network and SCSI PC cards
    vsuc_fltilesrefresh_TrophyIcon C
    Video Stream
    Driver Development
    macOS
    FFmpeg
    Standard Template Library
    Objective-C
    Windows App Development
    Microsoft Component Object Model
    X86 Assembly Language
    Python
    Golang
    C#
    DirectShow
    C++
  • $40 hourly
    I am an embedded systems developer focused on firmware, hardware, and prototypes development. I have a master's degree in Mechatronics and a post-graduation in Embedded System Development. Solid experience in troubleshooting customer problems and provide solutions My focus is: ----Electronic Schematic design ----C / C++ Firmware ( STM32, Raspberry, ESP32, and Arduino ) ----Embedded firmware & RTOS experience ----Experience with serial communications (SPI, I2C, RS232, RS485, RS232, CAN), wired & wireless technologies (TCP/IP, UDP, Bluetooth, Ethernet, USB), and peripherals (UARTS, PWM, I2C, ADC, SAI). ----Experience in electro-mechanical design (motor control, solenoids, relays, stepper motor, and sensors). ----Linear and Nonlinear System Control ----PCB design.
    vsuc_fltilesrefresh_TrophyIcon C
    Control Engineering
    3D Printing
    Schematic
    PCB Design
    Altium Designer
    KiCad
    CAN Bus
    Embedded C
    ESP32
    ARM Microcontroller
    Firmware
    C++
    Python
    STM32
    Microcontroller Programming
  • $55 hourly
    10 + years of experience, deep knowledge of AOSP, aosp, adb and android emulator hacking, deniable encryption for android such as mobiflage Crossplatform software solutions: C, C++, Qt, ... languages: java, C, C++, database engines: PostgreSQL, MySQL, SQLite, network: xmpp, rtp,, http/https, tcp/ip, sockets, ... etc. platforms: Linux, Windows, MacOS (Qt only), android (Qt, android SDK) multimedia: gstreamer, libgstreamer-devel, ffmpeg, libavformat, libavcodec, opencv, v4l2 etc etc linux system programming. Cryptography openssl, qca, sqlcipher, gpgme etc Deep understanding of android programming + a lot of technologies
    vsuc_fltilesrefresh_TrophyIcon C
    GStreamer
    Driver Development
    Embedded System
    Firmware
    Raspberry Pi
    Operating Systems Development
    FFmpeg
    QML
    Android App Development
    VoIP Software
    Multithreaded Programming
    Python
    C++
    Qt Framework
    Java
  • $35 hourly
    * Proficient in: C/C++. * Excellent problem solving skills, have a strong background in operating system integration and development. * Solid understanding of OOP’s concepts, design patterns, data structures and algorithms. * Knowledge of advanced level programming in C/C++ including multi-threading, multiprocessing, concurrency, caching, message queue and memory management * Experience working with TCP/IP on various platforms. * Expertise in database indexes, database partitioning, partitioned indexes and analyzing query explain plan. * Familiarity with scripting, build, packaging, and software release engineering skills including RPM, Debian. * Outstanding testing and debugging skills.
    vsuc_fltilesrefresh_TrophyIcon C
    Golang
    Bash Programming
    Socket Programming
    Automation
    Unix
    C++
    Application Installer
    C#
    Perl
    Microsoft Visual C++
    Desktop Application
    Objective-C
  • $25 hourly
    Provides Internet of thing solution, connecting sensors, sending the sensor data to cloud/mserver, creating IoT platforms, dashboards for visualizing, analyzing and triggering actions. Hardware platforms used - Arduino, Raspberry Pi, ESP(esp8266,esp32) for wifi,NRF52,NRF51(Nordic Semiconductor) for Ble. Sensors Used - IMU sensors (accelerometer, gyrometer, magnetometer), environmental sensors (Thermocouple, Dht22,Lm35,DS18B20,BMP280, rain sensors, soil moisture sensor, ambient light ,LDR), Proximity sensors(Ultrasonic, IR, PIR), Detection sensors (contact, level, hall effect, limit switches), Chemical sensors and GPS wireless communication to local device using Wifi, BLE, Lora, Zigbee, Sigfox,Cellular(GSm/Gprs),and Ethernet connections. Cloud/server communication protocol :-HTTP, HTTPS, MQTT, MQTTS, TCP, TCP with ssl Mobile application - provide mobile application(android and iOS) with IOT system to visulize data or adding data using cloud or private server IoT dashboard using thingsboard.io
    vsuc_fltilesrefresh_TrophyIcon C
    Internet of Things Solutions Design
    Internet of Things Software
    Industrial Internet of Things
    Embedded C
    WiFi
    iBeacon
    C++
    Firmware Programming
    Arduino
    Core Bluetooth
    ESP8266
    Internet of Things
  • $30 hourly
    “I’m a developer with experience in building programs for small and medium sized businesses. Whether you’re trying to win work or resolve any program! I’m experienced in Java, C, C++, C#, Python and MATLAB. I’ll fully project manage your brief from start to finish Regular communication is really important to me, so let’s keep in touch!”
    vsuc_fltilesrefresh_TrophyIcon C
    Spreadsheet Software
    Google Sheets
    Macro Programming
    Automation
    Microsoft Excel
    Prolog
    Database
    Python
    NoSQL Database
    SQL
    MATLAB
    C++
    C#
    Java
  • $110 hourly
    Accomplished engineer with extensive experience in full life-cycle product design, development and production. Created consumer products that sold more than 250,000 units. GPS (Global Positioning Systems) expert with 15 years of experience. Over 15 years of experience developing desktop and embedded applications in C/C++. Strengths include: Digital Electronic Design Object Oriented Development GPS Product Design Embedded System Design Multithreaded Programming Technical Skills Languages: C/C++, Java, FORTRAN, PHP, JavaScript, SQL, XML, HTML APIs: Win32 SDK, MFC, Qt, J2ME, WinCE Processors: ARM7, ARM9, PIC, Atmel, 8051, ST Cartesio Interface: USB, RS-232, I2C, I2S, SPI, CAN, Bluetooth, ZigBee Sensors: MEMS accelerometers, gyros, pressure, fluid tilt, magnetic compass Tools: VisualStudio, CrossWorks, CodeWarrior, MPLAB, AVR Studio, OrCAD Capture CIS, Allegro PCB
    vsuc_fltilesrefresh_TrophyIcon C
    Linux
    PHP
    SQL
    HTML
    Qt Framework
    Driver Development
    Firmware Programming
    STM32
    Embedded C
    Embedded System
    Firmware
    Microcontroller Programming
    C++
    JavaScript
  • $50 hourly
    Just tell me your engineering problem! I will provide innovative solutions. I will architect and design a system for it. I will implement the design. Do it with high quality. I will test it in every detail before delivery. Do all these methodologically and well documented. And, make you happy :) My preferred way of working is having clear and documented communication of requirements, expectations, risks, project plans in the beginning. Following a handshake on these, the project will commence with frequent updates & bi-directional feedback & staged approvals on every step in order to keep in track and ensure both requirements compliance and delivery on schedule. Professional Knowledge:. Methodology & Standards:: * SDLC * V-Model * Agile * TDD * ASPICE * ISO 26262 * ISO 16750 Languages & Frameworks & Libraries: * C / Embedded C * Java, Vertx, Maven, * Android * Arduino IDE & Tools: * Keil uVision * IAR embedded workbench for ARM & STM8 * Silabs Simplicity Studio * Eclipse * CLion * IntelliJ * Android Studio * STM32 CubeMx * Wireshark * RealTerm Requirements & Design Tools: * ReqIF Studio, Word, Excel, UML, Use Case, User Scenarios * IAR Visual State * itemis YAKINDU / CREATE State Chart Modeler * Matlab and several Toolboxes * Draw.io * Visio * Visual Paradigm * PSpice: LTSpice * Schematic Capture & PCB: Easy PC, Altium * Bizagi - BPMN Version Control & Issue Tracking & DevOps & Quality: * CVS * SVN * GIT / GitHub / BitBucket / GitLab * Atlassian Jira, Confluence, Bitbucket, Bamboo * SonarQube Microcontrollers: * Arm Cortex M * STM32 * STM8 * NXP LPC Series * MPC5554 * ADI Blackfin * 8051 / EFM8 Series * AVR * PIC SDK & Libraries & Cores: * STM HAL (Hardware Abstraction Layer) * LwIP RTOS: * uCOS-II * FreeRTOS * Keil RTX51 Tiny Protocols: * Ethernet * TCP & UDP / IP * SSL / TLS * HTTP, HTTPS * MQTT * GRPC * BLE * REST / SOAP * NMEA, GPS * API Interfaces: * CANBUS * UART * RS232 / RS485 / RS422 * I2C * SPI * 1-Wire * I2S Techniques & Services: * Embedded and Real-Time Systems Design * Bare-metal & Real-time Firmware Development * Object Oriented Design & Implementation * Unix / Linux System Programming * Parallel Programming: Multi Thread & Multi Process * Sockets Programming * State Based Design & Implementation * Non-Blocking Programming * Async Programming * Reactive Programming * Debugging * Cryptography * OWASP * Architectural Patterns: Master & Client, Layered, MVC * Design Patterns Hardware: * Efficient use of Oscilloscope, Frequency Generator, Multimeter, Logic Analyzer, DAQ * EEPROM & FLASH Memory * TFT LCD Displays * Dot Matrix & Segment Displays * Sensors & Interfacing * Accelerometer, Gyroscope, IMU * FPGA & CPLD, VHDL
    vsuc_fltilesrefresh_TrophyIcon C
    Software Architecture & Design
    ARM Cortex-M
    Cryptography
    Java
    Schematic
    FreeRTOS
    Software Development
    Sensor
    BLE
    Embedded System
    Real-Time Operating System
    Embedded C
    ESP32
    STM32
  • $50 hourly
    Worked with major industry leaders and proved as a creative visionary responsible for building powerful, innovative solutions through application of DSP knowledge and Embedded System expertise. • Conceived and productized SigmaStudio for SHARC - graphical programming support for SHARC processors • Architected, executed and productized 14 fixed-point Audio CODECs, 2 Image CODECs. • Designed more than 30 audio and image post processing, control system and communication algorithms. • Developed and supported software algorithm and system components for digital Radio. • Developed, integrated and participated in field trials of 4 major Automotive Amplifiers - Audio subsystem. • Proved and inventor and technologist responsible for managing high-energy development teams. • Awarded 2 US patents and 2 innovations disclosure in wide area of technologies. • Developed 12 Audio/Image CODECS, 10 Audio based systems, several audio post processing algorithms.
    vsuc_fltilesrefresh_TrophyIcon C
    Audio Engineering
    Windows Presentation Foundation
    C#
    Adaptive Algorithm
    Algorithm Development
    Audio Engineering
    Digital Signal Processing
    MATLAB
  • $130 hourly
    I provide solutions in the field of video streaming, webinars, video chats, video recording and post-processing, collaging, video editors and online video streaming processors, as well as screen capture/sharing, remote control, application sharing and whiteboard applications for both web, mobile, and desktop downloadable apps. With 18 years of software engineering experience and a large collection of ready and owned, available for adaptation and integration source code, i provide cost-efficient solutions for a wide range of customer cases. This made me a top #1 Upwork contractor in European Union(*). Prime example of my work is WebinarHD - a popular webinar platform wholly built by me and my team, employing Single Stream technology which combines all streams comprising the webinar broadcast such as webcams, screen shares, documents, live streams, as well as audio streams from mics, into a single composite stream to broadcast to attendees saving bandwidth and improving quality and synchronisation. Big success in sales, in active use by over 1100 webinar hosts, running regular webinars on every topic from marketing to religion. Also, i have a huge experience building networking-intensive applications. A lot of experience with pubnub, rtmp/rtmfp, webrtc, building custom binary protocols and implementations (both TCP and UDP based, for example: hand-hacking DNS requests). My customers include Cedexis and Pubnub. Some of my less-recent and somewhat obsolete areas of knowledge are the Adobe stack (Actionscript 2/3) and low-level undocumented file format analysis and synthesis: 7 years as a head of all development for OfficeRecovery, inc. (now part of Axcient) (*) Based on total amount earned. Excludes contractors staffed by agencies and contractors with profiles hidden from public view.
    vsuc_fltilesrefresh_TrophyIcon C
    Kurento
    FFmpeg
    NGINX
    Video Stream
    Wowza Media Server
    Node.js
    WebRTC
    AngularJS
    JavaScript
  • $60 hourly
    My core strength is native mobile application development with past experience in Java EE. Mobile technologies: ▪ Java, Kotlin ▪ JNI, C, C++ ▪ iOS SDK ▪ Android SDK / NDK ▪ Blackberry JDE / NDK / Cascades ▪ Windows Phone SDK / C# ▪ libusb, libssl, libcrypt, libzip ▪ GStreamer SDK Desktop technologies: ▪ SWING, Qt, WinAPI Server side technologies: ▪ Java 1.7 ▪ Spring 3.x, OSGi, SOAP, REST ▪ XML / XSD / XSLT / WSDL / FastInfoSet ▪ Ant+ivy, Gradle, Jenkins ▪ golang My core strength is native / cross mobile application development and games for both iOS, Android, Windows and BB platforms.
    vsuc_fltilesrefresh_TrophyIcon C
    Qt Framework
    Linux
    Mac OS App Development
    macOS
    Rust
    Java
    C++
    Android App Development
    Swift
    iOS Development
  • $50 hourly
    M. Sc. in Computer science with a mention in image processing and pattern recognition. Im a Computer vision specialist with over 10 years of hands on experience on a variety of computer vision applications. I have strong background in maths and computer science, research skills in computer vision, senior programmer in C/C++, Matlab and python. On the past years i focused on the development of computer vision solutions for real world problems involving extensive research and ground breaking solutions. I have over 10 years experience working with OpenCV, TensorFlow, DeepStream and porting image processing solutions to mobile platforms for real time processing. Im very interested in the research and development of a new challenge computer vision tasks including pattern recognition, machine learning and image analysis. I am seeking opportunities to develop and maintain complete computer vision applications, whatever standalone or back-ends for smart websites or light weight solutions for mobile applications.
    vsuc_fltilesrefresh_TrophyIcon C
    Python
    Deep Neural Network
    Artificial Neural Network
    Video Processing
    Deep Learning
    Java
    Android App Development
    MATLAB
    Image Processing
    C++
    Machine Learning
    OpenCV
    Computer Vision
  • $112 hourly
    I am experienced Linux Embedded Programmer, Linux/ARM BSP/firmware engineer (16+ years). Easily can adapt to new environments, excellent team-worker, especially in software development. Seven years of experience in 4G – next generation wireless development. Experience with Agile methodologies of product development. Experience with WiMAX and LTE protocols stacks, LTE EPC protocols, LTE eNB - EPC protocols, various EPC and EPC emulation software (vendors: Aricent, PolarisNetworks, Radisys/Trillium). Solid experience in NTP/SNTP/PTPv2 (IEEE 1588v2) network time synchronization protocols. Leaded development of complete 4G solution(MaxBridge) from start to completion, final product deployed in four countries. Experienced in Linux kernel device drivers/4G MAC-level programming and code optimization. Experienced in MAC-PHY communication. 4G QoS implementation and resource optimization. Experience in traffic convergence/encapsulation. Extensive experience in installation and administration of most common network OS and network security. Solid experience in building Video surveillance and event registration with precision time keeping devices, BSP optimization for AI on the Edge. Solid experience with BSP/kernel/drivers development/optimization for the small Linux SoC boards, such as Raspberry PI, Nano Pi etc. Can provide consulting service on remote work organization, DevOps tasks, moving infrastructure to a cloud, company email solutions.
    vsuc_fltilesrefresh_TrophyIcon C
    Postfix SMTP Server
    Adobe Photoshop
    Product Photography
    Firmware Programming
    Firmware
    Kernel
    Driver Development
    DNS
    Embedded System
    System Programming
    Embedded Linux
    Wireless Communication
    System Analysis
    Email Deliverability
  • $100 hourly
    1. Coding MT4, MT5, MQL4, MQL5, MetaTrader, Expert Advisor (EA), Indicator, Forex, Futures, Stocks, Indices. 2. 22 years of exceptional programming. 3. 15 years MetaTrader specialist. 4. A Bachelor of Science in Electronics & Computer Engineering. 5. 13 years of 5-Star reviews on Upwork (Previously Elance+Odesk). 6. 'Recognition Award' for Online Excellence. 7. Top Rated. Don't delay; Hire Niyi!
    vsuc_fltilesrefresh_TrophyIcon C
    Forex Trading
    MetaTrader 5
    MQL 5
    MetaTrader 4
    MQL 4
  • $40 hourly
    I am an expert Linux Embedded Programmer, Linux/ARM BSP/firmware engineer (8+ years). ◉ Prototype Development kit: Raspberry Pi, Beaglebone, IMX6 and IMX8, Quectel AG35 EVB, NanoPi Air, OrangePi Win, ESP32, Arduino UNO R3, STM32 ◉ Have solid knowledge of the standard interface such as I2C, SPI, UART, CAN, RS232, USB Host/Device, Ethernet, SDCard ◉ IoT devices with wireless connectivity such as LTE, BLE, WIFI, GPS. ◉ Good experienced with Audio Codec chips: TI(TLV320AIC3109), ADAU1961WBCPZ ◉ Solid experience with U-boot porting, BSP, Linux kernel, Device drivers development/optimization for the small Linux SoC boards. ◉ Yocto, OpenWRT, Buildroot ◉ OTA: swupdate, mender, rauc ◉ Cybersecurity ◉ Chipset: Allwinner A64, Allwinner H3, NXP i.MX6, Quectel AG35, Qualcomm MDM9x07 ◉ Language: C/C++, Python, Bash scripting, Golang ◉ Framework: gstreamer, boost Our key goal is to deliver high-class products and services to our clients. A combination of long-term experience, and perfect communication allows us to work with clients all over the world.
    vsuc_fltilesrefresh_TrophyIcon C
    Blockchain
    Bash
    Kernel
    Blockchain Development
    Automotive
    Linux
    Embedded Application
    OpenWrt
    Driver Development
    Bluetooth
    Embedded Linux
    Sensor
    Embedded C
    C++
  • $78 hourly
    I am an electrical and software design engineer with experience in hardware, software (C/C++/Embedded C), and embedded design. My experience in hardware design includes PCB design, from schematic capture and layout to assembly and testing, along with design for manufacture (both small scale prototyping, and oversight of large-scale production runs through contract manufacturers). I have designed and worked with single layer, dual-layer, and multi-layer PCBs and have experience in designing circuit boards for high power, high voltage, and high-speed applications. My software and embedded systems design expertise includes programming with various microcontroller platforms (Atmel, SiLabs, Cypress, Microchip, etc.) with programming competencies in C/C++, C#, VB.NET, Python, and LUA. I am the creator and manager of an open source C++11 project on GitHub called Omni-FEM. The program utilizes OpenGL v2.1, wxWidgets v3.10, Qt5.0, an open source mesher called GMSH, and an open source data visualizer called ParaView. I am currently staffed at the Resonance Group agency where I have designed hardware and software for data acquisition applications. My previous work includes PLC design at DTE Energy, designing a PCB motor controller at Dana Holding Corporation, and creating system level documentation at UTC Aerospace (formerly Hamilton Sundstrand). I always like a new challenge and am looking to broaden my horizons. If you would like to know more about my skill set and how I can fit into your project, feel free to contact me.
    vsuc_fltilesrefresh_TrophyIcon C
    Embedded System
    Raspberry Pi
    Qt Framework
    PCB Design
    Finite Element Analysis
    Agile Software Development
    Electrical Engineering
    Embedded C
    Embedded Linux
    Circuit Design
    C++
    C#
  • $62 hourly
    I am Russian who moved to India due to complete denial of Russian politics. Kernel development (primarily Windows) for 10+ years in an international software product company and freelancer. Experienced team leader, and (failed) tech startup founder. I prefer to work independently and in direct contact with primary project stakeholders. Picks from my portfolio: 1. Paragon GPT Loader - a technology to overcome the limitations of Windows XP. 2. Migrate2Iaas Cloudscraper - a tool to migrate existing servers to clouds like AWS 3. Kinoni EpocCam (now a part of Corsair) - a set of drivers to use a phone as webcam. Strong points: 1. Excellent troubleshooting skills. I am known to fix the most mysterious bugs. 2. Ultra-fast dev to prototype solutions. PoC in no time. 3. Strong research and modeling skills. I like to investigate things like performance bottlenecks, the internals of systems, and so on. Other traits: 1. Communicative 2. Honest 3. Collaborative
    vsuc_fltilesrefresh_TrophyIcon C
    Driver Development
    Windows App Development
    Windows API Development
    Kernel
    Python
    Microsoft Windows
    C++
    C#
  • $70 hourly
    I am an all round software developer, programmer and problem solver. My current focus is on code optimisations for speed improvements, machine learning and Python automation. My main skills are: Python programming (general scripts and task automation), website development (using PHP/HTML/CSS/Javascript) and general algorithmic problem solving. I'm also able to do a variety of machine learning and data science tasks. I have experience using C, C++, CUDA, Python, PHP, Javascript and Java.
    vsuc_fltilesrefresh_TrophyIcon C
    LaTeX
    Performance Optimization
    Computer Science
    CUDA
    Python
    Machine Learning
    C++
  • Want to browse more freelancers?
    Sign up

How it works

1. Post a job (it’s free)

Tell us what you need. Provide as many details as possible, but don’t worry about getting it perfect.

2. Talent comes to you

Get qualified proposals within 24 hours, and meet the candidates you’re excited about. Hire as soon as you’re ready.

3. Collaborate easily

Use Upwork to chat or video call, share files, and track project progress right from the app.

4. Payment simplified

Receive invoices and make payments through Upwork. Only pay for work you authorize.

Trusted by

How to hire a C# developer

How to hire a C# developer

Hiring a C# developer to complete your development project can be complex. You probably have an idea, but you can’t articulate it in “coder speak.” You don’t need to communicate your idea in code, but you do need to describe your idea in detail so that the developer can get a clear idea of what you are looking for.

Most new development projects are produced in stages, and some of these stages include design and brainstorming. You can document your idea but a project manager can also help you with this process. The developer will need to create a scope for the project, and this scope defines what will be done for the quoted price. It can also help define what you can expect for your budget.

How to write a job description for a C# developer

With all of these requirements in mind, it’s time to write your project description. When you create a description, you want to include as much detail as possible, but you want to do it in the most succinct way possible. Your project description should describe your idea and requirements, but you will also need to interview a programmer to accurately assess if the coder is the perfect fit.

The way you create a project description will determine the quality of C# programmer you attract. Better descriptions attract better programmers because they can more accurately determine what you are looking for and give you a cost estimate.

Below is a sample project description that you can use as a template. Expand and customize it to fit your own project.

Title: C# Developer Need for a New Web Application

Description: We need a C# developer to design and program a custom dashboard for our sales team. We have ideas and documentation included in this job post, but we need a developer to flesh out the design into a workable web-based program that our sales team can use to track leads.

The right developer will provide us with testing and deployment solutions that we can host on our cloud server. All source code, assets, databases, and design will be transferred after the project is complete. We expect the project to be divided into phases where the first phase will be to flesh out the design and assets. The second phase is the programming, and the final phase is testing.

The estimated duration of this project is three months. We need the completed app by XYZ date.

Notice that the description describes what the application is for, the platform where it will be hosted, and a few requirements for deadlines and assets. This will elicit proposals from developers, which you can then use to find the right price and coder for your project.

C# FAQs

What is C#?

The C# programming language is both elegant and type-safe, it’s object-oriented, and it’s used to create a number of slick, robust applications that run on the .NET Framework and beyond. Note: C# was developed as a direct competitor to Java, so it’s more likely developers skilled with one or the other can more easily pick up the alternative.

Advantages of the C# Programming Language

  • It’s an object-oriented language, which is a style of programming that carries a lot of its own advantages.
  • Productivity and versatility
  • The most powerful programming language for the .NET Framework, with the help of Visual C++ and a redesigned common language runtime (CLR), a virtual machine component that executes all programs written for .NET
  • Designed by Microsoft, so there’s plenty of documentation and support
  • Great for developing Windows apps (desktop or mobile)
  • Its core syntax is similar to other C-style languages (C, C++, and Java), making it pretty easy to pick up and work productively in with a working knowledge of those languages.
  • C# supports connections to various types of databases, from SQLite, MySQL, Microsoft SQL Server (MSSQL), Oracle, etc.

Why hire a C# Developer?

Because C# spans multiple types of platforms, C# developers can create almost any type of app. Whether you need a cloud app to run an API, a desktop app for your users, or even a mobile app specific to Windows phones, a C# developer can help you. Are you creating software or applications that run on Microsoft’s .NET Framework? There’s one language your programmer definitely needs to know: C#.

Backend developers are also necessary when you need to engineer a new application. They help you decide on the technology to use, and they help determine any APIs that you’ll need. They work directly with a database developer (if you have one), but they usually work with database solutions as well to give you a full solution that delivers content to your front end.

Common C# Mistakes

1. Iterating through values instead of using LINQ

In almost any application, you’ll eventually need to enumerate values and store them in a List or a Collection. You could end up having to iterate through thousands of records. Consider pulling a list of customers, for example. If you have 100,000 customers, iterating through each of them just to find a specific data set isn’t efficient. Instead of using a foreach or for loop, use LINQ (Language-Integrated Query), which is an integrated .NET feature that’s designed to make it easier to query objects such as collections and lists.

2. Using “var” needlessly when you know the data type

With the introduction of MVC-style (model-view-controller) C# coding, many developers turned to LINQ to retrieve a collection of values. In many instances, you don’t always know the result, and “var” helps you to avoid errors from your code if a null or a data type that you weren’t expecting is returned.

However, you should still define a data type if you do know what it will be. This helps with readability, so other coders can work with your code and maintain it without struggling to understand logic and output.

3. Using public class variables instead of properties

Properties are commonplace for object-oriented programming (OOP), but why use them when you can just make all of your class variables public? One answer: You can control who can set a property with OOP properties, but you can’t with a public variable.

Take a look at this code:

public decimal Total {get; protected set;}

In this statement, only the class itself or derived classes can set the total. Consider an Order class that calculates a total for a customer’s order. You don’t want any external class to change the order, but you do want the Order class and any derived classes to add or subtract values stored by the Total variable. If you simply make the variable public, any class can change an order total without any restrictions.

4. Not disposing of objects

Memory leaks (also called resource leaks) are a real problem for any application. C# provides you with a convenient way to call the Dispose method after you’re finished with an object, so you don’t even need to remember to use it. The “using” statement will dispose of an object and avoid troublesome memory leaks.

5. Using “” instead of string.empty

This is a minor annoyance for developers, and is more about readability and code maintenance than efficiency. The performance difference is minor, but it’s difficult to read and can easily be overlooked as something else. For instance, “” can be overlooked and read as “ “, which is an entirely different value.

Instead of using “” to initialize a string, use string.Empty. This value initializes your string and can’t be accidentally read as a different value.

6. Using generic try-catch exceptions

Many new coders use the generic Exception class instead of specifying the exception that was thrown. All other C# classes are derived from the general Exception class, and you can create custom exception classes that inherit the general class. However, you should always use specific exceptions.

This type of try-catch design specifies the exception that is thrown, so you can more easily log errors, debug, and troubleshoot. You can still use the general Exception class for unknown possible exceptions, but it should be used sparingly.

7. Wrapping entire methods in one try-catch block

We showed you a simple try-catch block in the section above, encapsulating only one statement with the exception handler. A common mistake many new developers make is to wrap a try-catch block around an entire method.

You should use try-catch blocks in logic sections of your code. For instance, don’t use one block when you have a method that reads a file, stores content in a variable, and then sends the data to a database. Break up your blocks to handle the reading of the file, the loops that store data, and then the section that uploads the information to a database.

8. Using string concatenation incorrectly

In older languages, it was common just to use the plus sign to concatenate strings. The problem with this is that it’s an inefficient way to concatenate strings, so Microsoft introduced StringBuilder to help with memory and performance issues.

Use StringBuilder whenever you want to concatenate strings or manipulate them throughout your code. You don’t always need to use them for simple, basic strings, but it’s useful when you need to take a list of values such as those from a file and put them together to create one input that you then output to the user, or store to your database.

9. Forgetting to log errors

What happens when a user calls you to say that the application is throwing an error during form submission? How do you know what input the user is using? How do you know if it’s the form submission or some other event? That’s what logs are for. You should always log errors using your exception standards (mentioned earlier) and either a third-party logging tool or a customized one. There are plenty of third-party tools that give you in-depth analysis, so it’s often easier to use a pre-existing, reputable application rather than build your own from the ground up.

C# vs. C++

At a very basic level, both C# and C++ have similar code. C# is much newer to the game, however. It was introduced by Microsoft as a Java competitor in 2000. C++ has been a foundation language for many other languages, and it was introduced way back in the 1980s. Consequently, C++ has a much more prominent appearance in applications.

C# vs. C++: Similarities

Both C++ and C# are object-oriented languages, although C++ is considered a harder language to work with. Both of them can be used in web and desktop applications, but C# is much more popular now for both applications. C++ is considered a more prestigious language used for applications such as games, operating systems, and very low-level programming that requires better control of hardware on the PC or server.

C# is a C-based language, so it makes the two syntaxes similar. The developer uses brackets to segment coding structures, and the C-style object-oriented code that includes dependencies and libraries are very similar. C# handles much of the overhead that must be considered in a C++ program. This is just one reason C++ is considered a more difficult language to learn in the development world.

Because C# was developed to compete against Java, it’s much more similar to the Java language, but it still has similarities with C++.

C# and C++: Differences

The similarities of C++ and C# are few because the languages are much more different than they are similar. Although the syntax is similar, don’t assume that the languages are similar behind the scenes.

A list of differences between the two languages include:

  • Size of binaries: We mentioned that the two languages are compiled languages that turn your code into binary files. C# has a lot of overhead and libraries included before it will compile. C++ is much more lightweight. Therefore, C# binaries are much larger after it compiles compared to C++.
  • Performance: C++ is widely used when higher level languages are not efficient. C++ code is much faster than C# code, which makes it a better solution for applications where performance is important. For instance, your network analysis software might need some C++ code, but performance is probably not a huge issue for a standard word processing application coded in C#.
  • Garbage collection: With C#, you don’t have to worry much about garbage collection. With C++, you have no automatic garbage collection and must allocate and deallocate memory for your objects.
  • Platform target: C# programs are usually targeted towards the Windows operating system, although Microsoft is working towards cross-platform support for C# programs. With C++, you can code for any platform including Mac, Windows and Linux.
  • Types of projects: C++ programmers generally focus on applications that work directly with hardware or that need better performance than other languages can offer. C++ programs include server-side applications, networking, gaming, and even device drivers for your PC. C# is generally used for web, mobile and desktop applications.
  • Compiler warnings: C++ will let you do almost anything provided the syntax is right. It’s a flexible language, but you can cause some real damage to the operating system. C# is much more protected and gives you compiler errors and warnings without allowing you to make some serious errors that C++ will allow.

Which language should you use for your project?

If your application is a simple web or desktop application, most developers will urge you to work with C# if it’s their language of choice. If you want an application that works directly with computer hardware or deals with application development that C# is not efficient with, your developer will likely urge you to go with C++. A general rule of thumb is that web and desktop development is done using a higher level language such as C#.

C++ is a lot more well-rounded in terms of platforms and target applications, but the developer pool is more limited since it’s not as popular for web and mobile applications. If your project is focused on extremely low-level processing, then you may need a C++ developer. You can also use C++ to create efficient, fast applications for server-side software.

View less
Schedule a call