We’re looking for Senior Software Engineers that are experienced in working close to the hardware. You’ll be able to choose your areas of work based on your preference. We work mostly with Linux, FreeBSD and some RTOS. There are 3 main areas of work available to you:
- 1. Low-level programming. Bare-metal, RTOS and things typically associated with a Board Support Package: bootloaders and software for bootloader stages (architecture dependent), including network boot, firmware, drivers, initialization procedures for components and subsystems, FPGA code when required by the boot process.
- 2. OS adaptation to hardware. Enabling an operating system to utilize the features of the hardware it boots on. Includes tasks like changes to the kernel, init procedure, memory management and allocation, task scheduling and I/O.
- 3. High level programming – components of an operating system post-initialization stage, and programs that run on top of the operating system. That includes working with physical hardware connected to the machine hosting the OS, but also things like UI and UX.
Those are the options you can choose from, depending on your comfort and preference. Our work is to make your work as frictionless as possible, so you can focus on utilizing your skills.
- Company laptop
- Optional health insurance at discount prices
- Flexible or remote work
- Access to our lab for personal projects after hours
- Private gym located in the office
- Large bathroom with a shower in the office
- Good office commute. Monitored parking and bike stands (or take it to the office), and close to a bus stop.
- Well equipped kitchen with a professional coffee maker (we’ve got plant milk too) and a variety of teas
- Beverages are on the house as well, freshly pressed juices, carbonated drinks – but we can adapt to your tastes!
- Communication with teammates regarding the project and your share of work.
- Estimate times needed for a particular task.
- Deliver the task within the estimates, with some wiggle room of course.
- Fit within the tool and coding standards your team chooses.
- Able to prioritize tasks so they’re non-blocking for the rest of your team.
- Deliver high quality, well documented code.
- Weekly status reports via email.
- Adapt to the development methodology used by the team (Agile, Scrum, Kanban, etc.)
Skills that you’ll most likely find yourself using on this position, and should be comfortable with:
- Linux kernel internals
- Knowledge of build automation tools for embedded linux, such as Buildroot, Yocto, OpenEmbedded, or similar.
- Bare-metal/RTOS programming
- Knowledge about the internals of x86 amd64, and ARM architectures.
- Familiarity with Git, Gdb, openocd
- Fluent English and Polish
Nice to haves:
Those skills will open up a lot of opportunities if you have them
- C++, Rust, Go
- FreeBSD kernel internals
- Knowledge about the internals of other CPU/MPU architectures, such as RISC-V or PowerPC
- Additional monitor
- Business phone
- Freedom to select tools
- Can switch project
- Healthcare package for families
- Healthcare package
- Financial bonus
- Help finding an apartment
- Adaptation tips
- Car parking
- Bicycle parking
- Cold beverages
- Hot beverages
- Integration events
- In-house gym
Conclusive was founded in 2018 by Jakub Klama and Wojciech Kloska to merge their collective expertise in embedded systems. Today the heart of our company consists of over 20 exceptionally talented and experienced engineers. Our expertise spans across all frontiers of embedded system development, and allows us to adapt to most demanding endeavors.
Our headquarters are located in the European Union, in the city of Katowice – a bustling industrial and technological hub in the Silesia region of Poland.
Over the years, we’ve delivered crucial, mission-critical systems to the biggest global companies. You can find the fruit of our work in the fields of transportation, computation, data storage, and more. We’ve always delivered top notch products, and take pride in their flawless and infallible performance.
Hardware Design, Development and Production
Increasing complexity of modern embedded systems requires special measures to deliver reliable, secure and optimized embedded solutions. Here at Conclusive Engineering we understand that very well.
We have full control over our ecosystem and manufacturing facilities. Because of this, we are capable of delivering safe, performant and power-efficient turn-key solutions that are streamlined for individual client applications.
Our holistic approach is mirrored in our company structure, favoring interdisciplinary approaches from both our software and hardware teams.
This experience has led us to developing an off-the-shelf product offer, in an attempt to merge the most demanding client requests into mass-manufactured and easy to access product lines. Meticulously designed and programmed in-house to the highest standards, these boards offer a great starting point for even the most daring customizations a client might request.
Manufacturing locally in the EU in a nearby facility allows us to quickly test and amend product batches and deliver custom solutions with an unprecedented agility and turnover times.
In addition to our embedded development offer, we also deliver software at all levels of complexity.
Firmware programming is our routine. We are experienced with real-time and resource-constrained programming for a wide range of microprocessors and microcontrollers. We also write bare-metal applications that utilize the full performance of your hardware, completely omitting the need for an operating system.
Bootloaders and operating systems are part of our offer. Kernel level code for Linux, FreeBSD and FreeRTOS systems are all within our competences. We support a wide variety of bootloaders, and can deliver full Board Support Packages for your products. We also offer a GPL-free software stack for projects that want to avoid the requirements of GPL license that GNU/Linux enforces.
Device drivers are within our expertise as well – PCI Express devices, Ethernet, NAND, USB, SATA, SPI, I2C, audio and video protocols and stacks, and much more. We also employ a wide array of optimization and benchmarking tools to assure our driver code reaches the best possible performances.
High level applications and middleware programming are amongst our competences too. We use state-of-theart techniques and technologies to deliver applications with outstanding performance and scalability. We deliver maintainable, well-readable code, optimized for multi-core, multi-threaded operation, with concurrent lockless data structures – all the way up to a flawless UI and UX offering great user satisfaction, speed and ease of use.
Our knowledge and facilities allow us to deliver a broad range of services and consultancy related to embedded computing.
We perform debugging, profiling and design audits, on all applicable stages of a product’s development and life cycle. Hard to resolve and hard to find bugs are amongst our specializations.
Need assessment for particular use cases or complex projects, project planning and estimates - such as defining feature sets, sourcing parts, providing cost estimates, optimizations and product variants – are all within our offer. We perform these on a regular basis, both for our clients as prerequisites to product development, and to keep our own products competitive.