Send to Kindle

7 secrets every developer should know before getting into a manager or lead role

This guest post is contributed by Pramod Paranjape, who till recently ran a diverse delivery team of IT engineers and managers. He writes articles for new managers at ConverSight.com. He actively contributes on Quora on topics like team management and IT outsourcing. He releases slide decks based on real life management case studies on slideshare.

Pramod Paranjape At some point of time in your career, you have to decide if you want to continue on a technical path or to take up a management role.

Imagine that you have taken up a management role; how would your life look like?

The foundations remain the same for both technical and management tracks. Here is what will not change:

  1. Sound technical background: Many successful project managers have been excellent technical developers earlier in their careers. Strong technical skills go a long way in identifying technology risks in projects. If you have a sound foundation of technical skills, you have equal chances of taking up either of these career paths.
  2. Using software engineering techniques in daily life: Delivering good code in a timely manner requires understanding of standard coding practices, defect management system, version control system and timesheet systems. It may sound obvious, but using the basic software engineering techniques ensures predictable delivery. Whatever path you choose, make sure you have an in-depth knowledge of software engineering techniques.

What will change when you get into manager or lead role?

7 secrets nobody told you:

  1. A developer has to focus on his/her own tasks. When you become a manager, you will need to get the tasks done by the team members. You will need to allocate work to your team members based on their abilities. You will have to identify strengths and weaknesses of each team member. You will also give due consideration to their aspirations.
    As a manager, you will need to allocate tasks according to team members’ strengths to maximize output.
  2. While completing the assigned work, a team member may be stuck. A manager listens to him/her and analyses the situation. The team member may have adopted an unconventional approach to complete the task. This approach may be vastly different from the approach you would have taken.
    In a manager’s role, you will need to analyse from the team member’s perspective.
  3. A manager plans the work based on an overall strategy of solving a problem. Based on the strategy, he/she sets priorities. Prioritizing is deciding what is important over what is less important.
    A manager decides the strategy to obtain a solution because a developer focuses on completing the work assigned to him/her. Be ready to take the bigger picture into account in a manager’s role.
  4. Team members may need protection from conflicting power centers within the organization. Managers who can provide ‘air cover’ get their team’s respect.
    A manager defends his/her team members, so that they can focus on their work. This is a critical leadership trait to succeed as a manager.
  5. Team members like to work with a manager from whom they can learn. A conscious effort to share knowledge motivates the team.
    As a manager, you will have to share your knowledge and let the team learn from you.
  6. A manager conducts meetings to communicate various messages. He/She writes to different stakeholders to communicate the task status. Speaking and writing may seem basic skills, but using these skills effectively is very important for a manager.
    You have to hone your communication skills to become an effective manager.
  7. A manager does not develop code or test it. In some cases, a manager may take up some part of a team member’s work. Ultimately, a manager’s success depends on his team members completing their work. Highly motivated and happy team members complete their work in time.
    You will need to motivate team members to complete their assigned work.

To summarize the seven secrets

To be an effective manager, you must:

  1. Allocate work based on the abilities of a team member.
  2. Analyse issues from a team member’s perspective.
  3. Be ready to take the bigger picture into account in a manager’s role.
  4. Defend your team as your team’s leader.
  5. Let the team learn from you.
  6. Communicate with stakeholders effectively.
  7. Motivate the team to get the best out of them.

Feel free to ask questions and give feedback in the comments section of this post. Thanks!

Technorati Tags:

Posted by Pramod Paranjape

Follow me on Twitter to communicate and stay connected

3 comments

Send to Kindle

Programming the Web with Ruby

Registrations are now open for RubyLearning’s “Pay if you like”, online course on “Programming the Web with Ruby“. The first batch had over 2000 participants. Web-based applications offer many advantages, such as instant access, automatic upgrades, and opportunities for collaboration on a massive scale. However, creating Web applications requires different approaches than traditional applications and involves the integration of numerous technologies. The course topics would hopefully help those that have some knowledge of Ruby programming to get started with web programming (this does not cover Ruby on Rails).

Who’s It For?

Anyone with some knowledge of Ruby programming.

Dates

The course starts on Saturday, 29th June 2013 and runs for 2 weeks.

Is the course really free?

A lot of effort and time goes into building such a course and we would really love that you pay at least US$ 15 for the course. Since this is a “Pay if you Like” course, you are under no obligation to pay and hence the course would be free for you.

For those who contribute US$ 15, we shall email them a copy of the book (.pdf) “Programming the Web with Ruby” – the course is based on this book.

