Senior Software Engineer

Published: 5 days ago
Avatar for Carbon Five

Carbon Five

Agile design and development services for startups

Job Location

Job Type

Full Time

Visa Sponsorship

Not Available

Relocation

Allowed

The Role

Joining the Team

You will work on a cross-disciplinary product development team—engineers, designers, and product managers—working full-time, side-by-side with one of our clients. Together, you will learn the problems they want to solve, get to know the people who are experiencing them, and design potential solutions. You will iteratively develop and release working software using established agile development practices like experiment-driven design, test-driven development, small and frequent releases, and continuous integration and deployment.

Your Role

As a Senior Software Engineer, you will work with the rest of your team to scope, design, build, test, and deliver new features. You will pragmatically advocate for agile engineering practices including test-driven development, collective code ownership, and continuous integration. You will work at all levels of the stack, sharing your expertise where you have experience and learning from your colleagues where you’d like to grow.

Your typical week may include the following:

  • Writing test-driven code while pair programming with other engineers
  • Working closely with stakeholders, product managers, and designers to shape product direction and discuss the feasibility of prototypes
  • Facilitating iteration planning meetings, helping lead the team in refining feature definition, estimating stories, and prioritizing the highest-value work
  • Helping non-technical collaborators understand technical requirements and constraints to inform scope and facilitate milestone planning
  • Mentoring less experienced members of your team, sharing your time, knowledge, and insights

About You

This job might be right for you if you:

  • Prefer collaboration over working solo
  • Take a collective approach to problem-solving and decision-making
  • Enjoy being given goals and finding ways to achieve them
  • Enjoy using your creativity and resourcefulness to tackle unexpected challenges
  • Enjoy participating in all aspects of product development including generating ideas, prototyping and building solutions, talking to users, testing outcomes, and integrating learnings into future work
  • Want to learn new languages, paradigms, patterns, and frameworks
  • Make technical decisions with a strong consideration for the capabilities and skills of the entire engineering team
  • Care about maintaining a safe, learning work environment, making space for innovation and professional growth

To be considered for this role, you will need:

  • Strong written and verbal communication skills
  • A high degree of empathy for others
  • Experience as a member of a professional agile software development team
  • The ability to communicate technical concepts and constraints to non-technical collaborators in an accessible way
  • The ability to develop, test, and deploy a complete application using at least one of the following languages: JavaScript, Ruby, Java, Python, Elixir, Go, Swift, or Kotlin
  • The ability to address complex bugs on your own, effectively using developer tools to identify root cause(s) and define the work to resolve them
  • Strong knowledge of web fundamentals: including the TCP/IP stack, HTTP, the DOM, HTML, and CSS
  • Experience with multiple programming languages, one of which must be JavaScript or TypeScript
  • Experience with a commonly-used back-end framework (e.g. Express, Rails, Spring) and a commonly-used front-end framework (e.g. React, Angular, Vue.js)
  • Experience with a relational database, including familiarity with common query optimizations (e.g., using joins, eliminating N+1s)
  • Experience with a non-relational data store
  • Experience with a version control system, preferably Git
  • Experience deploying applications to a cloud environment

You’ll receive additional consideration if you have:

  • Experience consulting or working as a freelancer
  • Consistent involvement in the tech community (e.g. speaking at conferences and meetups, mentoring less experienced practitioners, leading or volunteering time to organizations committed to supporting underrepresented groups in our industry)
  • A track record of self-directed, continuing education
  • Experience leading teams of software engineers
  • Experience with multiple device platforms (e.g., web, iOS, Android)
  • Experience with multiple programming paradigms (e.g., object-oriented, functional)
  • Experience with cloud platforms (e.g., AWS, GCP, Azure), containerization tools (e.g., Docker), and/or orchestration systems (e.g., k8s)
  • Experience building accessible user interfaces
  • Experience implementing visual and interactive designs using advanced JavaScript and markup/stylesheet languages
  • The ability to architect applications at different scales, from server-side rendered web applications with hundreds of users to service-oriented architectures serving millions to fully decentralized networks usable by billions
  • The ability to assess security risks in an application’s design
  • The ability to model the domain and logical architecture of an application

More about Carbon Five

Perks and Benefits

Healthcare benefits
Healthcare benefits
Healthcare benefits
image

Founders

Michael Wynholds
CEO • 3 years
Santa Monica
image
Don Thompson
COO • 3 years
San Francisco
image
Go to team image

Similar Jobs

Fast Orientation company logo
Fast Orientation
Enterprise situation awareness for everyone
Citizen company logo
Citizen
Making your world a safer place
Womply company logo
Womply
Womply is a local commerce platform serving 500k U.S. businesses & consumers
Gridspace company logo
Gridspace
State of the art voice technology and automation for customers, patients, and call centers