About the Role:
We are looking for a Senior Software Engineer with experience in ROR/GoLang , having 3+ yrs of experience on how best to leverage and exploit the language’s unique paradigms, idioms, and syntax. Your primary focus will be on developing Enterprise Grade Systems and programs that are scalable and maintainable. You will ensure that these packages and programs are well documented and has a reasonable test coverage. You will coordinate with the rest of the team working on different layers of the infrastructure. A commitment to collaborative problem solving, sophisticated design, and quality product is essential.
What You'll Do
- Writing scalable, robust, testable, efficient, and easily maintainable code
- Translating software requirements into stable, working, high performance software
- Playing a key role in architectural and design decisions, building toward an efficient micro services distributed architecture
What You'll Need
-
Working experience on Ruby-on-Rails(ROR)/Golang.
- Worked on enterprise grade systems
- Have designed web services
- Know how to scale systems that have database bottlenecks etc.
- Having good exposure to Microservices architecture added value.
-
Familiarity with OAuth, JWT, SSO, Authentication, and Identity Federation is an added advantage.
-
Familiar with AWS, Docker, and Kubernetes, Pods and Meshes are added advantage.
-
Experience in MySQL, Snowflake, and MongoDB is an added advantage
Similar jobs
Only 10% of India speaks English and 90% speak over 25 languages and 1000s of dialects. The internet has largely been in English. A good part of India is now getting internet connectivity thanks to cheap smartphones and Jio. The non-english speaking internet users will balloon to about 600 million users out of the total 750 million internet users in India by 2020. This will make the vernacular segment one of the largest segments in the world - almost 2x the size of the US population. The vernacular segment has very few products that they can use on the internet. One big need is that of sharing thoughts. Twitter serves this need globally through a micro-blogging platform. However most of the Tweets are in English and the vernacular Indian feels out of place on it. To solve that problem, we started Koo.
About The Company
The app is a micro-blogging platform in Indian languages. It is an app built in India, for Indians, to share their thoughts and opinions on any topic in their mother tongue using Audio/Video/Text. Koo gives a voice to Indians and enables the “Best of India” to share their thoughts with the “Rest of India”. We provide a personalised feed to users by letting people select the people they want to follow. The user is then shown content from these people. Some of the top minds of India are invited to share their thoughts and opinions on various topics. Users can follow such personalities and follow what they are talking about, and share their opinions too.
We are a Series A venture funded company. It has raised $6.5 million from stellar investors like Accel Partners, Shunwei Capital, Kalaari Capital, 500startups and Blume Venture Partners.
Technology Team & Culture
Nishant (CTO), has headed engineering for large and complex platforms like Coverfox and CitrusPay catering to the needs of millions of consumers. Technology team comprises sharp coders, technology geeks and guys who have tried entrepreneurship or are very entrepreneurial in nature and extremely passionate towards technology. Anyone being part of a technology team will have a lot to learn from their peers and mentors. Download our android app nearing 1 million downloads from play store and take a look at what we are trying to build. Technology stack compromises of a wide variety of cutting edge technologies like Elixir, Java 11, Reactive Programming, MongoDB, Neo4j, Kubernetes, AWS, NodeJS, Python, ReactJS, Redis, Aerospike, ML, Deep learning etc. Working hard & party harder is the mantra that we believe in.
Technology skill sets required for a matching profile
1. Work experience between 2 years to 8 years in building large scale high user traffic consumer facing applications with desire to work in a fast paced startup.
2. Knowledge on reactive and asynchronous programming is preferable. If you have worked with coroutines, goroutines, high concurrency or optimized number of threads for processing on your backend server you could be a good fit.
3. Extremely proficient at writing performant, scalable and production ready code in Kotlin, Java (8 or above, comfortable with concepts like lambda, streams, multithreading etc), Elixir, Rust, or Golang. Should be familiar with static code analysis, code coverage and code reviews.
4. Experience with NoSQL DBs like MongoDB, Cassandra, Redis or Aerospike is required.
Knowledge of graph DBs like Neo4j is preferred.
5. Strong in algorithms, problem solving and data structures.
6. Knowledge of TDD and experience with building applications integrated with CI-CD pipelines (automated build, tests and deployments).
7. Exposure to micro-services with good understanding of containers, kubernetes, logging, alerting and monitoring. Inter services communication. Should know how to handle multiple versions of APIs.
We are looking for an enthusiastic developer with a strong understanding of core Ruby
and Rails framework along with PostgreSQL database. Someone who is passionate
about coding and loves to work in an ongoing challenging environment. You will be part
of a talented software team. You have to consistently deliver in a fast paced
environment and should be more than willing to build software that people love to use.
Key Responsibilities
The individual role that you’ll play in our team:
● Developing large multi-tenant applications in Rails.
● Understanding Rails best practices and religiously introducing those to our
codebase.
● Knowledge on how to do effective Refactoring.
● Ability to write unit tests and following those practices religiously.
● Working closely with the Product managers and UX team.
● Helping QAs to write automated integration tests.
● Staying up-to-date with current and future Backend technologies and
architectures.
Read the ‘Skills and Experience’ section, it is not the usual yada yada, you’ll be
asked specific questions on these.
Skills and Experience
● Ruby on Rails architecture best practices
● Knowledge on the latest versions on ROR
● Strong OOP knowledge in Ruby.
● Asynchronous Networking in Ruby
● Designing RESTFul HTTP APIs using JSON-Schema or JSON API (jsonapi.org).
● Ability to architect and develop API only backend
● Experience in using ActiveRecordSerializer
● Understanding O-Auth2 or JWT (Json Web Token) authentication mechanisms.
● How to use RSpec
● Rails Security Best Practices
● PostgreSQL and Rails.
● SQL concepts like Joins, Relationships etc.
● Understanding DB Partition strategies.
● Knowledge about refactoring ActiveRecord Models (read this - “7 Patterns to
Refactor Fat ActiveRecord Models”).
● Understanding scaling strategies for a high-traffic Rails applications (2 million+
requests a day).
● Background Job processing using Redis and Sidekiq
● Experience in using Amazon Web Services (AWS) tools.
● Writing automated Deployment Scripts using Capistrano, Ansible etc.
● Sending emails in Rails
● Knowledge in Linux and Git is mandatory
Optional Skills
● Knowledge in using Chef or Puppet
● Ability to do basic DevOps like setting up a Linux server.
● Websocket communication in Rails 5.
● Node.js
● JRuby
Technical qualifications
- 2+ years of working experience in delivering web applications.
- Strong experience in Ruby on Rails, API design and architecture.
- Strong experience in databases like MongoDB/PostgreSQL/MySQL.
- Strong understanding of object-oriented programming(OOPs) concepts, data structures, algorithms, APIs, web services, SQL concepts.
- Experience in any JS frameworks like Express. js/Node. js/AngularJS/ReactJS.
- Understanding of version control tools - Git/SVN.
- Supportive in providing clean, maintainable code.
- Empathize with client needs and architect custom solutions.
- Brownie points for knowledge in Golang.
Java Backend Engineer - Fintech Rocketship Pilot
Distributed systems, scalability, reliability, robustness, security, quality, building responsive real time systems - do these terms get your adrenaline high? Come be a part of a high growth, fast paced engineering team building for India’s new generation.
We have an open culture, you take responsibility and ownership of what you do. No bureaucracy. No bullsh*t.
If you are up for big engineering challenges, personal and professional growth, then let’s join forces!
You’ll fit right in if you have - 2-3 years of experience building, running and maintaining production services Strong with Java and JVM based services along with PostgreSQL Comfortable working with multiple cloud providers: mainly GCP and AWS Comfortable with CI and CD tools and best practices Done TDD and values TDD
Good to have –
Engineering aptitude - Owns small features, starting from technical design through completion. Appreciates and participates in technical discussions, and values guidance and feedback. Does not need mentoring on a daily basis; makes steady progress by themselves, and knows when to ask for help to get unblocked. Comfortable with referencing technical specifications, API references, source code, and man pages to understand concepts or solve issues.
Design process - Understands the role and importance of design, can write good backend specifications Can communicate API specifications and design goals to the end consumers API
Code reviews - Understands the value of peer-reviewed code; learns how to be unbiased and provide effective feedback. Asks senior engineers for help when needed (e.g.: architecture decisions, refactoring)
- Hands on programming skills.
- Monitoring application and infrastructure health by using monitoring tools
- Build and deployment automation tools on AWS
- Design and coding experience in Java/golang
- Design and coding experience in Java/golang
- Hands on exposure to GitLab or Github
Ruby and Rails
Creating JSON based web services from Ruby on Rails (RoR) apps
HTML5, CSS3, JavaScript, jQuery, CoffeeScript, Ajax, lodash/underscore.js
A firm grasp of object-oriented analysis and design
Good to have knowledge in any front end framework, Angular or above versions, Backbonejs, Ember.js
Should have extensive experience in Agile software development principles, practice, and process
Should have worked on enterprise-cl applications
RoR Performance tuning and scaling
Proficiency in English strongly preferred
A proactive and resourceful person who achieves with minimal oversight
Team player with the ability and desire to become an integral part of a fast-paced team
Good knowledge of relational databases MySQL, Oracle, Microsoft SQL Server, DB2 or similar
Hands-on experience with at least one of the NoSQL environments like MongoDB, Couchbase, Cassandra
Experience with text search systems like elastic, solr or similar
Hands-on experience in integrating with third-party REST APIs
Managing code with Git and other version control tools
Good to have knowledge of Nginx