Power Programmer: Submitted To: LNT Infotech
Power Programmer: Submitted To: LNT Infotech
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
-
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.
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.
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
Topics to be covered
1. Introduction on Junit, TDD, ATDD and BDD
2. Introduction on Mocking & JMockito
Mon
Tue
4. Inheritance concepts
5. Encapsulation, Polymorphism
6. Abstract classes Vs Interfaces
1. Introduction to GRASP Pattern & RDD
Wed
Thu
2. Generalisation and Specialisation concepts and examples for each of the concepts.
3. Concepts of Collaboration Vs Inheritance
Fri
Sat
Sat
Mid-Training Assessment
Week - 2
Day
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
Tue
Wed
Thu
Fri
Sat
Sat
Discuss about Command, Visitor, Observer, Strategy, Template Patterns and see demo of the each pattern.
Sat
Mid-Training Assessment
Week - 3
Day
Mon
Topics to be covered
Discuss about J2EE patterns like Session Faade, Business Delegage, service locator patterns.
1. Core concepts of HTML5 & CSS3
Tue
Wed
Thu
Fri
1.3 GeoLocation
1.4 WebWorkr
Sat
Sat
Sat
Mid-Training Assessment
Week - 4
Day
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
Wed
Thu
Fri
Using Themes
Assignment - Build UI based on object model
Team Formation
Sat
Sat
Topics to be covered
Monitoring whether project dev is on track
Mon
Tue
Wed
Thu
Sat
Project Evaluation