Published Jul 21, 2020
Original link: https://www.42jobs.io/rails/jobs/9289-backend-engineer
We started as an agency, called Freshout in 2008. We developed new products for companies such as LinkedIn, Telefonica, eBay. When we realized we couldn’t control the products we built through our clients, we started to invest in our own products. We bootstrapped our way to a product company in late 2014. We were acquired by Envato in late 2017!
We currently have 240 employees in our GDL office. Between our products, we serve over 8m users.
This is not some satellite office where we send some of the “special” work. We invest heavily in the education and progress of each member of our team. We have full autonomy over what we build and there are no clients forcing our hand to build unnecessary features.
Placeit is used by everyone from Adobe to Yelp to Facebook to Google to Salesforce to IBM to Netflix. We’ve doubled in size over the past year and have thousands of paid subscribers.
The answers below are meant to address the most frequently asked questions. If we missed any, please don’t hesitate to let us know.
You would be working on the backend component of new features from start to finish which would include everything from early prototypes to getting the production server ready to checking for security concerns.
If you want to see some examples of our Design Templates, visit the Placeit website (www.placeit.net).
What general skills do I need to perform well in this position?
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 workPush for doing things the right way the first time around
- Have empathy for our users
- Know the basics of Photoshop
- Any background in programming graphics or video games
What technical skills do I need to perform well in this position?
You need to be familiar with the following:
- Ruby on Rails
- Web sockets and web workers.
- Unix: bash, piping, SSH, tools (cat, awk, sed), basics of standard input/output
- Basic principles of database design
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:
- Basic experience with ORM
- Software Design Patterns
- Functional Programming Principles
- Even Oriented (including asynchronous) Programming
- Object-Oriented Programming
- Prototype Based Programming
- Coding Best Practices
- Refactoring Best Practices
- Test-Driven Development
- 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
What’s the management style?
Honest, truthful, and always focused on improving.
What does it look like to work there?
Please see the videos posted in this job listing.
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”.
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).
The specification document and our general process for approaching new feature development is documented here called X Workflow.
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.
- Once 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.
How’s the work/life balance there?
- Most engineers are here between 10 am to 6 pm although some come earlier and leave a bit earlier. Some days they stay later and some days they leave earlier.
- We generally keep an “adult policy” over these things. The idea is that you’re responsible and we’re not going to babysit you. We don’t really focus on the hours you spend in the office. Our focus is mostly on how efficient you are.
We’re flexible for people that want to start work earlier and leave earlier as well.
Will you pay for my relocation?
Do you guys help with my paperwork if I’m not a Mexican citizen?
What language do you guys use inside the office?
We tend to go between Spanish and English quite a bit but if you only speak English, that’s ok too.
- Private Medical Insurance
- Saving funds
- Full Law Benefits
- 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
- Topline 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
The salary range for this position would be between 60000 MXN-65000 MXN Gross.
For more detail in our benefits click here: http://envato.mx