Skill Requirements :
- Core Java, Java - Spring Framework, J2EE, Java - ORM, Java - Swing Applet, Java - Web Presentation Frameworks, Java - Messaging Implementation, Java Web Services, SQL Development Languages, Enterprise Architecture Planning (REAP), Planning/ Execution & Tracking, Scoping and Estimating, Data Modeling, High Availability and Failover Applications, High Throughput / Transaction Application, Logical Architecture Design, OOAD and UML, Package / Vendor Selection, Performance / Capacity Planning
- Describes and contrasts OO principles, designing to interfaces, high-cohesion, low-coupling and GoF design patterns, and designs/codes using these
- Describes code quality in detail and re-factors bad code in medium/high complexity situations Demonstrates ability to deliver high quality technology solution as per functional and non-functional requirements.
- Demonstrates ability to establish, enforce and monitor steps of doneness for various types of activities that are done during Development and Maintenance phases of a project for quality of delivery.
- Demonstrates ability to enforce technology standards, best practices and approaches to be leveraged by the team.
- Designs and codes medium complexity applications leveraging advanced Java 1.5 or above features like Serialization, Cloning, Annotations, Generics, NIO, RMI, Sockets, JDBC, JSF, SWING and Multi-Threading Is able to develop persistence layer using JPA or any other ORM framework
- Describes XML Schema, various parsers, their usage, pros/cons of each, and uses these as appropriate Follows TDD for development and writes units tests leveraging frameworks such as JUnit, TestNG, EasyMock, JMock etc. for extensive unit-testing Profiles an application, reads thread dumps, GC logs to measure application performance
- Is able to leverage MDBs and manage synchronous/asynchronous modes of messaging implementations using JMS Demonstrates ability to deploy application for at least one Web and/or Application Server Demonstrates ability to use Caching for performance improvement at the server-side keeping following aspects in mind (refresh strategy, cache size, caching algorithm used etc)
- Demonstrates ability to write complex SQL queries and stored procedures and improve performance of queries by applying techniques like explain plan, creating an index, changing data-type, refactoring/consolidating the query, optimization utilities (tkprof, trace) etc.
- Describes DB locking, transaction management features and codes accordingly Creates low to medium complexity build/release scripts
- Demonstrates ability to write scripts to report system performance (CPU, memory, processes, threads/LWPs, file descriptors, network statistics etc) Plays a key role in the creation of logical architecture diagrams for at least two complex applications and/or systems.
- Captures the various tiers of the architecture and models them in the diagram along with the various external systems and interfaces that the application interacts with in the environment.
- Accurately maps use cases and requirements to the components in the logical architecture diagram and further down to the packaging and deployment diagram.
- Can identify use cases that need to be detailed to create a logical architecture diagram and can identify Enterprise Architecture patterns to be leveraged in the Logical Architecture Design.
- Drives the creation of deployment diagrams, composite diagrams (packaging diagrams), object diagrams, timing diagrams and state diagrams using UML notation.
- Effectively evaluates the various tools available in the marketplace (open source and commercial) that support UML and suggests the right tools to use to accomplish the project objectives in terms of documenting the requirements of the project using UML notations.
- Demonstrates ability for choosing the needed technology stack based on the functional, non-functional requirements and based on other factors like client drivers, environment and feasibility Has hands-on experience on at least 2 project execution models (Agile, Scrum, Iterative, Waterfall...)
- Conducts core activities of planning and tracking such as setting up a plan in the Plan Tool or the chosen project management tool for the project, assigning stories to iterations (if relevant), and managing the plan in terms of issue/dependency tracking and milestones.
- Demonstrate the ability to understand business problem, priority of scope items and manage scope & change management process Leads activities for decomposing requirements into associated stories or other relevant sub units.
- Demonstrates the ability to ensure that Individual objectives are established keeping the focus of the individual's development needs
- Demonstrate ability to address non-performance within the team (improvement plan, back fill, coach etc.) Demonstrate the ability to manage the balance between client demands and the teams work life balance
- Demonstrates the ability to assess the relationship status with key clients, get periodic feedback from client and derive corrective actions as a confidence building exercise, negotiate potentially contentious topics with clients, manage escalations from and to clients
- Demonstrates the ability to develop and manage a risk management plan and process for risk assessment Provides expertise on how new technology trends might apply to client situations.
- Business Knowledge: Financial services domain experiences would be a plus.
Personal Attributes :
- Strong and innovative approach to problem solving and finding solutions
- Excellent communicator (written and verbal, formal and informal)
- Flexible and proactive/self-motivated working style with strong personal ownership of problem resolution
- Ability to multi-task under pressure and work independently with minimal supervision.
- Ability to prioritize when under pressure
Experience : 8-12 yrs
Education : Full Time Bachelor's / Master's degree (Science or Engineering preferred)
Job Responsibilities :
High-level grouping of responsibilities (broken down into tasks / activities) that a given role needs to perform in order to be successful
Architecture & Design :
- Responsible for design and architecture of the project and works with design team and Clients to create the needed artifacts
- Responsible for creating the Non-functional requirements based on the business needs
- Responsible for choosing the needed technology stack based on the functional, non-functional requirements and based on other factors like client drivers, environment and feasibility
- Responsible for identifying and designing dependencies with other systems in the enterprise
Development & Support :
- Responsible for quality delivery of the technology solution as per functional and non-functional requirements. Establishes, enforces and monitors steps of doneness for various types of activities that are done during
- Development and Maintenance phases of a project for quality of delivery. Responsible for enforcing technology standards, best practices and approaches to be leveraged by the team.
- Leads team by example by getting hands-on to deliver complex functionality. Ensures different dependencies are tracked and resolved on time. Troubleshoot complex technical issues on projects Drives setup of the different environment (development, testing, staging, production etc)
Planning, Tracking and Estimation :
- Estimates the implementation and deployment of the various modules based on each module design and how the module fits into the overall project architecture, construction and testing strategy and overall project plan
- Works with the Project Manager to create plans for the projects and decompose them among the various tracks Can actively identify, manage, quantify and escalate risks to various internal and external stakeholders
- Partners with Project Manager and clients to establish Scope Management Process Evaluates the LOE, complexity and risks associated in adding scope items
Client Management :
- Represent the organization in customer-facing communication pertinent to Sapient's technical expertise on the specific platform Interacts with multiple clients (client senior developers and architects) to create technology specifications from the business issues/requirements at an application level Identifies choices and tradeoffs involved in designing and implementing a solution and communicates them to the client.
- Raises technical design and implementation issues in the modules and drives resolution with the client Participates in client workshops like fusions
Team and People Management :
- Manage a small to medium sized team and resolve issues and dependencies in the team independently or, with Project Manager.
- Review the key objectives of projects and clarify the linkage of tasks to the overall objectives Responsible for performance assessment and working with the team for creating growth plans
- Effectively communicate with the team on a periodic basis the company strategy, important events Coach and mentor the team to help deliver to the client expectation Actively participate in, and assists with, company events such as hiring, training and internal initiatives. Drive knowledge sharing lessons learned from project experiences
Thought Leadership :
- Supports capability building for the organization (through tutorials, white papers etc.) in their areas of expertise
- Develops and promotes architectural best practices and standards Stays abreast with the current affairs like leading packages and vendors, forthcoming architectures and trends, and existing and forthcoming standards.
Didn’t find the job appropriate? Report this Job