500px is the leading online network for photographers. Our mission is to connect the worlds photographers & provide them with opportunities to discover inspiration, get exposure & rewarded for their work, & help them learn & grow their skills. Every month, millions of people from around the world use our website & mobile apps to find & share the worlds most inspiring photography.
We take pride in the products we ship & love what we do. Our engineering culture values mentorship, ownership, collaboration, & getting stuff done.
Our technology stack includes: Java, Python, React, GraphQL, Go, MySQL, Redis, Elasticsearch, iOS (Swift), Android, & various Amazon AWS services.
***Please note that we are all currently working remotely until staff feel safe & comfortable returning to the office. Once we do, we expect to continue granting our team the flexibility of choosing to work from home or anytime from our HQ, but will confirm this once our plans are firm.
We are looking for a Senior Full Stack Software Engineer (with more focus on Web) to help us continue to improve our 500px platform. You'll have the opportunity to play a pivotal role in 500px's success as part of a passionate engineering team.
It has been a long journey since 500px started back in 2009. Though we had been continuously improving our previous backend, its fundamental design no longer fit our current scale of data & traffic. We have completed the first step in our journey by splitting our Monolith into Rest APIs, but we've only just gotten started. Now we are looking to increase efficiency by implementing protocols like GraphQL, reevaluating API design, & building new features to improve our community for our users. Youll have ownership over the backend, & youll support other developers in building new services & components. You will be an advocate for performance, stability, & scalability across all of 500px, & encourage others to be as well. We are looking for a person who loves collaboration & is excited to take on new challenges.
What you'll be doing:
- Working with product managers/owners, designers, & other developers on product requirements & design
- Lead the design & technical planning of new features & projects
- Building highly scalable architecture, services, & solutions
- Implementing & maintaining high quality code & documentation
- Coordinating & collaborating with developers across teams (including mobile & remote teams) to ensure the solution is implemented properly end-to-end
- Providing technical mentorship to other team members
- Helping to architect the 500px systems infrastructure
- Providing assessment on risks & evaluating tradeoffs in terms of performance, security, maintainability, etc.
- Participate in on-call rotation
- Demonstrate strong ownership on responsible projects & technical areas
What the ideal candidate will have:
- Bachelor degree or above in Computer Engineering, Computer Science, or equivalent experience
- Good architectural sense & a passion for high quality code, honed by experience
- 5+ years of web development experience
- Complete comfort & familiarity with software development tools (git, Github, bug tracking), *nix environments
- Experience shipping software at scale, with a product-focused mindset
- Experience with RESTful & GraphQL
- Familiarity with MySQL, MongoDB, Redis, Memcached, & ElasticSearch
- Track record of balancing making decisions using data vs creative vision
- A solid understanding of the pros/cons of these different tools, & sound judgment in evaluating their tradeoffs for different applications
Bonus points for:
- Experience with Amazon Web Services, & even more bonus points for experience beyond just EC2 & S3
- Experience with backend technologies (Java, Spring, database)
- Experience with Vue, Ruby on Rails, Django, Express, Python, or Go
- Experience with monitoring systems like Datadog, New Relic, or Fabric
- Experience with CDNs & network caching topologies
- Experience with Blockchain, Crypto, NFT
- Fluent in Mandarin
- A love of photography (tell us what you shoot!)
- Being a member of the 500px community
- Interesting technical challenges
- Competitive salaries
- Flexible work hours
- Great health & dental benefits starting on day one
- HQ in downtown Toronto within walking distance of TTC & Union Station, lots of great nearby food options, & dogs are welcome
- Professional development opportunities
- Amazing coworkers from around the world (repping 20 countries & 19 languages)
- Generous time off policies for vacations, sick days, birthdays, religious observances, civil involvement, new babies or pets, emergencies, or even if you just need to recharge
- Life-friendly Zoom calls we love to see your pets & hear your kids jokes!
- Phone screen: < 30 min conversation with a hiring manager
- Coding challenge
- Team interviews: 3-5 hours on Zoom where you'll e-meet multiple members of our team
We believe diverse teams perform better, & we seek to increase our overall team diversity. We make active efforts to reduce the impact of unconscious bias in our hiring process.
500px welcomes & encourages applications from people with disabilities. Accommodations are available on request for candidates taking part in all aspects of the selection process.