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.
About Thoughtworks
Founded in 1993, we’ve grown from a small team in Chicago to a leading software consultancy of more than 8000 Thoughtworkers in 17 countries. Our cross-functional teams of strategists, developers, data engineers, and designers bring over two decades of global experience to every partnership.
Thoughtworks invented the concept of distributed agile and we know how to harness the power of global teams to deliver software excellence at scale. Today we help our clients to create their own path to digital fluency and to build organizational resilience to navigate the future.
Our job is to foster a vibrant community where people have the freedom to make an extraordinary impact on the world through technology.
As a Thoughtworker, you are free to seek out the most ambitious challenges. Free to change career paths. Free to use technology as a tool for social change. Free to be yourself.
Similar jobs
Architect, develop and maintain highly scalable, reliable and secure distributed backend
systems on Cloud (AWS or Azure) or on-premises environments for Mihup, its customers
and partners.
Work closely with your fellow engineers to develop systems capable of concurrently
processing massive amounts of voice data both in online real-time as well as offline
environments.
Drive accountability for test driven development, delivery of high-quality features and
resilient enterprise class solutions.
Lead a culture of team ownership and direct individual and team accountability to
continuously improve how they work to achieve results.
Work in a startup environment, pushing boundaries with deep involvement with business.
BE//BTech/ME/MTech in Computer Science or a related field from a Tier I or Tier II
University.
6-8 years of hands-on software development and deployment experience (experience of
working in a consumer product startup during its growth phase will be a plus) of which 1 – 2
years of experience would be in leading a team of software developers.
Expertise in Java 8+ and Spring Boot is a must
Good experience in messaging platforms like RabbitMQ/Kafka
Good experience in distributed systems and relational & NoSQL databases like PostgreSQL,
MySQL, Redis, MongoDB, etc.
Expertise in one or more of: Python, NodeJS, GoLang would be preferred
Must have hands on experience in products which handle multiple concurrent calls (API),
handle CPU intensive jobs, consist of multiple asynchronous system calls.
Worked on microservices based architecture and design
Managed/ Owned infrastructure on AWS/Microsoft Azure/private clouds and setup high
availability systems
Knowledge of Docker and Kubernetes
Knowledge of RESTful APIs, caching concepts, the HTTP protocol and general web
architecture
Pluses
1. Anything that will let us know more about who you are that you would like to share such as
Blogs, Twitter, Medium, GitHub etc.
What we are looking
- You must have experience in Python, including development of microservices using flask/fastapi/sanic.
- You hold knowledge of at least one Python web frameworks
- You have experience in NoSQL databases such as MongoDB
- You are familiar with relational databases and unstructured data.
- You are familiar with some ORM (Object Relational Mapper) libraries.
- You have prior exposure to code versioning tools such as Git.
- You understand fundamental design principles behind a scalable application
Good to have
- Experience in cloud services such as AWS
- Knowledge of user authentication and authorization between multiple systems, servers, and environments
- Understanding of the threading concepts in Python and multi-process architecture
What you'll do
- Create database schemas that represent and support business processes
- Integrate multiple data sources and databases into one system.
- Develop and integrate RESTful APIs and services for business use cases
- Perform unit and integration tests on developed modules
Enterprise Minds, with core focus on engineering products, automation and intelligence, partners customers on the trajectory towards increasing outcomes, relevance and growth.
Harnessing the power of Data and the forces that define AI, Machine Learning and Data Science, we believe in institutionalizing go-to-market models and not just explore possibilities.
We believe in a customer-centric ethic without and people-centric paradigm within. With a strong sense of community, ownership, and collaboration our people work in a spirit of co-creation, co-innovation and co-development to engineer next-generation software products with the help of accelerators.
Through Communities we connect and attract talent that shares skills and expertise. Through Innovation Labs and global design studios we deliver creative solutions.
We create vertical isolated pods which has narrow but deep focus. We also create horizontal pods to collaborate and deliver sustainable outcomes.
We follow Agile methodologies to fail fast and deliver scalable and modular solutions. We constantly self-asses and realign to work with each customer in the most impactful manner.
Pre-requisites for the Role
1.Job ID-EMJB0120PS
- Primary skill:
- Java version 8.0
- Apache Kafka
- Java version 8.0
- SQL
- Good communication skills, proactive and responsible way of working
- Secondary skill:
(Good to have)
- Wicket/JSF/Struts/Servlet/JSP experience on any of the web development technology
- SQL Server / Oracle
- JPA/JCA
- Spring (Boot, Cloud, additional feature)
- Micro Services
- Container Orchestration (e.g. Docker)
- Container Management System (e.g. Kubernetes)
- Continuous Integration and Continuous Delivery (e.g. Jenkins)
- Years of Experience: 5-8 Years
- Location:(Hybrid Model)
- Position-2
- Budget- Max 30 LPA
- NP- Immediate
Primary Role & Responsibility
As a senior software engineer, your daily work involves technically challenging applications and projects where your code makes a direct contribution to the further development and upkeep of our VI solutions and to its application in projects.
As a software engineer, we expect much more from you than just the ability to design and develop good software. We find it important that you possess an inherent drive to get the best out of yourself every day, that you are inquisitive and that you are not intimidated by situations which require you to branch off from the beaten track. You work together with colleagues in a SCRUM team. In addition, you have regular contact with other software teams, software architects, testers and end users. Good communication skills are therefore extremely important, as well as the ability to think pro-actively and suggest possible improvements. This gives you every opportunity to contribute your personal input and grow and develop within the department.
The often-complex functionality of the software includes business logic, controls for logistical transport, communication with external computer systems, reporting, data analysis and simulation. This functionality is spread across the various components of the VIBES suite. You design, program and test the software based on a design concept and a set of requirements. In some cases, you must personally formulate these requirements together with the (end) users and / or internal stakeholders. Learn more about the VI products.
Desired Profile & Experience: Knowledge of Kafka and experience with Java
Job Description:
- Educational Qualification:
- E., B. Tech, BSc. Tech, MCA, or an equivalent degree
- Essential:
- Strong Knowledge of Core Java & Advanced Java.
- In-depth knowledge of Spring MVC framework, Spring Security framework, Tag libraries, Hibernate framework, Spring Boot, Micro services, etc.
- Should have the knowledge and experience in REST API, JSON, XML.
- Knowledge of frontend technology - Angular/React, JSP, HTML, CSS.
- Should have thorough Knowledge of any Two of the RDBMS, i.e., Oracle, MSSQL, PostgreSQL, IBM DB2, etc.
- Should have understanding of NoSQL Databases such as MongoDB.
- Databases Designing and implementing in accordance to end-users information needs and views.
- Hands on database triggers, function and procedures.
- Strong knowledge of Web based applications.
- Should have know-how of 3-tier architecture.
- Should have understanding of HTTP/s (SSL).
- Should have Hands on experience of Microsoft OS, Linux OS, etc.
- Should have used SVN, Bug tracking and Test case repository tools.
- Knowledge / exposure to Secured Coding Practices keeping the requirements to avoid OWASP top 10 vulnerabilities in Application. Ability to understand and fix such vulnerabilities. This would be an added advantage.
- Knowledge of Software Effort estimation
- Inclination towards Documentation (Very Important)
- Should have at least 2 years’ experience as a full stack developer.
Who you are:
- You have an overall software development experience of 4 to 10 years
- 3+ years proficiency in Java and Spring boot
- Familiar with distributed computing and frameworks such as gRPC/ protobuf
- Understands JVM metrics, Garbage collection and performance tuning
- Experience in creating high-level design(HLD) and low-level design(LLD)
- You have a good understanding of relational database, NoSQL technologies, and REST
- Good to have experience in HTML, JavaScript, GraphQL, TypeScript, ReactJS and related toolsets
- Exposure to AWS stack/cloud computing
- Self-motivated developer who takes ownership of work
- Bachelor’s degree in Computer Science or Computing related discipline
- Experience in Product Development Environment is a plus.
Job Details:
- Three plus years of experience in IT systems analysis and application program development
- Experience in an Object Oriented Programming language such as Java is a must
- The candidate must be a hands-on coder doing active development
- Extensive experience programming in Java Application Development & RESTful API
- Experience in AWS Cloud technologies is optional but good to have
- Proficient in Object-Oriented Programming (OOP) concepts, workflows, and design patterns
Software Development Engineer (III) @ REBEL FOODS
We are surrounded by the world's leading consumer companies led by technology - Amazon for retail, Airbnb for hospitality, Uber for mobility, Netflix and Spotify for entertainment, etc. Food & Beverage is the only consumer sector where large players are still traditional restaurant companies. At Rebel Foods, we are challenging this status quo as we are building the world's most valuable restaurant company on the internet, superfast. The opportunity for us is immense due to the exponential growth in the food delivery business worldwide which has helped us build 'The World's Largest Internet Restaurant Company' in the last few years. Rebel Foods current presence in 7 countries (India, Indonesia, UAE, UK, Malaysia, Singapore, Bangladesh) with 15 + brands and 3500+ internet restaurants has been built on a simple system - The Rebel Operating Model. While for us it is still Day 1, we know we are in the middle of a revolution towards creating never seen before customer-first experiences. We bring you a once-in-a-lifetime opportunity to disrupt the 500-year-old industry with technology at its core.
We urge you to refer to the below to understand how we are changing the restaurant industry before applying at Rebel Foods.
https://jaydeep-barman.medium.com/why-is-rebel-foods-hiring-super-talented-engineers-b88586223ebe">Link
https://jaydeep-barman.medium.com/how-to-build-1000-restaurants-in-24-months-the-rebel-method-cb5b0cea4dc8">Link 1
https://medium.com/faasos-story/winning-the-last-frontier-for-consumer-internet-5f2a659c43db">Link 2
https://medium.com/faasos-story/a-unique-take-on-food-tech-dcef8c51ba41">Link 3
An opportunity to revolutionize the restaurant industry
Here, at Rebel Foods, we are using technology and automation to disrupt the traditional food industry. We are focused on building an operating system for Cloud Kitchens - using the most innovative technologies - to provide the best food experiences for our customers.
You will enjoy working with us, if:
- You are passionate about using technology to solve customer problems
- You are a software craftsman or craftswoman who is obsessed with high quality software
- You have a flair for good design and architecture
- You are unafraid of rearchitecting or refactoring code to improve it
- You are willing to dive deep to solve complex software issues
- You are a teacher and mentor
Our technology ecosystem:
- Languages: Java, Typescript, Javascript, Ruby
- Frameworks: Spring Boot, NodeJS, ExpressJS
- Databases: AWS Aurora, MySQL, MongoDB
- Cloud: AWS
- Microservices, Service Oriented Architecture: REST APIs, Caching, Messaging, Logging, Monitoring and Alerting
- CI/CD and DevOps
- Bitbucket, Jira
You will mostly spend time on the following:
- Leading the design and implementation of software systems
- Driving engineering initiatives across teams with a focus on quality, maintainability, availability, scalability, security, performance and stability
- Writing efficient, maintainable, scalable, high quality code
- Reviewing code and tests
- Refactoring and improving code
- Teaching and mentoring team members
We’re excited about you if you have:
- At least 4+ years of experience in software development, including experience building microservices and distributed systems
- Excellent programming skills in one or more languages: Java, C#, C++, Typescript, Javascript, Python or Ruby
- Experience working in Cloud environments: AWS, Azure, GCP
- Experience building secure, configurable, observable services
- Excellent troubleshooting and problem-solving skills
- The ability to work in an Agile environment
- The ability to collaborate effectively within and across engineering, product and business teams
We value engineers who are:
- Crazy about customer experience
- Willing to challenge the status quo and innovate
- Obsessed with quality, performance and frugality
- Willing to take complete responsibility and ownership of results
- Team players, teachers, mentors
The Rebel Culture
We believe in empowering and growing people to perform the best at their job functions. We follow outcome-oriented, fail-fast iterative & collaborative culture to move fast in building tech solutions. Rebel is not a usual workplace. The following slides will give you a sense of our culture, how Rebel conducts itself and who will be the best fit for our company. We suggest you go through it before making up your mind.
https://www.slideshare.net/">Link 4
- Strong fundamentals in data structures, algorithms.
- Strong fundamentals in Core Java/J2EE.
- Familiarity with any one of Spring, Struts, Hibernate frameworks.
- Familiarity with code design principles, patterns, and best practices in java.
- Understanding of SQL and NoSQL databases.
- IDE/Tools - Eclipse, NetBeans, Ant, Maven, Gradle
- Web Technologies - XML/XSD, HTML 5.0, CSS 3.0, JavaScript, JQuery, YUI
- Configuration Management - GIT, Subversion SVN
- Active participation in one or more open-source projects is a strong plus
- Familiarity with the AWS cloud ecosystem is a strong plus.
- OCJP certified will be an added advantage.
- Hands-on with *Unix/Windows based systems.
- B.E Computer Science or equivalent
- 3 years experience with the Django framework
- Experience with building APIs (REST or GraphQL)
- Strong Troubleshooting and debugging skills
- React.js knowledge would be an added bonus
- Understanding on how to use a database like Postgres (prefered choice), SQLite,
MongoDB, MySQL.
- Sound knowledge of object-oriented design and analysis.
- A strong passion for writing simple, clean and efficient code.
- Proficient understanding of code versioning tools Git.
- Strong communication skills.
Experience:
- Min 3 year experience
- Startup experience is a must.
Location:
- Remote developer
Timings:
- 40 hours a week but with 4 hours a day overlapping with client timezone. Typically
clients are in California PST Timezone.
Position:
- Full time/Direct
Other Benefits
- We have great benefits such as PF, medical insurance, 12 annual company holidays, 12
PTO leaves per year, annual increments, Diwali bonus, spot bonuses and other
incentives etc.
- We dont believe in locking in people with large notice periods. You will stay here
because you love the company. We have only a 15 days notice period.
BASIC QUALIFICATIONS
- Ability to design for scale
- Implement solutions for broadly defined problems
- Drive best practices and engineering excellence
- Development of code in object oriented languages like C++ and Java and build large scale robust distributed systems
- 3+ years experience building successful production software systems
- A solid grounding in Computer Science fundamentals (based on a BS or MS in CS or related field)
- Experience developing software services and an understanding of design for scalability, performance and reliability.
- Mastery of the tools of the trade, including a variety of modern programming languages (Java, JavaScript, C/C++) and open-source technologies (Linux, Spring)
- Proven ability to work in a fast paced, agile and in an ownership and results oriented culture.
1. Technical skills include Java/JDK 6 and above, web services SOAP, REST, Micro Webservice, XML Parsing and schema design skills, JDBC, ORM, Multi-Threading.
2. Hands-on experience in design (HLD/LLD) and design patterns and Design principles is mandatory.
3. Excellent communication and client handling skills are required.
4. Server-side component design, detailed technical design, development, implementation and maintenance
5. In depth knowledge of core java. Solid on coding fundamentals e.g. Object-Oriented design, data structures and dependency injection
6. Hands-on experience in widely used third party frameworks (e.g. Spring, Hibernate)
7. Experience with Java Script framework like EXTJS, Jquery , Angular etc.
8. Strong background Object Oriented analysis and design
9. Hands on experience with Databases technologies preferably MS SQL Server.
10.Knowledge of deployment platforms Jboss/ Wildfly/Tomcat.
11.Experience working in high performing development teams using Agile/Scrum methodologies and tools (eg.Agile,Jira)
12 Experience with automated code review tools and build process.
13.Experience in performance optimization by code optimization, profiling, detecting bottle neck and finding contended locks in system
14.Proven track record of being a successful developer and lead and mentor by accomplishing tasks on schedule with strong initiative, commitment to quality, team blending and leadership skills.
15.The candidate must be highly self-motivated confident and mature, well developed analytical and problem-solving skills with the aptitude to learn as well as a flexibility to adapt to change.
16. Candidate should have worked on end-to-end life cycle of the project (ideation to go-live)
The right candidate will be offered ESOPs as well in their compensation.