Developer Career Tips #0025
Online Programming Training
In my July 20th tip, I discussed online training as a viable alternative to traditional forms of computer training such as taking a class at a Microsoft Certified Technical Education Center (CTEC), computer school or college or university. I won't repeat the plusses and minuses of online training here, but I would like to update you on some of the new courses being offered at the online schools for which I teach. (I want to emphasize that I teach Visual Basic courses for these venues---for a more complete list of available online training, check out SearchVB's weekly spotlight of October 16th, in which it reviewed ten Web Sites for online training.)
I've been teaching Visual Basic courses for over three years at both ElementK and SmartPlanet, and I still believe that instructor-led courses such as these provide the most flexibility and support for those students who want to learn new programming skills. The emphasis at ElementK is towards the experienced IT developer, whereas SmartPlanet is geared more towards the beginner programmer.
SmartPlanet (www.smartplanet.com)
SmartPlanet has been offering Visual Basic programming courses for over four years---however, for the most part they've been introductory level courses. They've recently developed and announced more advanced offerings to include courses on Visual Basic Database programming, Visual Basic Objects, creating ActiveX and API Programming. As someone who's had a part in developing these courses, I can tell you that these courses will go a long way towards preparing you for Microsoft Certification.
ElementK(www.elementk.com)
Like SmartPlanet, ElementK has offered Visual Basic courses for a number of years. For the last six months or so, ElementK has been offering a series of Advanced courses aimed at preparing students for the Microsoft Desktop (70-176) and Distributed (70-175)Visual Basic Exams. In addition, in January, they'll be offering a 3-part course on creating ActiveX/COM Components in Visual Basic.
Monday, November 27, 2000
Monday, November 20, 2000
Developer Career Tip #0024---Microsoft Certification Examinations to be retired
Developer Career Tips #0024
Microsoft Certification Examinations to be retired
I've talked about Microsoft Certification in past tips, and I thought I would take this opportunity to warn you that Microsoft is planning on retiring 18 exams at the end of this year, and included among them is Exam 70-165, Developing Applications with Microsoft Visual Basic 5.0. Of the 18 exams being retired, this one is the only one that I can see which would impact the MCP (Microsoft Certified Profession) or the MCSD (Microsoft Certified Solutions Developer) Certifications.
I'm not sure how many among you have taken the Visual Basic 5 exam, and used it either to give you your MCP (Microsoft Certified Professional) Certification or to form part of the requirements for your MCSD (Microsoft Certified Solutions Developer) Certification, but if you did, you should be aware that unless you take a replacement examination, you will eventually lose your certifications.
For more information about the retired exams, follow this link:
http://www.microsoft.com/trainingandservices/default.asp?PageID=mcp&PageCall=examstoretire&SubSite=examinfo
Now that we have the bad news out of the way, let me give you the good news.
The good news is that there's no immediate danger to your Certifications---you'll have a full year, until December 31, 2001, to take and pass a replacement examination. For a list of examinations that can be used for the MCP and MCSD certifications, follow this link:
http://www.microsoft.com/trainingandservices/default.asp?PageID=mcp&PageCall=requirements&SubSite=cert/mcsd&AnnMenu=mcsd
Microsoft Certification Examinations to be retired
I've talked about Microsoft Certification in past tips, and I thought I would take this opportunity to warn you that Microsoft is planning on retiring 18 exams at the end of this year, and included among them is Exam 70-165, Developing Applications with Microsoft Visual Basic 5.0. Of the 18 exams being retired, this one is the only one that I can see which would impact the MCP (Microsoft Certified Profession) or the MCSD (Microsoft Certified Solutions Developer) Certifications.
I'm not sure how many among you have taken the Visual Basic 5 exam, and used it either to give you your MCP (Microsoft Certified Professional) Certification or to form part of the requirements for your MCSD (Microsoft Certified Solutions Developer) Certification, but if you did, you should be aware that unless you take a replacement examination, you will eventually lose your certifications.
For more information about the retired exams, follow this link:
http://www.microsoft.com/trainingandservices/default.asp?PageID=mcp&PageCall=examstoretire&SubSite=examinfo
Now that we have the bad news out of the way, let me give you the good news.
The good news is that there's no immediate danger to your Certifications---you'll have a full year, until December 31, 2001, to take and pass a replacement examination. For a list of examinations that can be used for the MCP and MCSD certifications, follow this link:
http://www.microsoft.com/trainingandservices/default.asp?PageID=mcp&PageCall=requirements&SubSite=cert/mcsd&AnnMenu=mcsd
Monday, November 13, 2000
Developer Career Tip #0023---Behind the scenes with Mark Weiss of ColorQuick.com
Developer Career Tips #0023
Behind the scenes with Mark Weiss of ColorQuick.com
This is the first in a series of periodic 'behind the scenes' looks at companies and individuals using Visual Basic. It's sometimes an 'eye opener' to see how others are actually using Visual Basic in their work.
For this tip, I interviewed Mark Weiss, who is the President of ColorQuick.com, located in Pennsauken. New Jersey. You can visit the company’s Web Site at:
http://www.colorquick.com
Question: What is your job at ColorQuick?
Answer: I'm President of the company. ColorQuick is an intermediary business to business Internet company providing digital workflow technology that allows printers to better service their clients. Using a mixture of proprietary software and off-the-shelf systems, ColorQuick bridges the gap between the marketspace and marketplace. We provide speed, quality and the cost savings associated with a state-of-the-art web-enabled digital workflow.
Question: How does your company use Visual Basic?
Answer: We use Visual Basic as our primary development tool. To date, we have coded a complete Estimating System, as well as automated the production workflow of pre-press operations using a series of Visual Basic applications that monitor jobs, and dynamically pass them from one stage of production to the next.
Question: How did your programming staff learn Visual Basic?
Answer: Most of it is self-taught, along with some college courses on Advanced Visual Basic topics.
Question: Do you use other languages besides Visual Basic?
Answer: Yes, we also use: C, C++, Perl, VBA, Hypertext, AppleScript, PostScript and ASP.
Question: Do you use third-party tools?
Answer: Yes, we buy various tools as they are needed. However, to date, implementation of third party tools has been pretty limited.
Question: What's it like to work at your company?
Answer: This is a broad question. We are under pressure to perform, and get our product out into the market. We really try to work with our folks, and have offsite and flex time situations to better meet employee schedules.
Behind the scenes with Mark Weiss of ColorQuick.com
This is the first in a series of periodic 'behind the scenes' looks at companies and individuals using Visual Basic. It's sometimes an 'eye opener' to see how others are actually using Visual Basic in their work.
For this tip, I interviewed Mark Weiss, who is the President of ColorQuick.com, located in Pennsauken. New Jersey. You can visit the company’s Web Site at:
http://www.colorquick.com
Question: What is your job at ColorQuick?
Answer: I'm President of the company. ColorQuick is an intermediary business to business Internet company providing digital workflow technology that allows printers to better service their clients. Using a mixture of proprietary software and off-the-shelf systems, ColorQuick bridges the gap between the marketspace and marketplace. We provide speed, quality and the cost savings associated with a state-of-the-art web-enabled digital workflow.
Question: How does your company use Visual Basic?
Answer: We use Visual Basic as our primary development tool. To date, we have coded a complete Estimating System, as well as automated the production workflow of pre-press operations using a series of Visual Basic applications that monitor jobs, and dynamically pass them from one stage of production to the next.
Question: How did your programming staff learn Visual Basic?
Answer: Most of it is self-taught, along with some college courses on Advanced Visual Basic topics.
Question: Do you use other languages besides Visual Basic?
Answer: Yes, we also use: C, C++, Perl, VBA, Hypertext, AppleScript, PostScript and ASP.
Question: Do you use third-party tools?
Answer: Yes, we buy various tools as they are needed. However, to date, implementation of third party tools has been pretty limited.
Question: What's it like to work at your company?
Answer: This is a broad question. We are under pressure to perform, and get our product out into the market. We really try to work with our folks, and have offsite and flex time situations to better meet employee schedules.
Monday, November 6, 2000
Developer Career Tip #0022---Setting your hourly billing rate--Part 2
Developer Career Tips #0022
Setting your hourly billing rate--Part 2
In my last Developer Career tip, I discussed ways in which an Independent Contractor can go about establishing an hourly billing rate, which concentrated on establishing a rate in concert with those around you. I promised to discuss how to establish your own personal billing rate in this tip--which may be lower or higher than the going market rate.
The first step is to determine the level of 'take home' pay that you can live with each week or month. Of course, this figure will vary from individual to individual, and you may want to use the last job you had as an employee as a starting point. It's important to start out with some figure in mind that you can use for comparison purposes, because as you're about to see, grossing $100,000 a year as a consultant is not the same as grossing $100,000 a year as an employee. Here are the typical deductions for an employee making $100,000…
Salary Figures as an employee..
Gross $100,000
Federal Tax 28% $ 28,000
Social Security 6.2% up to 76,200 $ 4,724
Medicare 1.45% $ 1,450
401K (Employee) 5% (up to 10%) $ 5,000
Health Insurance $300 per month $ 3,600
------------------------------------------------------------------------------------
Total Deductions $ 42,774
Yearly Net $ 57,226
Monthly Net $ 4,769
These figures assume that you are contributing 5% to a 401K Pension plan, that your employer is matching 5%, that you are paying some share of your Health Insurance Premiums, and that you are paying no State or Local Taxes. As you can see, this results in a monthly net income of approximately $4,769.
This picture gets a bit more complicated as an Independent Contractor, as there are more payroll taxes for you to pay. You may not be aware that as an Independent Consultant, you are required to pay BOTH the employee and employer share of Social Security Taxes. I also HIGHLY recommend that you continue to pay into a 401K Plan of your own. When you're an Independent Contractor you can set up a Simplified Employee Pension (SEP), and you can contribute roughly up to 15% of your Gross Income into this tax deferred, tax deductible plan. Here's how that same $100,000 gross salary looks as an Independent Contractor.
Salary Figures as an Independent Contractor..
Gross $100,000
Federal Tax 28% $ 28,000
Social Security (Employee share) 6.2% up to 76,200 $ 4,724
Social Security (Employer share) 6.2% up to 76,200 $ 4,724
Medicare (Employee share) 1.45% $ 1,450
Medicare (Employer share) 1.45% $ 1,450
401K (Employee) 5% $ 5,000
401K (Employer) 5% $ 5,000
Health Insurance* $600 per month $ 7,200
------------------------------------------------------------------------------------
Total Deductions $ 57,549
Yearly Net $ 42,451
Monthly Net $ 3,538
These figures assume that you are contributing both the employee and employer share of Social Security and Medicare Taxes, 10% to a 401K (remember, as an employee you contributed 5% and your employer contributed 5%), and about $600 per month for a group health insurance policy.
As you can see, by joining the Independent Contracting ranks, you are taking a 'hit' of $14,775 in your yearly net pay, or about $1,231 per month. To maintain the same level of 'take home' pay, you would need to 'gross' about $125,000 per year.
How do we then determine an hourly pay rate?
To do that, you next need to determine how many hours per year you'll be working. Let's say in your previous job you took 3 weeks of vacation per year, and used a total of 5 personal and sick days, and also were entitled to 5 paid holidays. That's a total of 25 days off (15 + 5 + 5). In a typical work year there are 260 work days (52 * 5)---with 25 days off, that means you worked 235 days. Assuming you'll need the same amount of time 'off' in your life as an Independent, and that you'll be working, on average, 8 hours per day, multiply 8 hours per day by 235, and you get 1,880 hours. Divide 1880 into $125,00, and the result is $66.48--and there you have your billing rate.
But there's one problem with this scenario.
As an Independent Contractor, you can expect to spend about 25% of your time in non-revenue generating pursuits. For instance, you'll need to keep up with the latest in technology, which may mean taking classes on your own time (and at your own expense.) You may also need to make proposals and presentations to potential clients which may not pan out---and which are not billable (I try to bill for everything, but it's not always possible.). Also, as good as you are, you most likely won't be working all the time. One contract may end at the end of March, another one begin two weeks later in mid-April.
For this reason, you need to assume that of those 1,880 hours you are able to work each year, only 75% of them will be billable--which results in about 1,410 billable hours per year---divide that number into $125,000, and you get a more realistic billing rate of $88.
Now at this point, a lot of newcomers question their ability to command that kind of rate---if the rate you require seems too high to you, what can you do?
First, you can reconsider joining the ranks of the Independent Contractor. Independents, as you have seen here, have good reasons for charging the high rates that they do---and usually have the skill sets to get them. If you don't think your skill set can command the rate you need to make, perhaps this is not a good move for you.
Secondly, you can lower your required 'take home' pay. In my experience, this is not a good idea. Under ordinary circumstances, you wouldn't leave one job and take another at lower pay--why accept that scenario just because you're working on your own.
Thirdly, you can increase the number of hours you're willing to work in a year. Some Independents I know work 14 hour days to increase their billable hours, and in turn, charge a lower hourly rate. Some others give up vacation time in order to increase their billable hours. Again, I don't think this is a great idea. As an Independent, you probably were hoping to improve the quality of your life---taking this approach is a sure way to ruin it.
Finally, you can 'skimp' on the benefits that you are now paying yourself. For instance, you can choose NOT to pay into your own 401K, or perhaps cut back a bit on the amount you contribute. This is a VERY bad idea. Your retirement plan is insurance for your future. Think how you would feel if your employer announced today that they were eliminating your pension plan, or no longer matching your 401K contributions. You'd be up in arms.
The bottom line is to find a billing rate that allows you to live as comfortably as you deem fit--and for most people, that means earning a 'take home' pay that is at least as much as you earn now. If you can't do that as an Independent, then the lifestyle is not for you.
Setting your hourly billing rate--Part 2
In my last Developer Career tip, I discussed ways in which an Independent Contractor can go about establishing an hourly billing rate, which concentrated on establishing a rate in concert with those around you. I promised to discuss how to establish your own personal billing rate in this tip--which may be lower or higher than the going market rate.
The first step is to determine the level of 'take home' pay that you can live with each week or month. Of course, this figure will vary from individual to individual, and you may want to use the last job you had as an employee as a starting point. It's important to start out with some figure in mind that you can use for comparison purposes, because as you're about to see, grossing $100,000 a year as a consultant is not the same as grossing $100,000 a year as an employee. Here are the typical deductions for an employee making $100,000…
Salary Figures as an employee..
Gross $100,000
Federal Tax 28% $ 28,000
Social Security 6.2% up to 76,200 $ 4,724
Medicare 1.45% $ 1,450
401K (Employee) 5% (up to 10%) $ 5,000
Health Insurance $300 per month $ 3,600
------------------------------------------------------------------------------------
Total Deductions $ 42,774
Yearly Net $ 57,226
Monthly Net $ 4,769
These figures assume that you are contributing 5% to a 401K Pension plan, that your employer is matching 5%, that you are paying some share of your Health Insurance Premiums, and that you are paying no State or Local Taxes. As you can see, this results in a monthly net income of approximately $4,769.
This picture gets a bit more complicated as an Independent Contractor, as there are more payroll taxes for you to pay. You may not be aware that as an Independent Consultant, you are required to pay BOTH the employee and employer share of Social Security Taxes. I also HIGHLY recommend that you continue to pay into a 401K Plan of your own. When you're an Independent Contractor you can set up a Simplified Employee Pension (SEP), and you can contribute roughly up to 15% of your Gross Income into this tax deferred, tax deductible plan. Here's how that same $100,000 gross salary looks as an Independent Contractor.
Salary Figures as an Independent Contractor..
Gross $100,000
Federal Tax 28% $ 28,000
Social Security (Employee share) 6.2% up to 76,200 $ 4,724
Social Security (Employer share) 6.2% up to 76,200 $ 4,724
Medicare (Employee share) 1.45% $ 1,450
Medicare (Employer share) 1.45% $ 1,450
401K (Employee) 5% $ 5,000
401K (Employer) 5% $ 5,000
Health Insurance* $600 per month $ 7,200
------------------------------------------------------------------------------------
Total Deductions $ 57,549
Yearly Net $ 42,451
Monthly Net $ 3,538
These figures assume that you are contributing both the employee and employer share of Social Security and Medicare Taxes, 10% to a 401K (remember, as an employee you contributed 5% and your employer contributed 5%), and about $600 per month for a group health insurance policy.
As you can see, by joining the Independent Contracting ranks, you are taking a 'hit' of $14,775 in your yearly net pay, or about $1,231 per month. To maintain the same level of 'take home' pay, you would need to 'gross' about $125,000 per year.
How do we then determine an hourly pay rate?
To do that, you next need to determine how many hours per year you'll be working. Let's say in your previous job you took 3 weeks of vacation per year, and used a total of 5 personal and sick days, and also were entitled to 5 paid holidays. That's a total of 25 days off (15 + 5 + 5). In a typical work year there are 260 work days (52 * 5)---with 25 days off, that means you worked 235 days. Assuming you'll need the same amount of time 'off' in your life as an Independent, and that you'll be working, on average, 8 hours per day, multiply 8 hours per day by 235, and you get 1,880 hours. Divide 1880 into $125,00, and the result is $66.48--and there you have your billing rate.
But there's one problem with this scenario.
As an Independent Contractor, you can expect to spend about 25% of your time in non-revenue generating pursuits. For instance, you'll need to keep up with the latest in technology, which may mean taking classes on your own time (and at your own expense.) You may also need to make proposals and presentations to potential clients which may not pan out---and which are not billable (I try to bill for everything, but it's not always possible.). Also, as good as you are, you most likely won't be working all the time. One contract may end at the end of March, another one begin two weeks later in mid-April.
For this reason, you need to assume that of those 1,880 hours you are able to work each year, only 75% of them will be billable--which results in about 1,410 billable hours per year---divide that number into $125,000, and you get a more realistic billing rate of $88.
Now at this point, a lot of newcomers question their ability to command that kind of rate---if the rate you require seems too high to you, what can you do?
First, you can reconsider joining the ranks of the Independent Contractor. Independents, as you have seen here, have good reasons for charging the high rates that they do---and usually have the skill sets to get them. If you don't think your skill set can command the rate you need to make, perhaps this is not a good move for you.
Secondly, you can lower your required 'take home' pay. In my experience, this is not a good idea. Under ordinary circumstances, you wouldn't leave one job and take another at lower pay--why accept that scenario just because you're working on your own.
Thirdly, you can increase the number of hours you're willing to work in a year. Some Independents I know work 14 hour days to increase their billable hours, and in turn, charge a lower hourly rate. Some others give up vacation time in order to increase their billable hours. Again, I don't think this is a great idea. As an Independent, you probably were hoping to improve the quality of your life---taking this approach is a sure way to ruin it.
Finally, you can 'skimp' on the benefits that you are now paying yourself. For instance, you can choose NOT to pay into your own 401K, or perhaps cut back a bit on the amount you contribute. This is a VERY bad idea. Your retirement plan is insurance for your future. Think how you would feel if your employer announced today that they were eliminating your pension plan, or no longer matching your 401K contributions. You'd be up in arms.
The bottom line is to find a billing rate that allows you to live as comfortably as you deem fit--and for most people, that means earning a 'take home' pay that is at least as much as you earn now. If you can't do that as an Independent, then the lifestyle is not for you.
Monday, October 30, 2000
Developer Career Tip #0021---Setting your hourly billing rate
Developer Career Tips #0021
Setting your hourly billing rate
In my September 21st Developer Career Tip entitled "Consulting---Getting Started" I discussed how to get started with Independent Contracting and Consulting work. Let's assume for the moment that you've found someone who wants to hire you--the next major step to take is to determine how much to charge them.
There are many schools of thought on what newcomers to the consulting business should charge their clients.
One theory (to which I do NOT subscribe) is to offer to do the job for a rate that reflects your relative inexperience. While I think it's important to be honest and "up front" with your prospective client about your consulting experience, I think it's a BAD idea to charge a "below market rate" to get your foot in the door. In my opinion, doing so sends a subtle message to your client that, just as your rates are below par, maybe your work is also. If you believe that your skills and services are worthy of selling, then you must also take the tact that they are worthy of being paid for at the market rate.
In some cases, you may not have the option of setting your own rate. In many of my consulting jobs, the client tells me what they are willing to pay for my services. Of course, I'm free to make a counter offer, or even to walk away, but a lot of the 'guess work' is taken away when the client states the rate up front. In actuality, most times I'll accept the rate---most times clients have a strong feel for the current market rate and are willing to pay it for experienced consultants and developers.
On the other hand, suppose the client asks you to name your rate? How then do you establish what to charge your client?
I've seen consultants do this in a number of ways.
One way is to join an association of computer consultants. One such association is the Independent Computer Consultants Association (ICCA).
http://www.icca.org/
Membership in an organization like the ICCA has many benefits, one of which is the ability to ask other members what rates they are charging in your area. You can then use this as the basis for your billing rate.
You can also find out what your competition is charging, and use that as the basis for your own billing rate. I know of a consultant whose husband (and billing manager) on a quarterly basis calls consulting firms in her area to find out what they are charging per hour for contract programming in Visual Basic or Access. This market research can help you establish your own billing rate.
Another way is to perform some mathematical calculations to determine your optimal billing rate. This method, in addition to helping you set your billing rate, also forces you to make some assumptions about the nature of your lifestyle and business as an Independent Contractor or Consultant. For instance, you'll need to answer questions such as: will you be working 40 hours per week, 50, 60 or more? Will you be taking time off for a vacation, if so, how many? Will you be contributing to a Simplified Employee Pension Plan? How much do you hope to 'clear' after taxes?
I'll be illustrating this method in next week's tip.
Setting your hourly billing rate
In my September 21st Developer Career Tip entitled "Consulting---Getting Started" I discussed how to get started with Independent Contracting and Consulting work. Let's assume for the moment that you've found someone who wants to hire you--the next major step to take is to determine how much to charge them.
There are many schools of thought on what newcomers to the consulting business should charge their clients.
One theory (to which I do NOT subscribe) is to offer to do the job for a rate that reflects your relative inexperience. While I think it's important to be honest and "up front" with your prospective client about your consulting experience, I think it's a BAD idea to charge a "below market rate" to get your foot in the door. In my opinion, doing so sends a subtle message to your client that, just as your rates are below par, maybe your work is also. If you believe that your skills and services are worthy of selling, then you must also take the tact that they are worthy of being paid for at the market rate.
In some cases, you may not have the option of setting your own rate. In many of my consulting jobs, the client tells me what they are willing to pay for my services. Of course, I'm free to make a counter offer, or even to walk away, but a lot of the 'guess work' is taken away when the client states the rate up front. In actuality, most times I'll accept the rate---most times clients have a strong feel for the current market rate and are willing to pay it for experienced consultants and developers.
On the other hand, suppose the client asks you to name your rate? How then do you establish what to charge your client?
I've seen consultants do this in a number of ways.
One way is to join an association of computer consultants. One such association is the Independent Computer Consultants Association (ICCA).
http://www.icca.org/
Membership in an organization like the ICCA has many benefits, one of which is the ability to ask other members what rates they are charging in your area. You can then use this as the basis for your billing rate.
You can also find out what your competition is charging, and use that as the basis for your own billing rate. I know of a consultant whose husband (and billing manager) on a quarterly basis calls consulting firms in her area to find out what they are charging per hour for contract programming in Visual Basic or Access. This market research can help you establish your own billing rate.
Another way is to perform some mathematical calculations to determine your optimal billing rate. This method, in addition to helping you set your billing rate, also forces you to make some assumptions about the nature of your lifestyle and business as an Independent Contractor or Consultant. For instance, you'll need to answer questions such as: will you be working 40 hours per week, 50, 60 or more? Will you be taking time off for a vacation, if so, how many? Will you be contributing to a Simplified Employee Pension Plan? How much do you hope to 'clear' after taxes?
I'll be illustrating this method in next week's tip.
Monday, October 23, 2000
Developer Career Tip #0020---Before you take a course…
Developer Career Tips #0020
Before you take a course…
I discussed getting up to speed with a new programming language several months ago, and I thought I would follow up on that theme by relating to you the experience an associate of mine had a few weeks ago with a formal training class he took at a Microsoft Certified Technical Education Center (CTEC).
My associate, let's call him "Jim", is a Visual Basic expert, and he had spent some time learning Java on his own. He decided to spend a week in a Java fundamentals class being offered by a CTEC with whom he had taken several enjoyable Visual Basic classes. Jim had always been impressed by the instructors at this CTEC--historically, in addition to teaching the material, they were also senior developers and consultants who were able to bring their real-world experience to the classroom.
For the Java class however, Jim was a bit disappointed. Although the instructor was knowledgeable about the subject matter, he readily admitted that he had no professional Java development experience. This lack of real-world experience became apparent when many of Jim's questions about real-world issues of speed, style and deployment went unanswered. All in all, Jim came out of the class not knowing much more than when he went in. As a professional developer, Jim wanted to come out of the class with some professional tips and guidelines, and that's not what he received. Still, I think Jim got what he deserved.
I chided Jim for failing to heed the 4-step checklist I run through prior to taking any formal classes. For your reference, here it is:
1. Know your expectations. Jim took a Java fundamentals course and he probably should have been in an advanced course. Beginning level courses are more easily staffed by instructors lacking in real world experience.
2. Know your vendor. Jim took a Sun Java course at a Microsoft Certified Technical Education Center. Jim should have asked himself why a CTEC would be offering a Sun Java class to begin with--if he had done some checking, he would have found that the course he attended was the first Sun Java course the CTEC had ever given. Although this fact alone did not cause Jim's disappointment, it was a contributing factor.
3. Know your instructor. You have the right to know in advance who will be teaching the course, and what their background is. Prior to taking any course, call the vendor and ask for the credentials of the instructor. Ask how many times they taught the class. Ask what real-world experience the instructor possesses. If real-world experience is important to you, and the instructor has none, then you can either find another vendor or wait for a class with another instructor.
4. Know the curriculum. In addition to obtaining information about the instructor, ask for a detailed outline of the course. You should also ask if ALL of the material in the outline will be covered (some instructors 'drop' material). You can also ask to examine the course materials ahead of time, and perhaps even sit in on a session of the class for a few hours (if it's a multi-day class, choose a day other than the first day to get a better gauge of the class pace and activity)
Following my checklist is a great way to avoid surprises and to get the value for your training money that you deserve.
Before you take a course…
I discussed getting up to speed with a new programming language several months ago, and I thought I would follow up on that theme by relating to you the experience an associate of mine had a few weeks ago with a formal training class he took at a Microsoft Certified Technical Education Center (CTEC).
My associate, let's call him "Jim", is a Visual Basic expert, and he had spent some time learning Java on his own. He decided to spend a week in a Java fundamentals class being offered by a CTEC with whom he had taken several enjoyable Visual Basic classes. Jim had always been impressed by the instructors at this CTEC--historically, in addition to teaching the material, they were also senior developers and consultants who were able to bring their real-world experience to the classroom.
For the Java class however, Jim was a bit disappointed. Although the instructor was knowledgeable about the subject matter, he readily admitted that he had no professional Java development experience. This lack of real-world experience became apparent when many of Jim's questions about real-world issues of speed, style and deployment went unanswered. All in all, Jim came out of the class not knowing much more than when he went in. As a professional developer, Jim wanted to come out of the class with some professional tips and guidelines, and that's not what he received. Still, I think Jim got what he deserved.
I chided Jim for failing to heed the 4-step checklist I run through prior to taking any formal classes. For your reference, here it is:
1. Know your expectations. Jim took a Java fundamentals course and he probably should have been in an advanced course. Beginning level courses are more easily staffed by instructors lacking in real world experience.
2. Know your vendor. Jim took a Sun Java course at a Microsoft Certified Technical Education Center. Jim should have asked himself why a CTEC would be offering a Sun Java class to begin with--if he had done some checking, he would have found that the course he attended was the first Sun Java course the CTEC had ever given. Although this fact alone did not cause Jim's disappointment, it was a contributing factor.
3. Know your instructor. You have the right to know in advance who will be teaching the course, and what their background is. Prior to taking any course, call the vendor and ask for the credentials of the instructor. Ask how many times they taught the class. Ask what real-world experience the instructor possesses. If real-world experience is important to you, and the instructor has none, then you can either find another vendor or wait for a class with another instructor.
4. Know the curriculum. In addition to obtaining information about the instructor, ask for a detailed outline of the course. You should also ask if ALL of the material in the outline will be covered (some instructors 'drop' material). You can also ask to examine the course materials ahead of time, and perhaps even sit in on a session of the class for a few hours (if it's a multi-day class, choose a day other than the first day to get a better gauge of the class pace and activity)
Following my checklist is a great way to avoid surprises and to get the value for your training money that you deserve.
Monday, October 16, 2000
Developer Career Tip #0019---Communication skills--don't overlook them
Developer Career Tips #0019
Communication skills--don't overlook them
Success in the Computer field is not just a matter of having solid programming or analysis skills, but also requires good communication skills. Many hopeful programmers downplay the importance of communication skills, but I can assure you that even if you are not the world's greatest programmer, if you foster and hone your communication skills, both verbal and written, there's a good job waiting for you somewhere.
As an example, let me talk about ' Bob'. I was working for an organization that was just beginning to realize the importance of the end user in the Systems Development process (unfortunately, we had just developed several far-from-stellar applications where we had neglected that important piece of the puzzle), and we badly needed to turn our department's reputation around. What we really needed was someone who could sit down with a user, determine and gather their requirements, and do so in a non-threatening manner.
At the time, we had an opening for a programmer, and we had a large number of applicants. A group of us eventually interviewed Bob, and although his resume included work with C and Unix, it was obvious during the interview that Bob's strengths were not in those areas. However, something that came through very strongly in the interview was that Bob's communications skills. Whenever we asked Bob a question, his eyes were attentive and focused on the questioner--and he answered each and every question thoughtfully and completely. At times, Bob would repeat the question before answering--just to clarify that was he was answering was he had been asked. And he frequently sought the opportunity to pose questions of us. We had allocated about a half hour for Bob's interview and we wound up talking to him for over an hour.
A couple of days after the interview, we received a letter from Bob thanking us for the opportunity to interview with the company. Despite the fact that Bob had not taken any written notes during the interview, he amazed us by remembering minute details of the hour long interview (including everyone's name).
Our decision to hire Bob was not a unanimous one---other candidates possessed stronger programming skills, but in the end what got him the job was his ability to communicate better than the other candidates.
Bob's strengths and weaknesses became very obvious in the first few weeks of his employment. His C and Unix skills were weak---and he did become better in those areas. But something he never needed help with was evident the first time he sat down with an end user---he was able to speak with every member of our end user community as if the two of them had been great friends their entire lives.
Bob wound up doing very little programming---in actuality, he spent most of his time performing analysis, determining user requirements, and in end user training and presentations to management.
Shortly after we hired Bob, I asked him what was his secret. Were those great communication skills something he had been born with?
Bob's answer didn't surprise me. He told me that he realized very quickly in his career that if we going to make it in IT, he would need to concentrate on his communication skills. He told me he worked each and every day on his communication skills---making eye contact, listening, really listening, to people, concentrating on what others said, clarifying their statements or questions, and in thoughtful answers and replies. And he told me he practiced writing each day as well.
Four years later, those great communication skills were rewarded when Bob was promoted to Vice President of IT for our company. You need look no further than Bob for proof of the importance of good communication skills in your IT career.
Communication skills--don't overlook them
Success in the Computer field is not just a matter of having solid programming or analysis skills, but also requires good communication skills. Many hopeful programmers downplay the importance of communication skills, but I can assure you that even if you are not the world's greatest programmer, if you foster and hone your communication skills, both verbal and written, there's a good job waiting for you somewhere.
As an example, let me talk about ' Bob'. I was working for an organization that was just beginning to realize the importance of the end user in the Systems Development process (unfortunately, we had just developed several far-from-stellar applications where we had neglected that important piece of the puzzle), and we badly needed to turn our department's reputation around. What we really needed was someone who could sit down with a user, determine and gather their requirements, and do so in a non-threatening manner.
At the time, we had an opening for a programmer, and we had a large number of applicants. A group of us eventually interviewed Bob, and although his resume included work with C and Unix, it was obvious during the interview that Bob's strengths were not in those areas. However, something that came through very strongly in the interview was that Bob's communications skills. Whenever we asked Bob a question, his eyes were attentive and focused on the questioner--and he answered each and every question thoughtfully and completely. At times, Bob would repeat the question before answering--just to clarify that was he was answering was he had been asked. And he frequently sought the opportunity to pose questions of us. We had allocated about a half hour for Bob's interview and we wound up talking to him for over an hour.
A couple of days after the interview, we received a letter from Bob thanking us for the opportunity to interview with the company. Despite the fact that Bob had not taken any written notes during the interview, he amazed us by remembering minute details of the hour long interview (including everyone's name).
Our decision to hire Bob was not a unanimous one---other candidates possessed stronger programming skills, but in the end what got him the job was his ability to communicate better than the other candidates.
Bob's strengths and weaknesses became very obvious in the first few weeks of his employment. His C and Unix skills were weak---and he did become better in those areas. But something he never needed help with was evident the first time he sat down with an end user---he was able to speak with every member of our end user community as if the two of them had been great friends their entire lives.
Bob wound up doing very little programming---in actuality, he spent most of his time performing analysis, determining user requirements, and in end user training and presentations to management.
Shortly after we hired Bob, I asked him what was his secret. Were those great communication skills something he had been born with?
Bob's answer didn't surprise me. He told me that he realized very quickly in his career that if we going to make it in IT, he would need to concentrate on his communication skills. He told me he worked each and every day on his communication skills---making eye contact, listening, really listening, to people, concentrating on what others said, clarifying their statements or questions, and in thoughtful answers and replies. And he told me he practiced writing each day as well.
Four years later, those great communication skills were rewarded when Bob was promoted to Vice President of IT for our company. You need look no further than Bob for proof of the importance of good communication skills in your IT career.
Subscribe to:
Posts (Atom)