Career counselling FAQ for IT professional
Below are career
related questions which are frequently asked by IT professionals.
I have 2 years in ASP.NET working
in a small firm. I want to join a MNC . I am getting 1.8 lakhs per annum Can i
ask for 3.5 Lakhs. Is the quote right , should i asked directly this salary
?
How is software architecture
different from project management ?
I
am following CMMI but still can not manage projects. In one of my interviews i
was asked about this but i was not able to give a confident answer.
I want be a software architect
?
-----------------------------------------------------------------------------------------------------------------------------------------------------
Question :- I have 2 years in ASP.NET working in a small firm. I want to join
a MNC . I am getting 1.8 lakhs per annum Can i ask for 3.5 Lakhs. Is the quote
right , should i asked directly this salary ?
By Shivprasad Koirala
MNC have salary slab fixed ( That's what my exp is with Accenture , DELL and
Wipro). That means if you have 2 to 3 yrs of exp you can have salary between
22000 PM to 40000 PM ( Per month). As they have strict HR policies they try to
put every one in a equal slab. So even if you demand more the slab is fixed. A
exceptional hike can not be more than 40 percent of your current CTC in any MNC.
YOur asking range is approximately 50 %. It can also turn back.
Ask for
40% hike ( if you are very confident) with negotiable word attached
------------------------------------------------------------------------------------------------------------------------------------------------------
Bhavanesh Asar
The other workaround for getting higher salary is try to negosiate with ur
existing employer and than jump to next job this is much more easy
way
-----------------------------------------------------------------------------------------------------------------------------------------------------
Rajesh Pillai
Salary hike is dependent on many criteria like
- industry standard
-
your experience level
- the need or urgency[If the company is in badly need
for a paticular skillset[they will pay you upto 100%] ]
For the third
one to apply you ought to have some unique skill set/good experience with known
clients.
In general don't ask for a particular amount, let them come up
with their slab
and if they ask your expectation and you find that their slab
is lower than 40%
then you can ask for 40% + negotiable in a polite
way.
But, nowadays, I find getting upto 60% hike is a norm the way
recruitment is being going on and the salary being given out[my last 3 months
exp in recruiting[feedback from collegues] tells me this].
But this is
just an exception.
So, brush up your skillset, deep dive into it, master
certain unique aspect of your work area and then apply for a job. Chances are
you might get more than you wanted :)
And there is always an exception to
the
rule....
----------------------------------------------------------------------------------------------------------------------------------------------------------
Sainath Sherigar
Check this article from Economic Times which pretty much sums up what one
needs to do in this regard.
http://economictimes.indiatimes.com/articleshow/1873840.cms-----------------------------------------------------------------------------------------------------------------------------------------------------------
How is software architecture
different from project management ?
By Bhavanesh Asar
yes S/W Architecture and project management are 2 diffrent things S/W
Architecture is completly technical work which deals in designing of software
functionality while project management is a task which deal in managing
ressources(software,hardware, and humanware) and accounting there use .Technical
sucess of the project depends on S/W Architecture and over all Project sucess
depends on Project Manager. S/W Architecture is also a resource under a project
manager but a very technical sucess of project as said before depends on him.
By Sainath Sherigar
You have asked a very good question - which I
believe most people at your level of experience ask some time or the
other.
Adding to what Bhavanesh has already mentioned separating the role of
a PM and an architect becomes necessary in big projects involving atleast 20-25
resources.Handing project deadlines,gathering requirements,client
interaction,allocating resources - people & hardware assets,handling project
budgets,handling stakeholders(people for whom the software is being made),etc is
the primary responsibility of the PM.A PM needs to possess what can be called
"helicopter vision" - the ability to keep the entire project on track.Truly
successful PMs are also excellent leaders and masters in man management.
A
S/W architect needs to have both "tunnel vision" with respect to the hard core
technical aspects of a project,whether something is technically feasible or
not,if the soln. architecture adopted is correct.He also needs to have
"helicopter vision" - is the project scalable,can it handle a bigger user base
in future (Kapil is the best guy to speak on this)
I would urge you to take
inventory of your own skillsets before finalizing which career path to opt
for.The questions below might help:
For software architecture:
- are you
technically strong
- do you enjoy resolving technical issues in a
project
- do you keep exploring new technologies when they are in their Beta
stage itself.
- do you enjoy coding
- do you possess an
investigative/exploring mindset
- do you possess good software engineering
knowledge(for ex. design patterns,best practices is S/w development,etc) or have
a strong interest in the same
For Project Management
- are you good in
planning (very imp.)
- are you a good communicator
- are you a good leader
(Test yourself - how many people voluntarily accept your advice,approach you for
solving their problems.The key word here is "voluntary",without any reporting
hierarchy in between)
- are you a good negotiator
- do you like the
challenge of handling people (many people underestimate this skill set)
- can
you take total responsibility for the success/failure of a project
- do you
possess good domain knowledge
The S/W architects role is still evolving in
India - of late this has picked up a lot of momentum.But I would suggest that
you honestly evaluate where your interests and skills stand.
True success can
come only when both the HEAD (ability to do something) and HEART (genuine
interest in an area) are in sync. Don't get swayed by titles like
"Manager","Architect" - find your strong area and push forward - All the best.
By Kapil Siddharth
PM is one manages Man, Material , Money(budget) and Time(Schedule).Architect
looksinto the technical aspect- how is the system to be built. foundation
framework, communication between different components, data storage (database)
and lot of other techincal feasbilities. WEB DEVELOPMENT it self a very big area
for Archietcting. Web Application are used by millions of people so when you
start building these web application and thinking of solutions to keep them
running. You are entering into arena of archiecting...How is your web
application depolyed? Is there a load balancer needed? Is there session failover
needed?How can give my application be 24x7 availabilty ? If 1000 users are added
can my web application survive the load?
So I you are leading and managing
the team -work allocation and managing their schedule then your are in for
PM.
If you are asking more of 2 answer then you are in for architect
By Shivprasad Koirala
Nothing to add more , Sainath and Bhavanesh has covered it all.But yes its a
right time to take a decision and stick to it. It should not fluctuate after 5
years. For instance you walk on the architecture path and then see PM's have a
good salary and your goals fluctuate.
I
am following CMMI but still can not manage projects. In one of my interviews i
was asked about this but i was not able to give a confident answer.
By Kapil Siddharth
CMMi is all baout measurement ,plan estimate, track against planned
estimates and see where youand
control if problem.For managing project:Break
down your projects in unit of task as small as 2 days.Also include review and
rework for each task.Plan with their estimated effort.On execution,As each of
your task complete, your work is done by thateffort.
(tracked) There is
nothing as 1/2 work or 75% work. So plan as small asunit as possible.Also enter
review effort and rework (changes after review)
Once you have these
measurements, you have your project tracked as against plan.Now once you have
your project track , you can control by
seeing indicator if it is slippiong
agains the plan.
So indicators is:
1) Your plan
2) Bugs numbers
--> compare against previous metrics , if
indicates problem control
3)
Reviews --> compare against previous metrics , if
indicates
problem
control.
Next part of CMMi is improve,So you plan for improvement ,
against existing metrics trend plan for lower bugs, lower review defect, lessor
effort.
Understand this qulity should save time and
productivity.
Tapan Das
U need to understand CMMi in true value to the organization. It is
"Maturity" that counts. So moving from Level 3 to Level 5 without
step
by step movement is of NO value. A major Process Area (PA) is OT
or Organization Training. It is important that you as well as your
internal
audit team gets educated on the same and then try to implement the
same. Jumping across levels is not moving the Plan-Do-Check-Act (PDCA)
cycle
path and can result in the situation you are in. So advise a step by
step movement be in any KPA.Other way round if you refer to CMMi guide there are
2 models - one tracks by PA strength the other by phased approach.See what best
suites you and your organization. You can concentrate on a
particular PA and
then strenghten it from Level 3 to Level 5. Other way is to know all the PA's
under one level/ phase and move up the phase step
by step.
Shivprasad Koirala
First thing process is for the project and not project for the process. If
we try to complete projects looking at how we can fulfill CMMI , its not going
to yield anything. All KPA of CMMI match to some activities in the project. For
instance requirement document match to REQM KPA , Design document of a project
matches to TS of CMMI , Good testing documents match to VAL and VER in CMMI.
These document we always create basically in a project. Now comes second part
Audit , the auditor will be more than happy to see the process in institution
rather than forcibly made document to get CMMI.
The best answer in interview
will be to map the documents with the process. All KPA's in CMMI is directly or
indirectly done some where in project.For instance DAR in a project does not
need be a formal document or fish bone diagram , can be email thread on which
important decisions are made.
I want be a software architect
?
By Rajesh Pillai- Have a strong technical foundation in
respective technology (c#,asp.net, Sqlserver/ or java/ejb/oracle or
whatever)
- Have fair understanding of database technologies Since you are
interested in software architecture master the below technologies/concepts
-
software modelling [also related to designing]
- non functional requirements
like performance, instrumentation,logging, security etc.
- good grasp of
OOPS, OOAD, AOP etc.
- communication skills[very important]
- be thorough
in atleast two diff. vendor tech or atlease have a working knowledge of the
other one [e.g. .NET and Java etc.]
- start a group where you can share
architecture thoughts
- Business Process knowledge
- Remember, as an
Architect you have to deal with various stakeholders, so you should have the
ability to put their problem in perspective and come out with the solution and
be able to communicate it clearly.
The career path for software/application
architect is something like
this
- 7+ years of exp: Associate Technical
Architect
- 8+ Technical Architect
- 9 + Architect
This may vary with
different IT company's but the core skills remain the same.
As per you mail
you have good exp. in vb and sql. But this is not sufficient. You have to shift
your attention to .NET technologies (since thats a natural migration path for
you) These will help you build a strong foundation towards your goal as a
software architect. Check out these sites mentioned below. You will get some
good insight as to what's happening in the architect world;
http://msdn2.microsoft.com/en-us/skyscrapr/default.aspx
This is the microsoft site covering all areas of architecture.
By Shivprasad Koirala
Including what Rajesh suggested you can do the following step by step
:-
-- Migrate yourself from VB to VB.NET or C# . VB is a object based
language while C# and and VB.NET are Object oriented. This will give you
a
new dimension of thinking from pure Object oriented perspective
languages.
-- Good understanding of UML which can help you write good
technical design document.
-- As Rajesh said keep yourself flexible with
multiple languages like JAVA and C#. They cover the maximum IT industry.
--
Read design patterns but think how they fit in real scenarios. Probably in your
current project scenarios you can see how they fit in.
-- As Rajesh said read
about new concepts like AOP , SOA etc and how they fit in actual real
life.
-- Do not forget the Database side (Tuning , Good SQL , DB design).Do
not forget Data warehousing , mining etc.
Patterns and Practices on the
Microsoft site is a good point to start. I am sure with 9 years of EXP and
already having the quality of
execution you will definitely become
architecture role wise. But the biggest struggle starts after it. In India
there are no special
positions for Architecture as such ( At least till
whatever companies i have worked with). Big companies have so called
Architecture groups , but really do
not know how far they add value to the
project. Many times the Architecture of the project is a senior developer.
Managers positions are well defined
and so their salary structures. As
positions are not defined so they end up getting paid a bit less than Managers.
So many start as aspiring
architectures and end with a Manager position
later. I am sure many architectures are disguised as project managers.Would like
to see Kapil's view on the same.
By Kapil Siddharth
You already had very good points both from shiv and Rajesh to
proceed.
Let me also give a brief on architecture:
Architecture of any
product is looking at it from 100ft high view. Lots of the things are abstracted
in architecture.
Experince matters a lot in career a architect. But it
also matters whether you haveing been doing routine stuff like crud operations
in all your projects; then you need more complex project to execute. I hope in
your VB/SQL you have done complex scenarios of tier architecture , distributed
architecture.
Whether you had chance to work where you had to think of
performance , caching , pooling?
Architecture not very different from
desing; but here you abstract uot most of the routine stuff and build on things
which you think more attention and can make or break application. You think all
aspects. You may have reqt. for performance, maintainance, monitoring , even
reqt. like data replication.
Then you design your archietcture for these
features . Replication may be new thing hence your architecture may need to
satisfy the data replication reqt. Some of the points may be contradictory. Then
you have decide on trade-off ; get approval on from stakeholders. Patterns ,
architectures of other application(Copy is best form of learning)
It may
happen that to solve your problem there are popular architectures already
available. Here comes in patterns and practices. but you need to apply them in
your project again based on budget.
You cannot give customer Mercedes
when he is only paying for Maruti.
Shiv righlty said that architect is
very new position in India. Industry is still trying to define the role of an
architect. How is he different from earler techincal people? Because industry
thinks of him as good techincal person. whose responsilbilty is to handle all
techincal stuff. As per business requirment and time available; it usually
happens archirtect keeps handling techincal stuff and also keep managing
technical people solving their problems because customers usually are not ready
to pay or do not budget for archiecture feature, they usually have short term
vision.
Architecture is more from point of view of the vision envisioned
for the product, how is the roadmap envisioned for it. So that you can built on
basic archietcure and then let it evolve.
[Architectures are not built
in a day but get evolve]. People make mistakes of trying to build rome in a
day.
Return to Top