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
  • $150 hourly
    A Top-Rated, Expert-Vetted VoIP/Software engineer with over 20 years of experience. My experience ranges from Asterisk/FreePBX phone systems, SMS messaging, Linux operating systems, to network administration. I believe you deserve a more professional, reliable, and personalized business experience, and I bring that mindset to every project. Whether I’m developing top-secret code for Lockheed Martin, or AI telephone agents for Nomo, or creating privacy-first communications for Mecca Hosting, Inc, or designing secure, high availability Asterisk systems for TeleConnx Inc., or handling difficult troubleshooting tasks, I always commit myself to the same standard: creative, client-first solutions and efficient, high-quality work, completed in a fraction of the time. I have a passion for transforming mundane phone interactions into exciting customer experiences, and I lean on decades of experience to create solutions that others would find impossible. In short, I can make your telephone system do pretty much anything, including turning on your coffee maker in the morning. I look forward to working with you!
    vsuc_fltilesrefresh_TrophyIcon C
    FreePBX
    MySQL
    Kamailio
    Linux System Administration
    Amazon Web Services
    VoIP Administration
    Asterisk
    API Development
    VoIP Software
    LAMP Administration
    Session Initiation Protocol
    Linux
    VoIP
    Business with 10-99 Employees
  • $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
    FreeRTOS
    Linux
    Firmware Programming
    PCB Design
    Git
    Embedded Application
    Arduino Firmware
    ESP32
    C++
    Python
    Embedded System
    Raspberry Pi
    STM32
    Real-Time Operating System
  • $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
  • $35 hourly
    An experienced, self-motivated software and electronics developer with a proven record of producing successful and reliable products. Widely traveled with plenty of customer-facing experience. Specialties: Embedded programming in C, C++ and Assembler (30+ yrs). PC Programming in C, C++, Delphi, VB, SQL (25+ yrs) Mobile device programming in Java (Android Studio), B4A (7 yrs) (Anywhere Systems) and C++ (AppMethod) Electronic Design (30+ yrs). PCB Design Customer liaison (both Technical and Sales support) Full Member, IEEE Technologies: STM32 (ARM Cortex), PIC, PSoC, Atmel, Silabs, Arduino, ESP32, BLE, Bluetooth, Iridium, GSM, LoRa, Modems, MEMS, Vending Machines, Card Readers, Coin and Note Acceptors. Low Power (battery) Programming Bare Metal and RTOS. Use of IAR, STM, Silabs, Atollic, Keil, Atmel, Arduino toolchains.
    vsuc_fltilesrefresh_TrophyIcon C
    Internet of Things Solutions Design
    Software Debugging
    PIC
    Motion Sensor
    Bluetooth
    Microcontroller Programming
    STM32
    WiFi
    Firmware
    Embedded C
    Real-Time Operating System
    Embedded System
    C++
  • $45 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
    Bash Programming
    Socket Programming
    Automation
    Unix
    Database
    TCP/IP
    Rust
    Application Installer
    C#
    Perl
    Microsoft Visual C++
    Desktop Application
    Qt Framework
    C++
  • $30 hourly
    I am an Embedded Programmer, Linux/ARM BSP/firmware engineer (10+ years). ◉ Prototype Development kit: Raspberry Pi, Beaglebone, IMX6 and IMX8, Quectel AG35 EVB, NanoPi Air, OrangePi Win, ESP32, Arduino UNO R3, STM32, Variscite VAR-SOM-MX93 ◉ 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, Lora(RFM95CW) ◉ Modem Quectel: Automotive AG35, 5G RM520N ◉ 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, Allwinner T113, NXP i.MX6, i.MX8, Quectel AG35, Qualcomm MDM9x07, STM32L4, ◉ 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
    OpenWrt
    Driver Development
    Embedded Application
    Bluetooth
    Embedded Linux
    Sensor
    Embedded C
    C++
  • $40 hourly
    Over 15 years of product development experience with a focus on embedded systems, digital signal processing and telecommunication. Proficient in developing software for automotive systems using MISRA-C and DO-178C, worked with numerous over the air protocols such as Bluetooth, WiFi, FSK, PSK, QAM, OFDM. Well versed in circuit design. Have a passion in audio signal processing, prior experience as a sound engineer, amateur musician. Languages: C, C++(C++11/14/17/20), Python, Matlab MCU/DSP/FPGA: STM32 F/H/L, ESP32/ESP32-S3/ESP32-C3, BlackFin 504F/536/707, Sharc ADSP-21498/SC-589, Zynq 7000, ATmega128, AVR Development Tools: Eclipse, VSCode, CrossCore, STM32CubeIDE, Vivado, MPLAB X, CMAKE, ESP-IDF, PyTorch Communication Protocols: I2C, SPI, UART, I2S, BLE, WIFI, CAN, Ethernet DSP skills: Audio/Voice/RF signals processing, Machine Learning Embedded skills: RTOS, Real Time Systems, Embedded Linux
    vsuc_fltilesrefresh_TrophyIcon C
    RF Design
    MATLAB
    Digital Signal Processing
    STM32
    ESP32
    Python
    C++
    Embedded System
  • $60 hourly
    I would like to offer my skills related to: 1. Firmware development for bare-metal and RTOS-based devices, run on ARM Cortex M microcontrollers (STM32, nRF52, ESP32, AVR, Arduino...), in C/C++. 2. Embedded Linux development, Buildroot, OpenWrt, Raspberry Pi, in C/C++, Python3, Bash. 3. Expertise in C/C++ development, code refactoring, project design, ... 4. Expertise in CMake, writing build scripts and build systems. 5. CI/CD for embedded: Jenkins, GitHub Actions, GitLab Pipelines, Docker ... I am a passionate firmware developer with complementary hardware knowledge, related to electronics and PCB design. My passion was born during studies of Electronics and Telecommunication, so I graduated with Master of Engineering degree in that field. I collected experience by developing Smart Home solutions, based on short-range radio solutions, like BLE, ZigBee, Wi-Fi. I also worked with long-range radio systems like data acquisition, tolling, public transport systems and consumer electronics. My total professional experience in the embedded field is 6 years. The core of my skill set lies in developing low-power, bare-metal IoT devices, which run RTOS. Additionally, I am able to provide Linux-based solutions, on more powerful CPUs. My personal goal is to provide high quality solutions, which satisfies the customer and which motivates me. --- Communication protocols I worked with: Zigbee, Wi-Fi, BLE, NB-IoT, Power Line Communications (PLC); MQTT, CoAP, HTTP, LwM2M, VoIP. Technologies: C++ (C++14, C++17, C++20), C, Python, Bash, FreeRTOS, Zephyr, mbed, RTOS, CMake, CI/CD for Embedded, Docker, Robot Framework, Jenkins, Buildroot, OpenWrt. Hardware: STM32, ESP32, ESP8266, nRF52840, AVR (ATmega, ATtiny) Raspberry Pi; Kicad.
    vsuc_fltilesrefresh_TrophyIcon C
    Internet of Things Solutions Design
    Firmware Programming
    FreeRTOS
    C++
    Python
    Microcontroller Programming
    Embedded Linux
    STM32
    Real-Time Operating System
    Embedded System
    ESP32
    Firmware
    nRF52
  • $57 hourly
    Good working day! I'm here to provide systems work, live, update, and development. I want all the products I develop see the light of day, sell successfully, and become better for users and owners. If you ask me what is the meaning of life, I'll answer – in programming. So, my job is programming, my hobby too. By the way, if you need a first-class programmer – I'm here. I’ve been providing excellent firmware development services for over 10 years. It confirms my status 100 % TOP rated + on Upwork. Perfectly functioning devices and satisfied customers will speak better for me. Do you want to save your time on pointless meetings where engineers ask you what to do instead of doing it? Do you want to increase your income through our productive cooperation? Do you want a perfect, functioning, advanced product that you and your customers will like? I'll help you find a solution for your problems as soon as possible to implement them at a high level. The main goal is to help you achieve great success and make results. The most important thing is the product. It will be innovative, progressive, fresh, and efficient. I'll develop firmware, support it, and add new features, thus improving the product and the owner's profit. I'm always open to communication and find it useful. The more feedback I receive from you, the more I'll give you in return. Then I would like to tell you exactly how the cooperation goes. And now you can look at reviews of my work left by my clients on Upwork. I want you to understand the most important benefits that I can provide you are time and freedom. I can independently make decisions without disturbing the customer. You can go about your business while your project is running. At the same time, I work on technical tasks and take responsibility for my actions. So, I offer long-term cooperation which means the full cycle of device development and support. Please note that the latest versions are released as soon as new features are added. Every next release brings us closer to the final version of the device. Eventually, I would like to give you a guarantee. Guarantee of 100% satisfaction with the result. Unfortunately, my resources are limited, so I don't take on many projects. If you have a clear understanding and vision of your project and want to start right now, just write to me. Let's talk, discuss, make a plan and grow your business. If you still have doubts about something, then I have a consultation service – where we’ll analyze all the issues together that will help you see the future of your project, understand the next steps, and possibly start our cooperation.
    vsuc_fltilesrefresh_TrophyIcon C
    AWS IoT Core
    TCP/IP
    Firmware Programming
    Firmware
    Real-Time Operating System
    Embedded System
    nRF52
    Arduino
    Embedded C
    Microcontroller Programming
    STM32
    ESP32
    AVR Microcontroller
  • $125 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
  • $90 hourly
    I work professionally as a programmer since 2003 year. Msc in Applied Mathematics. Able to work with projects of any level of complexity: desktop, server side, embedded, computational, and distributed systems. My current professional interests: - C/C++/Python programming. - Network programming. - Optimization and parallel programming for GPU (CUDA, OpenCL). - Image and video processing. - Machine Learning. Programming languages: C, C++, C#/.NET, Python, Lua, Bash, JavaScript Operating systems: Linux, Windows.
    vsuc_fltilesrefresh_TrophyIcon C
    Algorithm Development
    Computer Network
    Image Processing
    Windows App Development
    C#
    C++
    Python
    .NET Framework
    Linux
  • $40 hourly
    I am a software engineer specialized in C Linux development with more than 10 years of experience. Although I have the most experience in C, I have several years of C++ (C++ 11) development experience as well. Area of interest - Linux system programming - Command line tool development - daemon development - secure coding - clean code Skills summary: - C Linux programming - Bash scripts - Network programming (sockets, packet capturing) - C++ (C++11) - PHP extensions Frameworks / Libraries / Technologies / Tools: - CMake / autotools - gdb, valgrind - libcurl, rapidjson, ipoque PACE2 (DPI), libarchive, glib-2.0, Qt, boost, ip2location, openssl, zlib, pfring, nanomsg, ... - REST API, JSON-RPC - ssh - command line tools - MySQL, SQLite - Arduino development - Raspberry Pi
    vsuc_fltilesrefresh_TrophyIcon C
    Embedded C
    AVR Microcontroller
    Raspberry Pi
    Embedded System
    Arduino
    C++
    Atmel AVR
    Socket Programming
    SSH
    Linux
    Vim
    libcurl
    Valgrind
    Bash
  • $123 hourly
    🏆 Top Rated Product Developer ( I've developed my own products || I'm now helping others on the Upwork platform ) 🏠 I have a Small Home Laboratory to develop/debug prototype boards for your product 💭 I'm a native English speaker My name is Stephen, and I have 25+ years in product development, including 13 years at Microchip in roles like Test Engineer, Design Engineer, Silicon Validation, and Applications Engineer. I specialize in developing products from concept to working systems. I can handle both hardware and software or work flexibly on specific areas like architecture and hardware design. I’ve developed two successful products: (1) KEYKatcher hardware keylogger – A device plugged into a PS/2 keyboard port to record and play keystrokes. It was popular among parents for monitoring children's computer use, with tens of thousands sold. Sales declined as PS/2 ports became obsolete (2) TightWatt pool timer – An intelligent controller for swimming pool motors, featuring a year-round algorithm. It was awarded a patent and gained national distribution. Through all the product development, I’ve created a system for planning and designing working products. This system reduces costs ( by reducing mistakes ). I frequently make product improvements in 1️⃣ Lowering energy usage: important in battery-powered products 2️⃣ Increasing performance: increasing sample rates or changing communications protocols 3️⃣ Lowering product cost: making full use of the microcontroller peripherals to reduce external components I have completed more than 70 projects on Upwork but to check my capabilities or skills, you can check out the following projects: ➡️ Hardware Prototype Design for Plant Monitor Product using ESP-32 ➡️ Microchip ATtiny202 Code Development ➡️ Energy Storage Monitoring System ➡️ BM83 Bluetooth Application Schematic ➡️ Embedded System with PIC Microcontroller & Accelerometer ➡️ PCB Power Usage Optimization ➡️ TI MSP430 Development Additional Skills: ➕ Leading-edge technologies such as USB/USB-C, Lithium Battery Charging, LED and Color Mixing, I2S Digital Audio, and Analog Measurements ➕ Common Communication Busses: USB, RS-232, RS-485, CAN, I2C, SPI, Infrared ( with carrier ) As mentioned above, I have a small home laboratory where I have all the tools I need to develop/debug prototype boards for your product. This includes: ⚙️ Multiple programmers for Microchip, Atmel, and TI parts ⚙️ Logic analyzers to quickly find issues with communication busses such as I2C, SPI, UART, I2S, …. ⚙️ A “power profiler” with picoAmp range ( yes, picoAmp, a trillionth of an Ampere ) for power optimization of low-power products ⚙️ A reflow oven for assembling prototype PCBs ⚙️ Inspection equipment for verifying PCB assembly ⚙️ A fellow Upwork contractor is available to do the physical assembly work. She works at a much lower rate than me and has the patience to hand-populate / hand-solder prototype boards Some electronic inventory is on hand. I may have all the components in-house to complete your project Feel free to contact me through UpWork. Best Regards, Stephen
    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
    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++
  • $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
  • $80 hourly
    * 10 years of writing performant and reliable C++ code * 3 years of experience with Golang * Good experience in developing desktop applications employing GPU and VR capabilities * Ability to debug complex scenarios and work with legacy code without breaking anything * Fluent English
    vsuc_fltilesrefresh_TrophyIcon C
    Bash
    Unity
    TypeScript
    Qt Framework
    Node.js
    Python
    MongoDB
    C#
    C++
  • $50 hourly
    I m a telecommunicatio engineer specialized in embedded software development. I contributed in many embedded software projects as a developer and now I m leading many embedded software projects. I developed network stacks (like TR-069) and customized features for many clients with C, shell, awk,... for linux platforms (like OpenWRT) and VxWorks. I m the maintainer of the open source project EasyCwmp (http://www.easycwmp.org). EasyCwmp is an implementation of the TR-069 cwmp client. And in my knowledge it's the first complete open source of the cwmp client and it's fully conform with the standard TR-069
    vsuc_fltilesrefresh_TrophyIcon C
    OpenWrt
    VxWorks
    Android App Development
    Embedded Linux
  • $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
    Firmware
    C++
    Python
    STM32
    Microcontroller Programming
  • $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
    Driver Development
    Video Stream
    Standard Template Library
    Windows App Development
    FFmpeg
    DirectShow
    Microsoft Component Object Model
    Golang
    X86 Assembly Language
    macOS
    C#
    Objective-C
    Python
    C++
  • $40 hourly
    I am an Embedded System Engineer with a bachelor's degree in Electrical Engineering. I have been working at the electric vehicle manufacturing company for about 3.5 years now, as an Embedded Systems Designer lead, which has equipped me with quite a strong foundation in microcontroller architecture and programming, firmware development, PCB design, and system integration. I also have experience in designing the ECU( Electronic Control Unit) and VCU ( Vehicle Control Unit) for electric vehicles and CMS ( Charger Management System) for 30-120 kW DC as well as AC charging stations. Besides that, I also have insights into designing and testing the circuit with EMI and EMC compatibility and sustainability.
    vsuc_fltilesrefresh_TrophyIcon C
    Software Architecture
    Embedded C
    MATLAB
    KiCad
    Altium Designer
    Python
    STM32
    Bluetooth
    ESP32
    Hardware Design
    Arduino Firmware
    Multilayer PCB
    PCB Design
    C++
  • $60 hourly
    I am a Computer Vision Specialist with a Master’s degree in Computer Science and over 12 years of experience in the computer vision field. I have delivered innovative and impactful solutions across various industries. My expertise includes designing real-time image and video processing pipelines while maintaining accuracy, resilience, and cost-effectiveness in large-scale systems, whether deployed on the cloud or edge devices like NVIDIA Jetson. I am a highly experienced and versatile AI expert, and my unique blend of technical expertise in computer vision and artificial intelligence sets me apart. I consistently deliver transformative solutions that drive real business value. I have successfully leveraged my skills while staying up-to-date with state-of-the-art advancements in the field, ensuring my clients benefit from cutting-edge technologies. I have been working in fully remote positions for the last 12 years. I understand the remote work environment and its challenges and excel at staying proactive and engaged in collaborative work. I maintain an active presence and provide immediate responses to client needs, ensuring projects run smoothly and efficiently. Ranked in the Top 1% of AI experts on Upwork, I have logged over 23,000 hours and successfully completed more than 50 projects. I have worked on multi-year projects as well as rapid prototypes and smaller systems, consistently delivering solutions powered by state-of-the-art AI. Key Skills and Expertise: - Programming Languages: Senior programmer in Python, C, C++, and Go (Golang). - Computer Vision & AI Frameworks: TensorFlow, PyTorch, Keras, DeepStream, YOLO, OpenCV, CUDA, Darknet, SegNet, Tesseract OCR, OCR Algorithms. - Video processing: Expert in GStreamer pipelines, FFmpeg, and profound knowledge of the complexities of securely transporting footage across the internet for real-time processing in the cloud. - Real-Time Systems: Developed scalable, production-grade solutions for real-time object detection, action recognition, video analytics, CBIR, pattern recognition, and video annotation. - Mobile Optimization: Proficient in porting advanced image processing models to mobile and edge devices for optimized performance. - Research and Development: Strong background in applying cutting-edge research to practical applications, including machine learning, pattern recognition, and image analysis. - Cloud Platforms: Expert in the AWS cloud stack and GPU cluster management, with strong knowledge of Azure and Google Cloud, managing and administering cost-effective architectures for computer vision systems. - Cloud AI Platforms: Amazon Textract, AWS Lambda, Amazon Rekognition, Azure OpenAI, Google Cloud Vision API, Vertex AI, Azure Cognitive Services - DevOps & MLOps: Proficient in Docker, Kubernetes, and CI/CD pipelines. - Databases: SQLServer, MySQL, PostgreSQL, MongoDB, Firebase, Redis and others. - Parallel Computing: I'm an expert in designing and coding safe parallel systems to maximize resource utilization, which is critical in computer vision. - Neural networks: expert in optimizing and training neural networks for maximizing accuracy and mantaining real-time processing speed. - Team Management: I have experience as a CTO, managing development teams and ensuring that deadlines and deliverables are consistently met and kept up-to-date for clients. Why Choose Me? Proven Results: Trusted by dozens of clients, with consistent delivery of high-quality solutions tailored to specific needs. Real-World Expertise: Hands-on experience in deploying robust systems in production environments, handling the challenges of scalability, latency, and real-time performance. Collaborative Approach: I prioritize communication and transparency to ensure every project aligns with your vision and goals. Let’s Build Something Great Together! If you’re looking for a dedicated and experienced professional, feel free to reach out. Whether it’s a standalone application, a cloud-based backend, or an optimized mobile solution, I’m here to help.
    vsuc_fltilesrefresh_TrophyIcon C
    Android App Development
    MATLAB
    NVIDIA Jetson
    Artificial Neural Network
    Deep Learning
    Video Processing
    Deep Neural Network
    OpenCV
    Machine Learning
    Image Processing
    Computer Vision
    Python
    C++
  • $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
    ARM Cortex-M
    Power Electronics
    Mechanical Design
    Digital Electronics
    PCB Design
    Connected Vehicles
    Analog Electronics
    C++
    Embedded System
  • $45 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
  • $33 hourly
    I'm an Embedded Software Developer with over 7 years of experience, specializing in C/C++ development for the STM32, nRF52, and ESP32 MCU series. My work involves designing firmware for embedded systems and integrating technologies like Wi-Fi, Bluetooth, ADC, UART, and many other essential peripherals. Throughout my career, I've taken on diverse projects, including the design of a CAN bridge using ESP32, full software development for an nRF52-based clicker device, and an ESP32-based toy featuring Machine Learning-powered wake-up word detection. I've also worked on embedded Linux projects, creating kernel modules for camera sensors, developing custom Linux images with Yocto, and integrating drivers for PCBs and peripherals. Additionally, I bring experience in hardware testing, having developed test rigs using Robot Framework and Raspberry Pi, and I've worked extensively with DMA, event-based architectures, and energy metering devices. If you're looking to create an innovative IoT solution or need a custom embedded system developed from the ground up, let's talk!
    vsuc_fltilesrefresh_TrophyIcon C
    Firmware Programming
    Zephyr
    nRF52
    ESP32
    C++
    FreeRTOS
    Python
    STM32
  • $35 hourly
    Software Engineer, 16 years of experience within the IT Industry working as programmer, tester and Project Leader. Highly skilled in C/C++ but all around guy when the situation requires to (python, nodejs, mySQL, c#, Java, Webservices, PHP, CSS, signalling protocols, embedded software... and a long list after so many years !!!!). Always learning, in this world you can never stop learning, reading, tasting and also exasperating... (it is part of the task) Programming fan, pragmatic and methodical... XP (Extreme Programming) follower. Software quality and client satisfaction are my first two goals (money is the third, of course :-)). Software is my work, my hobby and my life!!
    vsuc_fltilesrefresh_TrophyIcon C
    English
    Linux System Administration
    MySQL Programming
    CMake
    Golang
    Castilian Spanish
    German
    C++
    C#
    Python
  • $60 hourly
    I'm ambitious and dedicated to whatever comes my way. I always find creative solutions to tackle issues that arise with clients. Due to my perfectionism, these solutions are usually the most optimal resource and time wise. I'm very well able to communicate clearly with clients to understand their needs and translate them well into the final high quality product, being also able to suggest brainstorm and suggest ideas to save resources and improve the product's final features and usability. Most Importantly, I am truly passionate about my work, and find pleasure in being challenged and put to my limits to find unorthodox and out of the box fixes and features for the product, I'm not looking to just fit deadlines and pass by tasks, I'm hoping to deliver the best possible product that best fits the criteria requested by customers
    vsuc_fltilesrefresh_TrophyIcon C
    Kotlin
    Robotic Process Automation
    Reverse Engineering
    Android
    Linux
    AOSP
    Bash Programming
    Python
    C++
  • Want to browse more freelancers?
    Sign up

How it works

1. Post a job

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