0% found this document useful (0 votes)
65 views

Power Programmer: Submitted To: LNT Infotech

The document describes a training program called "Power Programmer" delivered by HP for employees of Lnt Infotech. It will identify 100 Java developers through an initial assessment and select 20 to undergo rigorous training over 8 weeks. The training will cover topics like design patterns, algorithms, testing and more. Participants will have their skills assessed mid-way and through a final mini-project. The goal is to help participants become proficient programmers capable of writing efficient, reusable code.
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
65 views

Power Programmer: Submitted To: LNT Infotech

The document describes a training program called "Power Programmer" delivered by HP for employees of Lnt Infotech. It will identify 100 Java developers through an initial assessment and select 20 to undergo rigorous training over 8 weeks. The training will cover topics like design patterns, algorithms, testing and more. Participants will have their skills assessed mid-way and through a final mini-project. The goal is to help participants become proficient programmers capable of writing efficient, reusable code.
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 10

POWER PROGRAMMER

Submitted To: LnT Infotech

Hewlett Packard India Sales Pvt. Ltd.


HP Education India

Contents
Power Programmer ...................................................................................................................................... 2
Power Programmer? ................................................................................................................................ 2
Delivery Model ......................................................................................................................................... 3
Identification of Participants ............................................................................................................... 3
Pre-Training Assessment ...................................................................................................................... 3
Knowledge Transfer / Training Coverage and Mid-Training Assessment .......................................... 3
Post-Training Assessment (Mini Project) ............................................................................................ 4
Time-Schedule .......................................................................................................................................... 4
Reference Material ................................................................................................................................... 5
Annexure A............................................................................................................................................. 6

Power Programmer
Lnt Infotech as part of its strategic initiative is looking forward to identify certain number of Java
Developers to further to train them to become a Power Programmer. HP along with LnT is working closely
with LnT Learning and Development Unit and with concerned Business Units to organize and deliver the
program within LnT premises and to achieve the set objective.

Power Programmer?
-

Implies to a Professional who is Proficient in - Core Concepts, Data Structures, Web Concepts,
Applicability of Design Patterns, and Ability to relate to Client and Server side frameworks (despite
not having worked with them). Someone who has the ability to separate abstraction from
implementation.

Implies to a Professional who has the Ability - To analyze abstract requirements, Model them and
translate into Technical Specifications that result into Minimal Code and Reusable Components.
Someone who can solicit requirements metadata (Non-functional requirements e.g. Performance Expectation) and consider them while writing Technical Specifications. Someone
who is always Inquisitive and prepare to see 'n' years down the line in terms of how the software
should behave then.

Implies to a Professional who can Write Object Oriented and Re-usable Code in a timely manner,
achieve much more with very 'Less' lines of code, have excellent Exception Handling,
Externalization, Configuration (JVM and so) and respects the Non-functional requirements as
prioritized in the 'Analysis' mode.

Implies to a Professional who will have a Sound Developer Ethic - Write 'good' test cases with
>98% test coverage, have no 'Critical' defects, Write Load Test Cases, Write Articulate Code and
Usage Documentation, have an ability of thinking of do-ability before Committing Estimates and
should always be keen to help improve the Development Processes for the overall well-being of
the Project.

Delivery Model
Basis the series of discussion between HP Team and LnT Business Units and Learning & Development
Team, a comprehensive program delivery model has been designed which includes the following stages:
-

Identification of Participants
Pre-Training Assessment
Knowledge Transfer / Training Coverage
Mid-Training Assessment
Post Training Assessment Mini Project

Identification of Participants
-

There will be total of 100 participants who will understand Pre-training assessment.

Business Units will identify these 100 participants basis their availability, skill set etc.

Pre-Training Assessment
-

HP will evaluate 100 participants on scenario based questions.

The kind of scenario given to individuals shall be like:


o

Write a REST web service to upload a Word File and make the uploaded file appear as a
hyperlink accessible through a web browser.

