Basic Qualifications:
- 2+ years of non-internship professional software development experience
- Programming experience with at least one modern language such as Java, C++, or C# including object-oriented design
- 1+ years of experience contributing to the architecture and design (architecture, design patterns, reliability and scaling) of new and current systems.
Additional Job requirements
- BS/MS/PhD in Computer Science/Math or equivalent
- BS in computer science or related field.
- 2+ years of relevant professional software development experience: designing, developing, and delivering software written in Java, C#, or C++, web development.
- Knowledgeable in object-oriented design patterns.
- Experience building highly scalable and distributed systems
Preferred Qualifications
- Experience with service-oriented architecture and application/services development
- Passion for performance debugging and benchmarking
About Amazon India
About
Amazon is guided by four principles: customer obsession rather than competitor focus, passion for invention, commitment to operational excellence, and long-term thinking. We are driven by the excitement of building technologies, inventing products, and providing services that change lives. We embrace new ways of doing things, make decisions quickly, and are not afraid to fail. We have the scope and capabilities of a large company, and the spirit and heart of a small one.
Together, Amazonians research and develop new technologies from Amazon Web Services to Alexa on behalf of our customers: shoppers, sellers, content creators, and developers around the world.
Our mission is to be Earth's most customer-centric company. Our actions, goals, projects, programs, and inventions begin and end with the customer top of mind.
You'll also hear us say that at Amazon, it's always "Day 1." What do we mean? That our approach remains the same as it was on Amazon's very first day - to make smart, fast decisions, stay nimble, invent, and focus on delighting our customers.
Company video
Photos
Connect with the team
Company social profiles
Similar jobs
Key Result Areas :
● Communication skills and clearness in your reporting and communication.
● Knowledge in the Java programming languages you use.
● Knowledge in the Spring Framework and libraries you use.
● Knowledge in the tool-sets you use.
● Analytical thinking and experience (practical when you design the architecture of the
“thing” prior to coding it).
● Technological understanding (ability to see your new “thing” in a wider perspective, for
example how a small library fits into a large project or product).
● Creativity (finding better ways to achieve your project goals).
● Coding (testable code, clean reusable code, maintainable code, readable code, bug-
free code, beautiful code).
● Correctness (few bugs, few iterations with refactoring).
● Learning (your ability to learn about and use new technologies, protocols, libraries, or
even languages as needed).
● Durability (to stay on track no matter what, even when you feel dead bored, or in way
over your head).
● Adherence to Effort and Schedule
● Team hand holding for day to day activities with team and monitor their progress
● Lead the team technically for the on time delivery and best efforts.
Essentials Skills:
● Strong Hands-on experience in Core Java, Spring framework, Maven, Rational Database.
● Comfortable with source code repository Github.
● Experience in developing REST APIs using Spring-MVC, Play Framework.
● Good to have No Sql, Neo4J, Cassandra, Elasticsearch.
● Experience in developing apache samza jobs (optional).
● Good understanding of CI-CD pipeline.
Senior Software Developers collaborate with Business and Quality Analysts, Designers, Project Managers and more to design software solutions that will create meaningful change for our clients. They listen thoughtfully to understand the context of a business problem and write clean and iterative code to deliver a powerful end result whilst consistently advocating for better engineering practices. By balancing strong opinions with a willingness to find the right answer, Senior Software Developers bring integrity to technology, ensuring all voices are heard.
For a team to thrive, it needs collaboration and room for healthy, respectful debate. Senior Developers are the technologists who cultivate this environment while driving teams toward delivering on an aspirational tech vision and acting as mentors for more junior-level consultants. You will leverage deep technical knowledge to solve complex business problems and proactively assess your team’s health, code quality and nonfunctional requirements.
Job responsibilities
- You will learn and adopt best practices like writing clean and reusable code using TDD, pair programming and design patterns
- You will use and advocate for continuous delivery practices to deliver high-quality software as well as value to end customers as early as possible
- You will work in collaborative, value-driven teams to build innovative customer experiences for our clients
- You will create large-scale distributed systems out of microservices
- You will collaborate with a variety of teammates to build features, design concepts and interactive prototypes and ensure best practices and UX specifications are embedded along the way.
- You will apply the latest technology thinking from our Technology Radar to solve client problems
- You will efficiently utilize DevSecOps tools and practices to build and deploy software, advocating devops culture and shifting security left in development
- You will oversee or take part in the entire cycle of software consulting and delivery from ideation to deployment and everything in between
- You will act as a mentor for less-experienced peers through both your technical knowledge and leadership skills
Job qualifications:
Technical Skills
- You have experience using one or more development languages (Java, Nodejs, React, TypeScript, JavaScript, etc.) with experience in Object-Oriented programming
- You can skillfully write high-quality, well-tested code and you are comfortable with Object-Oriented programming
- You are comfortable with Agile methodologies, such as Extreme Programming (XP), Scrum and/or Kanban
- You have a good awareness of TDD, continuous integration and continuous delivery approaches/tools
- Bonus points if you have working knowledge of cloud technology such as AWS, Azure, Kubernetes and Docker
Professional Skills
- You enjoy influencing others and always advocate for technical excellence while being open to change when needed
- Presence in the external tech community: you willingly share your expertise with others via speaking engagements, contributions to open source, blogs and more
- You’re resilient in ambiguous situations and can approach challenges from multiple perspectives
Other things to know:
Learning & Development
There is no one-size-fits-all career path at Thoughtworks: however you want to develop your career is entirely up to you. But we also balance autonomy with the strength of our cultivation culture. This means your career is supported by interactive tools, numerous development programs and teammates who want to help you grow. We see value in helping each other be our best and that extends to empowering our employees in their career journeys.
Key Responsibilities:
- Rewrite existing APIs in NodeJS.
- Remodel the APIs into Micro services-based architecture.
- Implement a caching layer wherever possible.
- Optimize the API for high performance and scalability.
- Write unit tests for API Testing.
- Automate the code testing and deployment process.
Skills Required:
- At least 2 years of experience developing Backends using NodeJS — should be well versed with its asynchronous nature & event loop, and know its quirks and workarounds.
- Excellent hands-on experience using MySQL or any other SQL Database.
- Good knowledge of MongoDB or any other NoSQL Database.
- Good knowledge of Redis, its data types, and their use cases.
- Experience with graph-based databases like GraphQL and Neo4j.
- Experience developing and deploying REST APIs.
- Good knowledge of Unit Testing and available Test Frameworks.
- Good understanding of advanced JS libraries and frameworks.
- Experience with Web sockets, Service Workers, and Web Push Notifications.
- Familiar with NodeJS profiling tools.
- Proficient understanding of code versioning tools such as Git.
- Good knowledge of creating and maintaining DevOps infrastructure on cloud platforms.
- Should be a fast learner and a go-getter — without any fear of trying out new things Preferences.
- Experience building a large scale social or location-based app.
Hands-on 5 to 7 years of current development experience
supporting/troubleshooting a high-volume online platform
Database – expert MS SQL Server skills, including views and stored procedures, and provide ongoing support, including analyzing logs, writing complex SQL scripts
High-quality software development skills to troubleshoot principally using Microsoft programming tools including using C#, ASP.NET, and client-side technology such as JavaScript, jQuery, HTML, Web Forms, and CSS
Exposure to developing applications using REST API and Angular would be beneficial (or knowledge of troubleshooting API based application)
Experience using dev toolkits eg. GitHub, SQL Server Management Studio, Visual Studio, LINQPad, Postman, reviewing/analyzing application logs
Understanding of development and release processes, including branching.
- Creating technical specifications and test plans.
- Managing defect tracking system and resolving all issues and preparing the update for systems.
- Preparing and maintaining code for various .Net applications.
- Revising, updating, refactoring, and debuging the code.
- Enhancing existing systems by analyzing business objectives, preparing an action.
What you need to have:
- Have experience of working on ASP.NET, VB.NET, C# or MVC.
- Must be good with MS SQL DB queries and optimization techniques.
- Very good in programming logic. Should be well versed with OOPS.
- Knowledge of AngularJS or ReactJS is a plus.
- Familiar with architecture styles/APIs (REST, RPC).
- The ideal candidate should have a good knowledge of working with Telerik Controls.
- Working in any programming language with exposure to Web services /REST API/Third-Party Integration.
- Working exposure to Test, Link, JIRA, GIT, Jenkins, Visual Studio 2015 or later, OOPs concepts, Cloud concepts.
- Good design skills using n-tier architectures (scalability, multithreading, caching, business & data layers) or SOA based application.
- Candidate must know how to work with HTML, XML, JavaScript/Jquery.
- Ability to lead the team and handle pressure and demands.
- Sound knowledge on IT concepts and latest trends.
- Excellent logical and analytical skills.
- Ability to work independently and multi-task in a fast paced environment.
- Strong verbal and written communication and interpersonal skills.
- Highly organized and detail-oriented.
• Strong technical experience with Java 8 and above
• Sound understanding of Database concepts & experienced with MySQL.
• Strong technical experience with JavaScript/Ajax/jQuery
• Good knowledge of Angular 2+ version.
• Good knowledge of REST APIs and Spring Boot.
• Awareness with any of version control systems like Git/SVN/TFS/VSS etc
• Awareness and exposure of AWS architecture components such as S3, SQS, Lambda, EKS etc
Good to Have:
• Knowledge of Docker and Containerization.
• Working in Agile env will be plus.
• Understanding of Code Optimization techniques, Code coverage tool and code analysis tool.
• Working knowledge of CI/CD process.
• Experience of onshore/offshore team collaborations.
• Makes a valuable contribution to team objectives, displays trust and mutual understanding, accepts constructive feedback, and handles confrontation constructively
● Overlook development of all consumer products in JAVA Lead a team of 4-5 developers
● Optimise components for maximum performance across a vast array of web-capable devices
and browsers Focus on code maintainability and performance of application
● Provide technical advice and assists in solving programming problems
● Continuously create new and interactive features that would help to improve user experience
and user engagement.
● Assist with troubleshooting of issues as needed Lead the design and architecture of software
solutions Assist in developing and maintaining continuous integration pipelines
Requirements
● 6+ years of experience in Java based technologies Experience in designing databases and
system architecture
● Experience in building products from scratch
● Experience in building fintech products like Insurance, Payments, Banking etc.
● Experience in building products for scale
● Strong interpersonal skills
● Good in multi stakeholder collaboration
- Strong experience with REST/SOAP web services, JSON, XML and design patterns.
- Good knowledge of Data Structures and Advance DS
- Proficient in test-driven development, latency problem solving, architecture solving and high-level troubleshooting.
- Good understanding of Database and SQL queries.
- Highly proficient in analytical and problem-solving skills with attention to details.
- Demonstrated Agile (Scrum) experience.
- Experience with full software lifecycle and deploying applications to Production.
- Must be a self-starter/self-directed member of the team.
- Must have the ability to translated user requirements into design and implementation.
- Highly proficient in written and communication skills.
SKILLS WE ARE LOOKING FOR
Build reusable APIs for our client-facing apps in Node.js
Create and maintain scalable infrastructure leveraging modern cloud platforms Write tests and documentation as you implement features with your team Maintain expertise in current and emerging technologies and tools
THE PERSON WE ARE LOOKING FOR
4+ years’ Experience with NodeJS
BS degree or higher in Computer Science or Engineering Experience documenting and testing RESTful APIs
Experience working with databases in PostgreSQL, MongoDB or Redis
Experience and enthusiasm for working collaboratively with others in an Agile environment