Broadway.com is seeking a creative and confident Senior Software Engineer with a passion for application design and development, driving product goals, and an appreciation for product design to help improve the customer experience across Broadway.com.
Who we are
At Broadway.com the result of your work will be seen and used by millions of people — tourists, theater lovers, students, groups, etc. Broadway.com is both an e-commerce product as well as a content producer. We sell Broadway and Off-Broadway tickets, as well as produce original video, photo, and news features. Your creative and analytical efforts will play a role in our customer’s overall Broadway experience.
We’re a team of product focused engineers and designers. We love to collaborate and you should too.
From the technology side of things, we use Python, Django, React, Celery, Swift (iOS), MySQL, Gunicorn, Varnish, Nginx, AWS, Ubuntu… among others. Our team of designers and engineers are passionate, professional, and all care deeply about each other, our customer experience and the quality of the software that supports it.
We also go to conferences, offer plenty of learning resources and opportunities to grow, enjoy summer Fridays, and a handful of other fun things we hope to tell you about.
Who you are
- You have 5+ years web application development experience with Django/Python projects or similar web framework.
- You have Linux server knowledge (Ubuntu specifically) and you are comfortable with Linux tools and shell environments.
- You’re proficient with Git and advanced Git features.
- You have very strong application architecture knowledge, with the ability to design, optimize, and maintain an application and infrastructure throughout the product life-cycle.
- You have led the architecture, refactor and maintenance of new and existing Django web applications including REST APIs through various product iterations.
- You have expert ability to debug application exceptions and resolve issues across the application stack and environments.
- You are passionate about application design, and a pragmatic software development life cycle focused on software quality, product priorities, and customer experience.
- You have the ability to lead all work from start to finish, proactively collaborating with team members across disciplines, sharing knowledge, and working to improve yourself, others, and the company.
- You have code reviewed other engineer’s solutions and mentored team members through product iterations.
- You clearly document your code and believe in testing your code.
- You’re an advocate for code quality, managing technical debt, and respecting best practices.
- You have Docker experience; configuring and maintaining (we use Docker for development) instances.
- You have strong SQL knowledge with the ability to analyze and optimize database performance.
- You have a desire to grow and improve the engineering culture, process, tools, and techniques with product team.
- You have excellent communication skills and ability to collaborate.
- You can explain technical details and challenges to non-developer colleagues.
- You communicate early and often with the team.
- You are self-motivated.
A Day in the Life
If you were working for us, here are some of the things you might have done last week:
- Wrote Python code to create a new Fabric task, Django view or custom manager.
- Used Jira to review new issue tickets, provide status updates, and communicate with the team.
- Used Git to manage your feature branches and coordinate version releases.
- Met with the project manager and sprint team to review stories for an upcoming sprint and provide estimates.
- Shared the status of your ongoing work in a sprint meeting.
- Provided constructive feedback to team during sprint retrospectives.
- Provide technical direction to support business requirements.
- Reviewed code from a Gitlab merge request and provided feedback on possibly refactor improvements.
- Collaborated with project manager to provide project milestones and estimates.
- Initiated and lead a meeting with other team members to discuss a high priority ticket, and collaborated in working towards a solution.
- Supported existing Python/Django code base.
- SSH into server machine to analyze logs, restart services, resolve issues.
- Researched and proposed solutions for a forthcoming project.
- Met with stakeholder(s) to review requirements for an upcoming project.
- Discussed with the DevOps team software requirements for an upcoming project release.
- Implemented a RESTful interface using Django.
- Interfaced with an external JSON/XML API.
- Refactored legacy code.
- Discussed and proposed new solutions to existing application issues.
- Tested your code.
- Documented your code.
- Provided support after regular office hours to resolve production issues.
- Spent time learning new parts of our applications, and possibly a new language or technology. If you’re interested in Swift, React … we do that too!
Tools We Use
Include a link to any public code examples (websites, Github, etc) you may have.
- Send a PDF of your resume to email@example.com
* This is not a telecommute job. *