Software Engineer
Job Description
Carnegie Robotics partners with a variety of industry leaders to provide customized robotic solutions for any problem. Our expertise in building and deploying hardened solutions paired with our partners decades of expertise in an industry lead to very successful outcomes. We are not afraid to take on the challenges of any industry, and have applications in a wide variety of ways: floor scrubbing, boating, logistics, industrial inspection, precision positioning, mining, off-road autonomy, and minesweeping. Whether you already have an interest in robotics, or are just joining the field and are looking to find your “niche”, Carnegie Robotics is the place for you.
Who We’re Looking for:
Individuals who are interested, and ideally experienced, in some of the areas and topics we are passionate about. All skill levels and backgrounds are welcome. We have an amazing team of engineers from a variety of backgrounds who love to share their collective knowledge and experiences. We’ve had Electrical Engineers who started as interns in Production and Manufacturing, Software Engineers we found on Github, and Mechanical Engineers who are now Technical Program Managers. We’re about growth and providing opportunities for you as you move through you career.
What you’ll be doing:
You will be a critical member of an interdisciplinary team focusing on designing and delivering products to real customers. This can take the form of developing onboard software for a custom camera system, building custom loggers to saturate the write speed of a NVME drive, architecting high-performance middleware infrastructure, or building custom release images optimized for OTA updates.
What your day to day is:
- Contribute significantly to the developing of high-performance software infrastructure including message serialization, IPC, process management, and logging
- Be detail oriented: catching and debugging the 1/1,000 failure cases using debuggers like GDB, pdb, and valgrind
- Optimize software using profiling tools like perf and Callgrind
- Write creative Bash scripts to solve problems
- Make an impact by developing products which are used by hundreds of customers around the world
- Be a team player by providing constructive feedback on GitHub pull requests to help other team members improve their code, and being open to feedback on your own contributions
- Contribute to, and potentially maintain, open-source projects
- Develop high performance applications which leverage GPUs with CUDA, Vulkan, or OpenGL
How you’ll stand out:
- Have the knowledge of multiple programming languages (C, C++, Python, Go, etc) and the ability to know which will be most effective and optimal
- Are comfortable with a Linux environment – whether it means where you do your work each day, creating a personal Linux install to move more efficiently, or tweaking someone else’s Linux install to help with printing issues ;)
- Have the appreciation of the elegance (and portability!) of USB, but prefer the connectivity of Ethernet or CAN
- Are intrigued by FPGAs and are not afraid to get their hands dirty with the nuances of Verilog
- Not only be invested in your work projects, but love coding enough to have way too many personal projects and be a second away from starting another one
What you get out of it:
- Top of the line UPMC health coverage with FSA or HSA options
- Comprehensive dental, vision, and life insurance
- Fidelity 401(k) plan with employer match
- Free catered lunch every day with a vegan option
- Flexible work hours including work-from-home options
- 33 Days of PTO (including holidays and floating holidays)
- Comp time for company travel
Explore More
Date Posted
03/04/2024
Views
0
Similar Jobs
Software Engineer Lead (Java/SpringBoot/MongoDB/MicroServices) - PNC
Views in the last 30 days - 0
View DetailsTeachers at East Pittsburgh KinderCare - KinderCare Learning Companies
Views in the last 30 days - 0
View DetailsTeachers at North Hills KinderCare - KinderCare Learning Companies
Views in the last 30 days - 0
View Details