Home | The Company | Join us | Technical Specialists  
Technical Specialists
The role: a broad picture

These positions are for techies, who have the ability to teach themselves about new systems, and whose fundamental understanding about computer systems is very sound. The position involves mainly software design and development duties, including systems programming, but at a level which is beyond the technical competence of the average business application programmer.

Technical Specialists are not assigned to simple business application development projects. You will either be put in our Products group where you will be working in various programming languages at various times, or in core module development which will be used as infrastructure for large production application systems. You will be expected to be flexible in choice of programming languages and will be expected to pick up the basics of new programming languages as needed, based on your strong fundamentals in programming language behaviour and implementation. Almost all your work will be on Linux and Unix systems.

As a company, we are comfortable with technology. All the desktop computers and laptops in our office run Linux, and we use LaTeX, not Microsoft Word or OpenOffice, for official document creation. (This applies to our sales managers and accountants too.) We use XFig to create corporate Form 16 tax statements and company share certificates. We sometimes send out business correspondence using home-grown Perl scripts to perform mailmerge functions. It is very unusual to find a company like ours in the Indian software industry. We invite you to join us as a Technical Specialist if you value this work environment and culture, and the opportunity for technical growth that you will get here.

For Technical Specialists, the gross remuneration package will be between Rs.500,000 and Rs.1,500,000 per annum, depending on individual experience profiles and competence.

What your work will involve

Technical Specialists are not expected to handle full-time coding responsibilities for any client project. The tasks you are expected to handle will include:

  • Technical leadership and guidance: This is really the key expectation from the role of the Technical Specialist. This is why you will not have project implementation responsibilities for customer projects.

    During ongoing projects, you may be called upon to solve technical problems. This may require hands-on work. The TS will need to analyse code, write small test programs or debug existing code, identify the cause of problems, and provide a direction to the developer to help them proceed. The bugs which you will be expected to address will not be simple cases like incorrect data output from business logic. They will be more technical in nature, e.g. seg-faulting of daemons, OS-level problems, performance bottlenecks or security issues, where application developers feel out of depth.

    In addition, there will be a demand to provide technical leadership while creating a solution architecture for a new project. Here, you will be expected to bring greater technical insight into the exercise and contribute a technology edge to the solutions we build.

  • Technical exploration: There will often be a need to explore new technologies in the broad areas in which we work. This may be something simple like "Does IBM UDB maintain system-generated modification timestamps for every record updated?" to something more complex like "Draw up a broad set of measures that can be used to perform military-grade hardening of a Linux email server using SELinux over and above the RHEL Targeted profile."

    The TS will be assigned such tasks and will expected to deliver output, working either as a solo specialist or as a head of a small, specialised, purpose-built team.

  • Module development: Some critical reusable modules are technically challenging, because of security or performance reasons. These are either used in our product suite or as part of the core modules in the business applications we develop. You may be assigned to design and develop such modules. Such coding tasks will involve Perl, C or shellscripts; Java is rarely used. They will sometimes involve databases, networking, cryptography, or Unix process management.

  • Pre-sales tech support: Our sales teams often face technical questions and challenges while discussing new opportunities with prospective customers. These can only be addressed by a mature technical professional with some techno-commercial sensitivity. The TS will be pulled in occasionally to provide this pre-sales technical support to the sales team, in customer-facing meetings, presentations, and discussions.

  • Specs capture: You will have to work with Project Managers and Account Managers to meet prospective clients, understand the requirements of a new assignment, identify the technical grey areas and potential pitfalls, discuss those with the prospect, and get a clear technical spec from the prospect after these discussions. You will hand over these inputs and clarifications to the PM, who will draw up a formal specs document.

  • Project effort estimation: You will have to work with the Project Manager to estimate the effort required for executing the project and the type of the resources needed for each task. The PM will have the expertise to do effort estimation for routine tasks, but you will have to focus on the unusual or technically challenging modules and estimate their effort.

  • Solution architecture: At the start of new projects, you will work as the solution architect for the overall design. You will then identify technically challenging modules which will need deeper exploration, and you will do a detailed design of these modules. Routine Web-based business apps can be designed in detail by the PM with tech leads. You will hand over your architecture and design to the PM and clarify grey areas at initiation. During implementation, you will be available to provide clarifications whenever design or architecture issues are raised.

