At CodeNation Innovation Labs, you are constantly surrounded by motivated and driven peers in a fast paced
environment. You will work with the most talented engineers and thought leaders to shape the future of product
development.
We build our technical leadership by developing and growing our talent internally. We strive to provide optimal
conditions to campus recruits in order for them to eventually grow to be Chief Architects at an accelerated
pace. Our assessment process is geared towards identifying the strengths and passion of a student and mapping
those to our work. The focus is to ensure a good overlap of talent, passion and organisation to build a long
lasting relationship.
We are obsessed with the quality of the code we deliver. We believe in clean code that is terse, self contained and easy to modify. In all candidates, we look for the ability to write efficient code as concisely as possible without giving up too much on readability. The language of choice does not matter as long as you have a firm grasp over it. We stress heavily on the evolutivity of the code - its ability to adapt to new constraints without requiring major changes to the design of the software.
If there is one thing every candidate gets asked, it is to design an algorithm to solve a particular
problem. The purpose is to understand if you have the basics down, or, can at least identify core/basic
data structures, respective implementations, and minor optimizations thereof. If you have a good grasp of
algorithms and data structures, you are likely to write good code. It helps if you possess working knowledge
of some commonly used data structures and core CS concepts - Arrays and Strings, Linked Lists, Stacks and
Queues, Trees and Graphs, Recursion and Dynamic Programming, Sorting and Searching, Object Oriented Design,
Scalability and Memory Limits. In some cases, you may need to understand, use or modify data structures not
found in common textbooks. In some cases, you may need to come up with new
data structures or combinations.
To make the process clear and faster, translate the problem into a few
patterns and solve said problem using them. Most importantly, explain, discuss, express your views.
Your approach matters much more than reaching the precise answers. Rushing to a solution rarely helps.
Think about it, understand the mechanics of the situation, look at the problem from multiple
perspectives.
Follow a direction that gives effective practical solutions to complex
problems by making smart tradeoffs. Show your ability to ramp up quickly and to go into depth into any
area.
Be tenacious. Be creative. Start from scratch and take different
approaches each time. It builds your toolbox of techniques and thinking modes. To enhance your problem solving ability, focus on how you go about understanding
the problem being presented. Once you fully understand the problem, similar problems become easier to
solve.
Our constant search for "Only the Best" ensures that we are always on the lookout for serial innovators who
want to create the next generation of software products.
We actively seek out good computer science engineers who can apply their learnings in a very practical
environment. Apart from hosting multiple hiring events, we periodically visit some of the premier engineering
institutes in the country - IITs, NITs, DTU, PESIT- Bangalore, IIIT- Hyderabad, IIIT- Allahabad, Anna
University - Chennai, BITS - Pilani, MSRIT- Bangalore and AIT- Pune.
Be ready with your most impressive projects and biggest wins.
Learn how to internalise complex concepts and be the best at them.
Choose at least one programming language and master your command over it with Real Time problem
solving through application of data structures and implementation of algorithms.
Solve programming challenges on HackerRank. You can never get enough of practice.