<p>Learning about new technologies - been there, done that, wrote a blog already... But now assume you know the technologies / or don't. What's the difference between a consultant and client? Or is there one? I've learned through responses from my blogs that there is a difference.</p>h3. History
<p>I VERY brief history of what I've done. I started as a client. I then went into consulting. Then back to a client. Then back to consulting. And now I am a totally happy, home loving client again.</p>h3. Consultant
<p>First a quote </p><p>"We don't have consultants who can maintain this". What was this? It was simple ABAP OOP. No consultants who can maintain this. But.... But... Why? And then I thought back to my consultant days. I rarely went to a training class. When I did it was with a client in mind. So of course I was using "older" technology. Even if one person on the team used something new, that would make us cringe. How could we support it? The answer, sadly, is that we couldn't unless we followed up on SCN or actually took a class.</p><p>When I was a consultant, the idea was to get in and out of a client site as quick as possible. (On fixed bids) This meant some of my code wasn't even what I could call good code, new technology? No way. We just wanted in and out.</p><p>OK - all of you consultants are thinking, boy what a bad consultant she was. For those of you thinking that - A BIG, HUGE THANK YOU! When I was not on a project, and not on a fixed bid, I could write nice code using any technology that the client liked. That was a nice change.</p><p>And now I ask you - you who work for consulting companies to think to yourself - not reply. How often has that happened? A project has gotten to the end and you had to slam the code in there?</p><p>Now you unlucky people have to deal with the client side. Do they know those new fangled things - OOP? If not again you have to take a huge step backwards to write what they can support. AHHHHH!!! How frustrating for you.</p><p>So what happens?</p><ul><li>You are perpetuating "bad" coding techniques</li><li>You may get let go using something that is non-supportable</li><li>You don't have the training to use anything new</li><li>Your "mentor" in your company for a new employee may not use the newer techniques</li><li>Your co-workers can't support your code.</li><li>Because no one understands your code, they cut and paste it. Instead of using the class/method.</li><li>You lose all the things you've learned because you can't use them.</li></ul>h3. So - what to do?
<p>Here's what I say. Come work for places like Perrigo. You can use OOP, Adobe, Webdynpro.... We want to build our repository and have some examples we can learn from. These clients are out there. And I know there are more than just us. Waiting for that consultant that can provide examples. Those consultants should have good communication skills to pass what their program(s) due to the client.</p>h3. And now where I'm at now - the client side
<p>OK - you've heard a lot I've had to say - basically the idea is to LEARN! Learn as much as you can. Not bleeding edge but the tried and true new concepts.</p><p>Stopping consultants from writing code you don't understand? Really? Why? I love it when they code a GOOD example. I do take a step back and make sure I know what I'm code reviewing. If I have questions, I <gasp> ask them. I don't really care if the consultant thinks I'm clueless. I am when I ask the question.</p>h3. Reality
<p>Do I practice what I've written? You better believe it. We've had consultants in here. Lots of consultants in here. We have a lot of projects going on at the same time. I know nothing about Adobe. No one from the technical team knows anything about Adobe. However, we now have Adobe forms on our system to support. Hopefully some great examples.</p><p>Way back - Way back - you know like maybe 2 years or something like that. We had consultants in that wrote OOP. I knew 0 about OOP and so did the technical group. We did not stop him from writing in OOP. The examples we got were OK. But not exactly top of the line. That is OK too. It pushed me to learn more about OOP.</p><p>Now say it's someone in your consulting firm who is pushing you to write structural code. That I can't help with. Our site has old code, new code, and even - like most sites - SapScript.</p>h3. The consultant The client
<p>Very different worlds, the consultant has more than one boss. That drove me nuts when I was consulting. I was always consulting with a consulting firm. I was / am too afraid to be an independent. Independents - still - by the way has two bosses sometimes if they subcontract.</p><p>The wonderful part about being the customer, I get to go to one training course a year. (I usually try for SAPTeched) I get to research and use newer techniques. AND I get to learn from the CONSULTANT. A huge bonus.</p>