Scenario - My Invoice application integrates with a number of third party applications via
web services in a way whenever there is an invoice created/updated the third party apps
are notified immediately. Only problem is we have a flexible number of such third party
apps to notify. So, if today our App notifies Third Party App 1 and Third Party App 2,
tomorrow our app would have to notify Third Party App 3 along with the other 2 with a
condition that our app need not be restarted to make this happen. Write a program to
achieve above assuming sample data structure for Invoice that our app would need.

It is estimated that our consultant will evaluate 12-13 participants in a day and will take around 8
days to complete the pre-training assessment activity for 100 participants

Basis the performance of an individual, our consultant will evaluate them and share the merit
score with LnT L&D Team.

L&D team to shortlist 20 participant basis the merit score who will undergo rigorous training
program.

Knowledge Transfer / Training Coverage and Mid-Training Assessment


-

It is understood from the meetings held between HP and LnT Team that since all the identified
participants are billable resources and are already engaged into project delivery related activities,

they can undergo a training program for only 2 hrs a day (Mon-Fri) and for 8 hrs on Saturday.
Taking the same into consideration, we have prepared the detailed day-wise coverage plan.
-

It is estimated that we need around 55 hrs of learning time to cover the given set of topics.

The training delivery plan has been kept in such a way that our consultant can also evaluate the
participants during the mid of the program and can keep a track on participants performance on
regular basis. To manage this, 2 mid training assessment will also be taken during mid of the
program at different intervals.

The mid-training assessment would again be scenario based and will cover the topics delivered
during the week.

Score of the mid-training assessment will be based on set parameters and the template of the
same will be shared in due course of time, before the start of the program.

Refer to Annexure A, to understand the day-wise training agenda along with mid-training
assessment schedule.

Post-Training Assessment (Mini Project)


-

For the successful closure of the project, it is essential to measure the learning outcome and
therefore after completion of the said program; all the participants will be assigned a mini-project
to work on.

The mini-project will be assessed by our consultant and accordingly rating will be provided to LnT
Team.

Time-Schedule
Activity
Pre-Training Assessment
Training Delivery and Mid-Training Assessment
Post Training Assessment

Estimated Duration
8 Days
56 Hrs & 12 Hrs
12 Hrs

Reference Material
Following are the reference link one can refer to prepare himself to align with the end objective:
JVM Spes
https://docs.oracle.com/javase/specs/jvms/se7/html/
Collections Overview
https://docs.oracle.com/javase/tutorial/collections/implementations/queue.html
Threading - Example scenario
http://www.journaldev.com/1058/java-deadlock-example-and-how-to-analyze-deadlock-situation
Algorithms
http://www.vogella.com/tutorials/algorithms.html
Transactions
http://www.oracle.com/technetwork/java/javaee/jta/index.html
Architectures - Example paradigm
http://matt-welsh.blogspot.in/2010/07/retrospective-on-seda.html
Design Patterns
http://www.uml.org.cn/c++/pdf/DesignPatterns.pdf

Annexure A
Week - 1
Day

Duration (in Hrs)

Topics to be covered
1. Introduction on Junit, TDD, ATDD and BDD
2. Introduction on Mocking & JMockito

Mon

3. Detail theory session on Junit & demo on TDD


4. Detail theory session on Mocking & JMockito
5. Exception Handling
1. Classes, Objects & life cycle of an Object.
2. How to identify Classes/Objects from requirement

Tue

4. Inheritance concepts
5. Encapsulation, Polymorphism
6. Abstract classes Vs Interfaces
1. Introduction to GRASP Pattern & RDD

Wed

2. List of patterns available in GRASP


3. Expert, High Cohesion and Creator
4. Controller, Polymorphism, Low coupling, Indirection, Pure Fabrication
1. Discuss about list of design principles

Thu

2. Generalisation and Specialisation concepts and examples for each of the concepts.
3. Concepts of Collaboration Vs Inheritance

Fri

1. Detail concepts and rules about inheritance.


2. Clean Code ReCap"
1. Refactoring concepts
2. List of refactoring techniques and how to apply them in our application.
3. How to use eclipse effectively for refactoring.

Sat

4. Introduction about SOLID design principle


5. Discuss each of the point from SOLID principle and provide examples
6. Discuss in detail about Open Close principle.
7. Introduction about collection framework and various types of collections available in Java
8. Implementation of List, Set and Map interfaces.

