An experienced full-stack engineer to join the Placeit team
What would I work on specifically?
- Build prototypes.
- Write technical specs.
- Journal your process.
- QA your work.
- Update tickets and keep work organized.
- Follow methodologies that the company provides.
- Write efficient software.
- Work with stakeholders to understand tradeoffs.
- Follow up on issues/errors on a regular basis.
- HTML (different version) and their compatibilities.
- Component frameworks such as Bootstrap or Foundation.
- HTTP: how the protocol generally works and how browsers generally deal with it.
- Web sockets and web workers.
- Experience with AJAX libraries (jQuery is required and one of these three: Backbone, Angular or React).
- Possess a good understanding of the syntax of Ruby and its nuances
- Solid understanding of object-oriented programming
- Experience designing, building large-scale Ruby on Rails applications
- Experience with common libraries such as RSpec and Rescue
- Proficient understanding of code versioning tools (e.g. Git, or SVN)
- Proficient in bash shell
- Familiarity with continuous integration and delivery
- Basic familiarity with networking systems, load balancers, and TCP/IP network constructs.
- Knowledge of performance and reliability monitoring strategies
- A knack for writing clean, readable Ruby code
- Able to create database schemas that represent and support business processes
- Server administration/automation experience
- Worked with Aurora, Kinesis and other AWS services
- Have worked in large scale applications with at least 100k users
- Any background in video, audio or image processing on the server-side
- Clever problem solver.
What are the required baseline technical skills for all levels of engineers there?
Here is a list of what we consider baseline fundamentals that you need to be familiar with no matter what area of the platform you work on:
- Unix: bash, piping, SSH, tools (CAT, AWK, SED), basics of standard input/output
- Basic principles of database design
- Basic experience with ORM
- Software Design Patterns
- Functional Programming Principles
- Event Oriented (including asynchronous) Programming
- Object-Oriented Programming
- Prototype Based Programming
- Coding Best Practice
- Refactoring Best Practices
- Test-Driven Development
Personal Competencies Required
You need to know how to:
- Be clever about how to approach problems
- Be technically curious (learning on your own)
- Have a serious interest in understanding the goal behind your work
- Push for doing things the right way the first time around
- Have empathy for our users
- Follow a formal process approach to engineering.
What does your engineering process look like?
We do believe that most people have a planning bias so most would think that we spend quite a bit of time in trying to clear and organize our minds before starting any task. We call it “X Workflow”. You can read about X Workflow here.
We’ve also documented our process for bug fixing. You can find it here.
We also set aside 1 week every 8 weeks for any code improvements each engineer would like to focus on. This allows you to have time set aside for any refactoring you’d like to do without asking for the time.
We try to automate testing as much as possible. With 3 products out there, we don’t have a single dedicated QA person. We try to optimize our team such that a QA team should be unnecessary. Every person inside the company acts as decentralized QA departments (from customer service to CEO to engineers).
What does the flow look from the beginning to deploy for a particular feature?
- You get a feature request from product manager
- You make sure you understand the goals clearly and collect basic information
- Assuming it’s time to work on it, you’d start with the specifications (detailed in X Workflow document).
- The document generally starts with describing the problem, a bit of background and your hypothesis for the approach you’re going to take.
- Then you would work on the high-level solution proposal
- And lastly would be your Blackbox (if needed), Theory of operations and functional specs.
- Once those are approved, you can start coding!
- Once your code is ready, you would deploy to staging to test your work.
- If ready, you would then send your code for the final review.
- If ready, then it would be deployed to production after OK from CTO.
- Lastly, you would go back to update your specification with any future work that you believe this feature needs.
The specification document and our general process for approaching new feature development are documented here called X Workflow.
What do we offer?
- Private Medical Insurance
- Saving funds
- Full Law Benefits
- 10 days of paid holidays
- Profit sharing (5% of company profits)
- Pay for roundtrip tickets to anywhere in Mexico 2x a year
- Inflation adjustment of salary
- Paid for educational courses
- Unlimited ebooks / books
- Top line equipment
- Central location (Lopez Cotilla 1599) See the map: https://goo.gl/maps/ejVbWc2tm9Wh8Smv5
- Paid for Friday lunches, fruit, coffee, subsidized snacks
- Impact on lots of users (over 8m users) / fast growing
Submit your resume and answers to the below questions. Good luck!