Full Stack Software Engineer - BCycle
BCycle is Trek's bike share division. We're revolutionizing the way people use public transportation. Bike share is a unique solution to the environmental, health, and transportation infrastructure challenges that face modern communities. It’s our mission to partner with campuses, corporations, and municipalities of all sizes to implement and maintain bike share systems that complement and improve existing transportation infrastructure. We do so with best-in-class bike share equipment and a multi-tier software platform.
We are looking for someone to join the Trek BCycle team. Our team works to streamline, simplify, and automate BCycle development. We are a small, agile team that enjoys the autonomy of a startup with the backing and experience of industry experts.
To be part of our team, you must be an active learner with an insatiable urge to tinker as we address new issues and dig into new solutions, every day. Our approach is to use the best tool for the job, often taking advantage of the newest technology to solve complex problems. If you are never happy with the unexplained and love all things tech, this position is for you. Structure as code is your motto and the world should be source controlled.
We provide people with the opportunity to foster continuous learning and experimentation so individual aptitude and desire is just as meaningful as experience. We are seeking experienced experts, but we are interested in mid-level resources, as well. Trek provides a flexible environment including the opportunity for remote working in this role
A successful Senior Software Engineer will:
- Develop code, create test plans, debug and document software across all layers of our architecture.
- Collaborate with other engineers, quality assurance, and product to ensure BCycle provides best-in-class software for our operators and end users
- Participate in deployments and on-call rotations
- Communicate clearly and approach problems with curiosity and humility.
- Be an active listener.
- Ensure architectural, business, coding, design, and quality standards are adhered to by yourself and your teammates
- Be responsible for the quality and timeliness of your own work
- Stay current with the latest development technologies, methods, patterns, and tooling
- Be self-motivated and require minimal supervision
- Actively participate in sprint ceremonies such as daily standups.
- Be energized to tackle a rapidly changing space
- Bachelor’s degree in Computer Science or equivalent experience required
- 5-8 years of experience designing server-side and client-side architecture
- 5+ years of experience with design patterns, source control, and unit testing is required
- Experience with Microsoft Azure is required
- Exceptional business & technical listening, oral, and written skills required
- In-depth understanding of software development/engineering methodology in production and testing environments with standards documentation required
- Backend technologies: Must have professional experience using .Net and C#. Knowledge of Service Fabric, IoT Hub any other frameworks are a plus.
- Databases: Must have experience with SQL database, SQL queries, stored procedures, and basic administration. Knowledge of NoSQL databases is a plus.
- Interfaces: Good understanding of API design standards, patterns and best practices. Must have hands on experience with REST APIs
- Hardware/Connected IoT Device experience
- AWS experience
- Docker experience
- Linux experience
- GIS/Mapping and custom routing experience
- CMS experience
- Experience with agile methodologies
We are an E-Verify employer.