Sat

Mid-Training Assessment

Week - 2
Day

Duration (in Hrs)

Topics to be covered
1. Introduction to Sorted Map, Tree Map and how it works internally.
2. Introduction about Set interface, HashSet, Tree classes

Mon

3. Generics - What & Why?


4. Introduction about Comparable and Comparator interfaces and how to use them in our programs
5. How to use comparable interface for custom classes where we use them along with TreeMap/TreeSet
1. Introduction about various sorting algorithms.
2. Introduction about searching algorithms

Tue

3. How sortign and searching algorithms used in collection frameworks


4. JDK 8 - Streams & Lamda expressions (What, How and Where?)
5. Introduction to custom collection implementation.
6. How to implement our own collection class and things to be considered while implementing our own collections.
1. How to choose efficient collection for your requirement.

Wed

2. Concurrent collection frameworks


3. Recent collection API added in Java 1.6 & 1.7, 8
1. Introduction about various sorting algorithms.
2. Introduction about searching algorithms

Thu

3. How sortign and searching algorithms used in collection frameworks


4. JDK 8 - Streams & Lamda expressions (What, How and Where?)
5. Introduction to custom collection implementation.
6. How to implement our own collection class and things to be considered while implementing our own collections.
1. How to choose efficient collection for your requirement.
2. Concurrent collection frameworks

Fri

3. Recent collection API added in Java 1.6 & 1.7, 8.1.


4. Introduction about GoF patterns
5. Discuss about singleton, Factory, Abstract Factory and Builder patterns.
1. Implmentations and uses of each of the above design patterns

Sat

Sat

Discuss about Command, Visitor, Observer, Strategy, Template Patterns and see demo of the each pattern.

Sat

Mid-Training Assessment

2. Domain Driven Design - How to Identify?


3. Discuss about J2EE patterns like BO, VO, DAO, DTO

Week - 3
Day

Duration (in Hrs)

Mon

Topics to be covered
Discuss about J2EE patterns like Session Faade, Business Delegage, service locator patterns.
1. Core concepts of HTML5 & CSS3

Tue

1.1 Page Semantic


1.2 Page Style
1.3 Responsive Web Design
1. Evolution of JavaScript
1.1 ECMA Standars

Wed

1.2 TypeScript & Various JS Frameworks


2. Browser Evolutions
2.1 Browser Engines
2.2 Development Tools
HTML5 Topics

Thu

1.1 Canvan & Graphics


1.2 Client Storage
1.3 Charts
HTML5 Topics

Fri

1.3 GeoLocation
1.4 WebWorkr

Sat

Sat

Introducing Jquery/AngularJS/GWT/VAADIN. What to use when, Best Practices,..


VAADIN and GWT
Architectures and Majot F/W Components

Sat

Mid-Training Assessment

Week - 4
Day

Duration (in Hrs)

Mon

Topics to be covered
SPA, Navigation, Data binding, Event Management
Compilation Process, Using Maven Plugins, Add on repositories
Exception Management, Using Web Sockets

Tue

Write Sample Assignments


Using Custom Components

Wed

Custom Component Repository


Mapping to JPA world

Thu

Building Complex widgets - Tables/Tabs/etc


Mapping UI widgets to one to one/one to many/many to many object associations
Building Custom Widgets

Fri

Using Themes
Assignment - Build UI based on object model
Team Formation

Sat

Sat

Business Problem Assignment


Tool and Env Setup
Query Session

Week - 5 (Mini Project)


Day

Duration (in Hrs)

Topics to be covered
Monitoring whether project dev is on track

Mon

Assessing and FineTuning DataModel


Articulating Requirements
Other Help
Monitoring whether project dev is on track

Tue

Assessing and FineTuning DataModel


Articulating Requirements
Other Help
Monitoring whether project dev is on track

Wed

Assessing and FineTuning DataModel


Articulating Requirements
Other Help
Monitoring whether project dev is on track

Thu

Assessing and FineTuning DataModel


Articulating Requirements
Other Help

Sat

Project Evaluation

You might also like