Assistant Manager at Tally Solutions Pvt. Ltd.
Views:44 Applications:7 Rec. Actions:Recruiter Actions:0
Tally Solutions - Staff Engineer - C/C++ (9-14 yrs)
Tally is a pioneer in the business software products arena. Since its inception in 1986, Tally's simple yet powerful products have been revolutionizing the way businesses run. Having delivered path breaking technology consistently for more than 30 years, Tally symbolizes unmatched innovation and leadership.
Today, it caters to millions of users across industries in over 100 countries and continues to be the unchallenged industry leader in the enterprise resource planning software domain.
Tally is used by close to 1.5 million businesses across the world. We have a 28000+ strong partner network and a total strength of 800+ employees. Tally is Head quartered in Bangalore with 19 regional offices across India and 2 overseas offices (Dubai & Kenya).
Tally's products run on Tally's own technology platform, which is developed in-house at our Engineering center. Our engineers do cutting edge technology work; developing platform artifacts for memory management, data structures, versioned database engine, business data artifacts, UI platform and even a development language which are part of our platform.
On the end user side, Tally application development covers a vast range of business functions from accounting, inventory, billing, payroll, manufacturing, costing, budgeting, auditing, compliance etc.
Our Engineering center is located in Bangalore while our sales offices and partners are spread across the country and specific regions outside India.
Our Engineering team consists of highly talented engineers who live a purpose and dream to develop the software that will accomplish our goal - To be the technology fabric that drives economic growth of the world- TallyWorld is Tally's visualization of how businesses will operate in the future and therein the next generation of Tally products and associated services.
We intend to bring together the world's largest network of interconnected businesses through our solution where businesses will be able to talk to each other and manage all their operations and transactions under one roof. All this with financial-grade security, telco-grade availability and Tally grade simplicity, speed and accuracy.
To build this network of businesses tally likes to build its own technology stack to deliver the required products. Major components of the stack are highlighted below :
Operating system : We use a trimmed down version of the Linux
Database system : An Object-oriented database written by Tally to support single view, replication, distributed and multi-tenancy
Web server & app server : We shall write our own hosting platform that can handle millions of connections per server
Communication and Security : We write our own communication and security layer which cannot be broken even when source code is available
4GL Engine : Tally shall define its own language and build a VM to run the programs written using this language
Role : Staff Engineer / Senior Staff Engineer Experience: 10-14 yrs What will you be doing?
- Create a code design document that captures the scope of the module (or a subset) in terms of what the module will provide by way of APIs, its dependencies, the code organization, data structures and algorithms to be employed
- Participate in activities that lead up to the code design
- This may include activities such as developing prototypes, proof of concept, compare pros and cons of various implementation choices being considered and recommending the most appropriate one
- Bring the team's attention to the coding guidelines to be followed
- Review critical pieces of code that are developed as per this code design
- Ensure that the code being delivered is of the highest quality, ensure appropriate unit tests and functional tests are considered
Who are we looking for?
- Proficient in C/C++ development, OS concepts, Data Structures, Distributed Computing and Algorithms
- Advanced programming and design skills
- Can write good quality modular code that is maintainable and extensible
- Ability to pick up new technologies rapidly to convert specs to low level design
- Clearly communicate the intent and approach when producing a code design document
- Mentor and influence junior developers to adhere to good coding standards and become quality conscious