How do I register and pay the course fees?

  • First, create an account on the site and then pay the fees of US$ 15 by clicking on the PayPal button Paypal
  • After payment of the fees please send us your name to satish [at] rubylearning [dot] org so that we can send you the eBook, which normally takes place within 48 hours.
  • If you want to take the course for free, please just create an account and send us your name (as mentioned above).

Course Contents

  • Using Git
  • Using GitHub
  • Using RVM (for *nix)
  • Using pik (for Windows)
  • Using bundler
  • Using Heroku
  • Creating a simple webpage using HTML5, CSS and JavaScript
  • Store your webpage files on GitHub
  • Understanding HTTP concepts
  • Using cURL
  • net/http library
  • Using URI
  • Using open-uri
  • Using Nokogiri
  • Creating one’s own Ruby Gem
  • Learning Rack
  • Deploying Pure Rack Apps to Heroku
  • Deploying a static webpage to Heroku
  • What’s JSON?
  • Using MongoDB with Ruby Mongo driver
  • MongoHQ the hosted database
  • Using Sinatra
  • Deploying Sinatra apps to Heroku
  • Sinatra and SQLite3 interaction

The course contents are subject to change.

Mentors

Satish Talim, Victor Goff III, Michele Garoche and others from the RubyLearning team.

RubyLearning’s IRC Channel

Mentors and students hang out at RubyLearning’s IRC (irc.freenode.net) channel (#RubyLearning.org) for both technical and non-technical discussions. Everyone benefits with the active discussions on Ruby with the mentors.

Here are some details on how the course works:

Important:

Once the course starts, you can login and start with the lessons any day and time and post your queries in the forum under the relevant lessons. Just to set the expectations correctly, there is no real-time ‘webcasting’.

Methodology:

  • The Mentors shall give you URL’s of pages and sometimes some extra notes; you need to read through. Read the pre-class reading material at a convenient time of your choice – the dates mentioned are just for your guideline. While reading, please make a note of all your doubts, queries, questions, clarifications, comments about the lesson and after you have completed all the pages, post these on the forum under the relevant lesson. There could be some questions that relate to something that has not been mentioned or discussed by the mentors thus far; you could post the same too. Please remember that with every post, do mention the operating system of your computer.
  • The mentor shall highlight the important points that you need to remember for that day’s session.
  • There could be exercises every day. Please do them.
  • Participate in the forum for asking and answering questions or starting discussions. Share knowledge, and exchange ideas among yourselves during the course period. Participants are strongly encouraged to post technical questions, interesting articles, tools, sample programs or anything that is relevant to the class / lesson. Please do not post a simple "Thank you" note or "Hello" message to the forum. Please be aware that these messages are considered noises by people subscribed to the forum.

Outline of Work Expectations:

  1. Most of the days, you will have exercises to solve. These are there to help reinforce what you have just learned.
  2. Some days may have some extra assignments / food for thought articles / programs.
  3. Above all, do take part in the relevant forums. Past participants have confirmed that they learned the best by active participation.

Some Commonly Asked Questions

  • Qs. Is there any specific time when I need to be online?
    Ans. No. You need not be online at a specific time of the day.
  • Qs. Is it important for me to take part in the course forums?
    Ans. YES. You must Participate in the forum(s) for asking and answering questions or starting discussions. Share knowledge, and exchange ideas among yourselves (participants) during the course period. Participants are strongly encouraged to post technical questions, interesting articles, tools, sample programs or anything that is relevant to the class / lesson. Past participants will confirm that they learned the best by active participation.
  • Qs. How much time do I need to spend online for a course, in a day?
    Ans. This will vary from person to person. All depends upon your comfort level and the amount of time you want to spend on a particular lesson or task.
  • Qs. Is there any specific set time for feedback (e.g., any mentor responds to me within 24 hours?)
    Ans. Normally somebody should answer your query / question within 24 hours.
  • Qs. What happens if nobody answers my questions / queries?
    Ans. Normally, that will not happen. In case you feel that your question / query is not answered, then please post the same in the thread – “Any UnAnswered Questions / Queries”.
  • Qs. What happens to the class (or forums) after a course is over? Can you keep it open for a few more days so that students can complete and discuss too?
    Ans. The course and its forum is open for a month after the last day of the course.

Remember, the idea is to have fun learning Ruby.

Acknowledgments

About RubyLearning.org

RubyLearning.org, since 2005, has been helping Ruby Newbies go from zero to awesome!

Technorati Tags: , , , ,

Posted by Satish Talim

Follow me on Twitter to communicate and stay connected

1 comment