What are the responsibilities and job description for the Software Developer : E2 position at Boulder Engineering Studio-?
About Us
Boulder Engineering Studio is a premier product development consultancy in Boulder, CO. Our team consists of passionate and experienced mechanical, electrical, software engineers and technicians. We build hardware, firmware and software with an iterative test-driven process in a hands-on collaborative environment. With a wide-ranging portfolio of projects, from scientific instruments and industrial machinery to medical wearables, BES focuses on providing pragmatic solutions to our customers.
We are hiring for a role to immediately support our existing programs while continuing to increase our software development capabilities long term. This high-growth, mid-level role will be involved throughout the project lifecycle with a focus on higher level software development.
About You
We value creativity, passion, and attention to detail. Our work culture fosters these traits in a highly collaborative professional environment. You have at least 2 years of project experience and want to continue to advance your career and take on new responsibilities. You enjoy working in a fast paced environment, jumping between several projects on a daily basis while remaining organized and efficient. You’re able to self-prioritize milestones while keeping a focus on ensuring project requirements are met and specifications are well tested and documented. When it's not feasible to accomplish your tasks with the constraints you’re given, you’re comfortable speaking up and working with the team to regroup and adjust.
Qualified candidates for this role should have a background in JS and Python development. Understanding of how embedded devices and frontends communicate with backends is crucial for this role. A strong knowledge of embedded systems is highly relevant but not strictly necessary. Familiarity with Rust, C, and C is helpful for understanding and potentially supporting firmware development that our team is regularly working on.
About the Responsibilities
- Developing software (full stack) for automated test fixtures used in device production
- Implementing protocols including but not limited to JSON-RPC, Websockets, REST, Modbus etc
- Developing interfaces to remote backends and databases
- Writing test procedures and implementing them to create robust, stable systems
- Helping define tasks and assist in estimating effort and schedules
- Testing and bring-up of automated test fixtures
- Integrating with cloud-based services such as AWS IoT core, Azure IoT, DynamoDB
About the Benefits
- 401K
- Health, dental, vision
- Generous PTO
- Flexible hours
- Casual office
- EcoPass RTD Bus Pass
- On-site shower; next door to climbing gyms and tennis courts
- Unlimited snacks, teas, and some of the best coffee in town
- Hybrid Office for mix of remote & on-site (varies based on project needs and individual preferences)
Required Qualifications
Required Skills/Competencies:
- Proficient with python and JS programming languages
- Experience with JS frontend development using frameworks such as Vue and React
- Proficient with Linux development environments
- Proficient with version control tools such as Git
- Proficient with test driven development and CI/CD
- Excellent written and verbal communication skills.
- Excellent organizational skills and attention to detail.
Preferred Skills/Competencies:
- Experience working with embedded devices
- Experience working with docker
- Experience working with embedded linux
Physical Requirements:
- Prolonged periods sitting or standing at a desk and working on a computer.
Education and Experience:
- Bachelors degree in Software Engineering or equivalent required; Masters degree preferred.
- Two years of related experience preferred.
About our Values
BES strives to leave the world better than we found it. We don’t design weapons, single use plastics, or intentionally harmful or demeaning products. Our goal is to create value in our relationships and through our work. We believe in finding the right tool for the job- including getting support from outside subject matter experts, vendors, and cutting edge research when called for. These values help ensure that the work we do take on is compelling and a good fit for our team.