Similar jobs
We are looking for engineers who love to build SaaS products to join our team.
This position is for a product we have been building for 4 years now, for a long term customer of ours. The Codebase is well maintained, with a rails backend and a react frontend.
If you are someone who has invested time into writing reusable rails or nodejs modules, who has written ruby gems or npm packages, you feel at home working with us.
Required Knowledge:
- How Web backends or Rails works
- Mastery over ORMs or Active Record Migrations, Validations
- Good knowledge of writing encapsulated business logic
Great to Have
- Open source npm packages or ruby gems
- Performance tuning for Apps
- Ruby Metaprogramming knowledge
- Functional JS
Interview Format
Two coding rounds of 45 mins each.
If you crack both the rounds, you get the job, and incase you decline the offer any reason we will give you a gift voucher for spenidng your valuable time with us.
In case you dont crack the question, we will tell you what to learn so that next time you will have a good chance :)
- Bachelor’s degree in Computer / Information Science (BE / BTech) or Master’s in Computer Applications (MCA) Experience:
- Two to five years general software engineering experience
- Experience in web development using the Ruby on Rails web application framework
- At least two years of Ruby on Rails programming experience
- Thorough understanding of the philosophy and design of Ruby on Rails
- Desktop publishing skills: HTML5, xHTML, CSS
Knowledge of:
- JavaScript and JavaScript libraries: jQuery, Plugins etc.
- Unix and Linux systems
- Relational databases: SQL, etc.
- Frameworks: Active record, etc.
- Servers: Nginx, Mongrel, Webrick
- Performance management using New Relic, Web Page Test tools
- SEO rules, minification, rails asset pipelines
- REST APIs and their usage
Highly preferred experience:
- Ability to work with the Amazon EC2, S3, and EBS services
- NoSQL databases: MongoDB, Memcached, CouchDB
- Git, SVN
- Proactive and resourceful person who achieves tasks with minimal oversight
- Team player with the ability and desire to become an integral part of a fast-paced team
- Ability to handle multiple tasks in parallel
Software Development Engineer – SDE 2.
As a Software Development Engineer at Amazon, you have industry-leading technical abilities and demonstrate breadth and depth of knowledge. You build software to deliver business impact, making smart technology choices. You work in a team and drive things forward.
Top Skills
You write high quality, maintainable, and robust code, often in Java or C++ or C#
You recognize and adopt best practices in software engineering: design, testing, version control, documentation, build, deployment, and operations.
You have experience building scalable software systems that are high-performance, highly-available, highly transactional, low latency and massively distributed.
Roles & Responsibilities
You solve problems at their root, stepping back to understand the broader context.
You develop pragmatic solutions and build flexible systems that balance engineering complexity and timely delivery, creating business impact.
You understand a broad range of data structures and algorithms and apply them to deliver high-performing applications.
You recognize and use design patterns to solve business problems.
You understand how operating systems work, perform and scale.
You continually align your work with Amazon’s business objectives and seek to deliver business value.
You collaborate to ensure that decisions are based on the merit of the proposal, not the proposer.
You proactively support knowledge-sharing and build good working relationships within the team and with others in Amazon.
You communicate clearly with your team and with other groups and listen effectively.
Skills & Experience
Bachelors or Masters in Computer Science or relevant technical field.
Experience in software development and full product life-cycle.
Excellent programming skills in any object-oriented programming languages - preferably Java, C/C++/C#, Perl, Python, or Ruby.
Strong knowledge of data structures, algorithms, and designing for performance, scalability, and availability.
Proficiency in SQL and data modeling.
the core library/language constructs.
• Knowledge of processor, memory, network and storage internals. Familiarity with I/O optimized
algorithms.
• Deep understanding of distributed systems including fault modeling, concurrency, isolation,
consensus etc.
• Internals of a RDBMS like MySQL
• Conversant with the internals of systems like Kafka, Cassandra/Scylla, Redis, RocksDB etc
• Working knowledge of hosting and network infrastructure (K8s, Envoy, etc)
• Familiarity with binary serialization protocols like thrift/protobuf/flatbuffers etc
• Familiar with gRPC, HTTP/2, QUIC, etc.
• Troubleshooting memory issues, GC tuning, resource leaks etc.
• Strong problem-solving skills, algorithmic skills and data structures.
• Productionizing machine learning pipelines using Spark/Flink/TensorFlow etc
• Familiarity with big data concepts - HDFS, hive, presto, spark, oozie, ambari, airflow, atlas,
ranger, etc. Familiarity with formats like avro, parquet, orc, arrow etc
• Good understanding of branching, build, deployment, continuous integration methodologies
• Experience in leading a team and mentoring engineers
• Attitude to get Stuff Done!
• Ability to make decisions independently.
Desired Background:
• Bachelor’s or Master’s degree in Engineering from premier institutes preferred
• 8+ years of experience in software design, development & architecture