As a TS, you are expected to keep yourself well-informed about technology developments by reading online e-magazines, print magazines, and tracking other sources of information. This reading should be reinforced by hands-on experiments and explorations in our very informal lab environment within our office, where new operationg systems are constantly being re-installed and tools tried out.

The profile we are looking for

We do not demand work experience for this position; the technical stream needs both junior and experienced professionals. What we require are:

  1. A B.Sc. degree in Physics or Mathematics, or an engineering or MCA degree from a recognized university or institute
  2. Excellent, not merely good, knowledge of C and computer architecture
  3. Deep familiarity with some programming languages and data structures. You have to be a good programmer.
  4. In-depth knowledge of Unix, including system calls, kernel internals, and shellscripting. You must have read and understood Bach, both the network programming and Unix programming books by Stevens, and preferably Leffler-McKusick.
  5. Knowledge of networking protocols, IP routing, firewalls and security. You must have read and understood Comer, and preferably Cheswick and Bellovin.

Additional desirable attributes:

  • A degree in Computer Science and Engineering (BE/B.Tech./MCA)
  • Knowledge of theoretical computer science, complexity analysis of algorithms, functional programming languages, and formal verification of programs.
  • Excellent command over written and spoken English with a taste in literature and an ability to teach, make a presentation, and conduct lectures
  • HTML, Perl and Javascript experience
  • Work experience
  • Experience in large software projects
The selection process

All applicants will have to go through two written tests, each of which will last 60 minutes. You are encouraged to take both tests on the same day, with a brief gap, to save travel overheads for you and management overheads for us.

One test will be a C programming test, which will contain ten multiple-choice questions. The other will test your knowledge of Unix, basic operating systems concepts, and TCP/IP networking. This will have thirty multiple-choice questions. You will have to perform well in both tests.

If you perform well in the tests, you will be asked to appear for an interview, lasting 30-60 minutes. If selected by the interview panel, you will be offered a position with us.

You must apply online for a time slot for your test. When you do so, you will receive an automatic system-generated response by email, confirming your time slot. This email should reach your mailbox within 30 minutes of your applying online, if you have typed in your correct email address.

Please note that there is a big difference between applying online for a test and taking a test online. We have no mechanism to let you take any of our tests online, nor is such a facility planned in the foreseeable future.

Unless otherwise specified, you will have to come to our office to take the test(s). We are not conducting any tests anywhere other than in our office in Navi Mumbai.

You can also call our office and fix a time slot for your test, in case applying online did not work. Call (Bombay)4153 0500 and ask for Suma More or Rashmi Phalke who coordinate our recruitment process. You will have to specify the following information:

  • Which position you wish to apply for
  • Your full name as per official records
  • Your date of birth as per official records
  • Number of years of industry experience
  • When you wish to appear for the test

Please do not ask our recruitment coordinator any questions about the tests and what they will contain. She is not qualified or equipped to answer any such questions.

Please do not send us your resume till we ask for it. We do not look at resumes or keep them in our files unless you successfully qualify in our test. Bring a printed copy of your resume with you when you come for our interview.

The test will be conducted at our office at Mahape, Navi Mumbai. Directions to reach our office are given here.

We will notify all qualifying candidates of their test results by email within a maximum of 3 working days after they take the test. We will call shortlisted candidates for an interview to our office in Mahape. This interview will last between 30 and 60 minutes. Selected candidates will be issued an Offer of Employment immediately.

Some interesting statistics

The TS test, which tests your knowledge of Unix, TCP/IP networking, and systems concepts, has a set of 30 questions. A correct answer to a question gets you +1, and an incorrect answer gets -0.5. Therefore, the highest possible score on the TS test is +30, and the lowest is -15. We hope to find applicants who will score at least +12.

From 1 July to 30 Sep 2005, 36 people took this test. The highest score in this set was +6.5. Ten candidates scored +1 or more. Four scored +0.5. Two scored zero. And the remaining twenty scored less than zero, the lowest of which was -8.5 (i.e. negative eight point five).

We often call TS candidates for interviews even when they have not performed well in the written tests. We have still not found anyone worth considering for the position.

We continue to look for talented young Technical Specialists.