* Young, dynamic and talent personality
* Having tremendous caliber of team building
* 7+ yrs. of expirience in diversified fields of IT
DNF: Please tell us about yourself.
VKC: I am Volety Kanaka Chalam working with OSI Technologies Hyderabad as an Asst. Project Manager.
About 7.6 years of successful career in diversified fields of Software Development (5.6 years) and Customer Service (Technical Support) (2 years)
Qualifications:
B.Tech (Computer Systems) Open University British Columbia in collaboration with Aptech Computer Education
B.Com from Andhra University
DNF: When did you start your career and how?
VKC: I started my career as a Faculty in the year 2000. I was teaching Java & C++ at that time. It was a good thing to do as I realized that teaching is the best way to learn. I worked on this job for around 2 months and then moved on to another company as a full time in House Software Engineer, this is where I learnt VB and JSP. So that’s how it started
DNF: Why did you choose Project Management/Manager as a career?
VKC: I gave a thought to myself:
You can’t stay a techie all your life. At some point you will get bored of programming altogether and will want to do something above it. You will feel, “Enough of laying bricks, I know how it is done, let me get it done by others in the way that I want it done”. That said you still need to have control on technical aspects like architecture, design, code structure etc. Also a “Manager” is portable across various industries.
DNF: As a technical person, when you were assigned a job that seemed difficult, how do you approach it?
VKC: Something seems difficult only as long as you don’t understand it clearly. So if you understand what is happening clearly, then the solution presents itself to you. So the key to getting the solution is to understand the problem clearly.
Something Complex = something simple + something simple + …and so on up to N
If its complex, break it into parts, if the part is complex, break it into sub-parts, somewhere it will seem simple, now work your way back up, see how each simple part works with others, as you go up, you will find the problem and once you know that XXX is the problem, the solution is to fix XXX.
DNF: When you want to learn any new technology, how do you start? Do you have you any strategy in place that you follow to learn any new technologies?
VKC: To learn a new technology, you need to be genuinely interested in it. There should be something juicy about it that you like and that should motivate you to learn.
I start by thinking
1. Is there business value in learning this technology
a. Does this technology help me get rid of problems in the current project
b. What does this technology help me achieve that was not achievable earlier? What is so great about this technology?
2. Does it add value to my resume?
As regards strategies to learn, there is lots of stuff available on the Net, so Google it. Try to find video tutorials or screen casts as they really fasten the learning. Once you learn something, teach it to others, the others will put a variety of questions to you and in answering those questions you will enhance your learning.
DNF: These days every now and then newer technologies or new concepts are popping up, what do you think about it and how you take them?
VKC: You really can’t learn all technologies at once, so try to find out those that are being used the most and see which one benefits you personally and / or benefits the company/client and pursue those
DNF: When any of the team members is difficult to manage (technically and personally) how do you tackle them?
VKC: Technically, you know that a resource is difficult to manage if you start thinking, “Oh God, I think it will be easier and faster if I do this work instead of this resource”. You will feel tempted to do the stuff by your self and you might do it, but then the resource will never learn. So I think much effort has to be put towards training your resources so they can do tasks efficiently. However, there are limits to this too and if the resource still does not improve after training, then he/she doesn’t really belong in your team. You have been fair in giving him/her a chance, now if the chance has not been wisely used; remove the resource from the team.
Personally I feel, how people respond to you depends on your words and actions (your thoughts are your own). If your words and actions reflect “I am your boss better listen to me!!” then that might not be taken well by all teams, though some teams might actually require that. On the other hand, “I am here to help you” is a better approach and most widely accepted. Let ego not get in the way of achieving the common goal of the team.
DNF: Please share one of your personal experiences where you found difficulty in managing any team member(s).
VKC: There was one resource that I had difficulty managing personally. The problem with him was that he was not serious about work and was not intelligent enough to take up tasks with complexity in them. But all the same, this resource would still feel he deserved more and would be argumentative in that aspect. I tried giving him an image makeover by only giving him those tasks he could handle so people would change their perception about him. For complex tasks he would be asked to pair with others so he could learn and improve. But then, this guy started taking things for granted. Time went by and fresher who were inducted into the team out performed him. Things like this were brought to his notice, but he lacked the drive to improve. For 2 years he was in the team, one fine day we moved him to another team and I felt very happy. Hope he does well in another team. I learnt my lesson and that was to never ever have a soft corner for a person who is not serious about work and works with a government job attitude (weather I work or not I will get my salary and an increment every year). I realized I might not be the right lead for this guy. I think this guy needs a stricter lead than me who can kick him and get work done.
DNF: How do you deal with the situation when your project deliverables is getting delayed?
VKC: Always be on the look out for it. Before the client telling you that you are getting late, its better you set expectations first. Revise the way you are estimating. If you often face this issue, then you might not be estimating correctly. There might be things that you are not considering during estimation. For instance, if a developer says, “it will take me 15 hours to get XXX done”, then those hours might not include Unit tests, code reviews, commits, documentation etc.
DNF: Do you remember any event/challenge that you have faced in your career and how did you deal with it?
VKC: There was a point in time where IT jobs were just not available, around the years 2001-2003 at that time the IT sector was having a very bad time. I lost my software job. But the same time it was a boom period for the BPO sector. I had good communication skills so I set my IT skills aside and jumped into the call centers. I performed very well there and came up to a lead’s position. Though I was in the call centers, my heart was always with the IT sector and I would envy those “Software Engineers”. Things started getting better for the IT field after I spent 2 years in the BPO.
Now the real challenge for me was to get back into the IT field. This time I was not super confident about my IT skills as I knew they needed to be sharpened. But I attended as many interviews that I could trying to gauge market demand. One day I saw an advertisement for a part time faculty and I thought that would be ideal for me as I could spend some hours in the day as a faculty then work in the nights at the call center and sleep rest of the time. When I went to attend that interview, the interviewer instead asked me if I could train corporate batches. I said I could and I ended up training a batch of freshers on DotNet at a very big S/W company. In order to train those freshers, I had to study really well because every day I would be bombarded with tons of questions. I studied hard to find good examples for the training and to clear doubts. Everyone enjoyed my training and I bagged a very good feedback. This boosted my confidence. I resigned from the call center and was in a position where I developed a very good grasp on DotNet. Finally I attended an interview and got selected into one IT company and then moved on to my current company where I have been for almost 3 years now.
DNF: What short of qualities are necessary to be a good manager and tech/team lead and how to develop them?
VKC: Have a Father’s love in your heart for your team members. The reason I say Father is because, he can kick you to set you right (Mother might not do that always). What does a Father do, he raises you up to a point and then lets you stand on your own, and it is not any different here. You as the lead must support your team member and bring him to a level where he can do things on his own. Give him a fish for a while if he is hungry then, teach him to catch a fish so he never goes hungry if you are not there.
No matter how much you try, there might be a member who you may just not be able to manage, if that is the case, then you might not be the right lead for that person, a change is needed.
DNF: What do you want to say to the aspirant managers and leads?
VKC: Everyone has their own style of leading. There are charismatic leads who will work and play, there are other people who are very serious always, and there are others who are shy and reserved. Well whatever be the case respect your subordinates and earn their respect. You should have something in you which are of worth to your team member’s respect. As you go up the ladder you will notice that the number of decisions you follow becomes lesser than the number of decisions you make, but don’t make all decisions on your own, involve your team, give them value. Let them know they have a part in the whole. Highlight that fact. If a member comes up with a good idea /suggestion or does a good job, give her/him credit for it and see to it that all know it was your team member’s idea. Follow the golden rule, praise in public but criticize in private. You as a lead must know each member’s strengths and weaknesses, there by you know their capabilities. Now think how I can improve xxx capability in all members.
There is a difference between “Team” and “Group”. The difference is that while a Group just works together, a Team works together for the same GOAL. As long as all of them have a drive to work for the goal, selfishness will be less. Motivate them towards the goal. You should always want your team members to grow even if it means surpassing you. Remember you have surpassed that teacher who taught you A,B,C,D….but if you find that teacher today, you will touch his/her feet, isn’t it?
DNF: As a manager what short of qualities you look for in your team members?
VKC: Sincerity, dedication and a mind open for change are the main qualities I look for.
DNF: As a technical lead what short of qualities you look for in your team members?
VKC: Should have the curiosity to explore, the ability to learn things fast on his/her own and the humility to respect subordinates, peers & superiors.
DNF: How do you maintain the team spirit?
VKC: Don’t keep everything to your self, share it with the team and encourage them to do the same. Be happier when some one praises your team more than when someone praises just you. Make the team see how each individual’s effort is a contribution to the whole. If you come across a situation where you need to make some tough decision, don’t make that decision your self, involve your team, ask them for ideas, let them know they are important people and their opinion really matters. Apart from all the serious stuff, crack jokes, have fun be jovial even in tough times.
DNF: You must have completed several projects in your career, what short of design pattern or architecture you follow and how does it helps you?
VKC: In the early days, almost all the projects I completed followed a plain Client / Server architecture with no layering etc. It was only when I entered the DotNet arena 3 years ago that I worked on Niter, MVP and MVC architectures.
Some of the common design patterns we use are the Abstract Factory pattern, Façade, Strategy pattern.
We also use Dependency Injection using the Spring Framework.
DNF: What short of qualities you are developing right now that will assist you in your better career in future?
VKC: Trying to improve memory power, practicing yoga for a healthy lifestyle, pursuing MCTS, Design Patterns & Principles.
DNF: To deliver a successful project what short of things are necessary and how do you ensure them?
VKC: The most important factor for a successful project according to me is “CLARITY”
At every step of the project life cycle, there needs to be absolute clarity, which means everyone involved must know exactly what they need to do and how to do it. If there is no clarity, that will cause delay. You should have a dedicated client or his representative who can provide clarifications as and when needed. You will also need a good technical team whose skill set matches the project requirements.
Setting client expectations is very important. Also you must try to control scope creep; you need to be assertive in telling your clients that if the scope changes so will the schedule.
The code should be readable and should convey logic clearly. Naming is very important; make sure the names of variables, classes, methods etc make utmost sense, such that when you see the code, it conveys logic.
Also, try to design the application for change, you could use design patterns like the Strategy Design Pattern.
Another important thing is to have a demo environment and keep giving demos of the product regularly to the client. For some reason something will always go wrong when you are giving a client demo. It’s better to go wrong in a demo than on production.
DNF: What project management methodology do you follow, please brief us about this.
VKC: We are using Scrum & Agile.
We break our work into sprints (2 week periods). We have a standup meeting everyday with our client where in we discuss status on each work item (What we did, what is the status, what we will be doing tomorrow and weather we are stuck on anything). The daily meeting allows us to set expectations with the client. We do demos after the standup meeting.
At the end of each sprint we hold a retrospective meeting to discuss: What went right, What went wrong, What we can change?
Based on that we make changes to the process.
DNF: From your experience what is the project management methodology best suits to you?
VKC: Agile suits best.
DNF: You must have something exciting while working for so many years? Would you like to share with us?
VKC: The most exciting for me was Test Driven Development and Build automation
There was a time when we used to work in the following model:
1. Developers write code and checks-in (there would be no tests for this code, this is error prone)
2. QA checks out code and compiles a build (QA has to wait till developers tell them its okay to take a checkout).
3. QA tests the build
4. QA sends error report
5. Developer fix issues
The above approach is time taking, slow and error prone. We changed this model using NAnt, NUnit and CruiseControl.
Now here is what happens
1. A Developer writes code and checks in à Cruise control notices the check in and runs a Nant script that will build and deploy code to test environment
1. The Nant script runs NUnit tests in code each time a check in happens and the build is failed if any of the Nunit tests fail.
2. The NUnit tests act as regression tests for each check in thus ensuring application stability
2. QA can easily check the test environment any time and can report bugs / issues faster than before
3. Demos can be given more frequently and you are more confident about the build than before.
DNF: Anything else you want to share that may help the visitors of DotNetFunda.Com to build their career.
VKC: I once heard one CEO gave a speech and in that speech he mentioned a point which I think is worth sharing. Here it goes:
In order to have a successful career, you need to make 2/3 jumps at the right time. For instance the current industry you are in could be in the growth phase and might reach Saturation soon. On the other hand there could be another industry that is in the early stages of growth. Before your current industry reaches saturation, make your self ready for the other growing industry and when the time comes make a jump. This way every time you make a jump, make sure you jump in to the industry that is growing.
Don’t be rigid that you can’t adapt to a new industry or don’t attach yourself to just one Industry. Find out what other talents you have and try to give that talent a chance. And don’t just think money all the time (especially freshers), think of gaining experience first.
There is a story “Who moved my cheese” it’s a good story, here is the video link: http://www.viddler.com/explore/VHGNYC/videos/36/
DNF: Thanks Mr. Chlam for you valuable inputs. We wish you a bright career ahead.