Graham recently wrote a blog about How much do you invest in You? I wrote a blog awhile ago about Learning and using new technology. I'm 100% sure there are other blogs out there that address the same type of things.
Why are there so many blogs? Because when do we have time to stop and learn something new? If we learn it when do we use it? Do you have to wait for a project to learn something new? Do you have the project and then learn the skill? Is it the chicken or the egg?
I found myself writing comments to Grahams blog, and then thought. I do think sometimes. This is a good subject for yet another blog.
So Why Learn something new?
If you are thinking to yourself, my code works great. I know a lot about configuration already. I know about my company. I have a good understanding about company processes. I am an asset. I provide good solutions in a quick amount of time. Then you are probably wondering why are we all talking about upgrading skills?
Here are some of my reasons - I'm sure many people can add more:
- Reusability - you'll write code much quicker if you create something that is reusable, and then use it.
- Maintainability - Changes are done in one place.
Hmmm... I can do that with function modules. What's the big deal about the new OO.
- Better reusability. BETTER - really? Take a look at the Factory ALV class. Then think about the function module. I challenge you to say the function module was better.
- Quickly design newer interfaces such as WebDynpro, BSPs..
- Future understanding. You'll need it. SAP is moving towards it.
OK - I get it. OO is good. What about some of the other new technology? Why use it?
Check out Webdynpro. I love it! It's one of my favorite "new" technologies. It is user friendly. Almost everyone is surfing the net. With that in mind, it's time to look at how our SAP system is doing things. If we set up an interface that mimics something people use every day. Well - let me tell you - my users love it.
Do I have you convinced yet?
SO - What about deadlines?
We all have them. It is quicker to use the old technology vs. something I just learned. There is a learning curve.
I would challenge you to try to extend your estimates for projects. Add that time it would take to use something newer. Try to use only one of the "newer" technologies. Never used objects? Create just one and use it. Never done a Web Dynpro, but have used objects? Create one Webdynpro for your project. See if they are willing to wait for a better interface.
Yes, I know at the end of the project... I must admit, that I use the "old grey haired dog approach". I use what I know. However, as I use the newer technology more. What I know becomes the newer things. I start to think with classes. My dates are shortened becuase I am not recreating code.
When do I learn it?
As I brush off this blog, I thing yet again when do I take the time to learn the new technology? Stop here and read Graham's blog if you haven't already.
I learn it prior to projects. I learn it during projects. I learn it in my "free" time. I know there is a work / personal life balance.
Learn prior to projects? How do I justify the time with my employer?
There is always something to do here. If I'm not working on projects, I am working on maintenance. So how do I have the time to learn something new?
I don't have the time not to learn something new. I learn it. I present it. I take maybe a couple of hours a week when I'm not on a project to learn something new. Or to upgrade my knowledge on the things I am in process of learning. That is 2 out of "40". That is not very much time.
I justify my time because I can suggest the newer technology later. I DO take the extra time during projects to use something I learned. I DO take the time to share it. So if I'm using what I learn, I can tell my boss - Hey boss I've learned XYZ and I used it in this project. That makes her stand behind me when I tell her I want to spend some time learning something new.
Now - I only do this when I'm NOT working on a project.
So - how do I learn something new during project work?
Estimates. I estimate slightly longer when I know I want to try out XYZ. If it works out, WOW! Wow, do I get a rush. The users are happier. OR your co-workers, and you now have some reusable code. See Celebration of the SAP standard code for dummies.
Get the feeling I read blogs? How to learn something new.
There are so many different new technologies. The next latest and greatest. So how do I determine what make sense?
Blogs of course. I read a lot. I get into work early. YES, early. I take some of my personal time to read blogs. They inspire me, help me understand what to use a new technology for, and help me decide what to learn.
What to learn?
There are so many different things out there. I think it's a personal choice. It helps to read about what others are using technology for. I'll try to post some more of the things I've done. It helps to read an overview of something you'd like to learn. So what I'm saying is that I'm not going to tell you what to learn. You are going to tell yourself.
What I do suggest is that you take the time to learn new things. Stop. Take a deep breath and then just jump in.
So what about my old skills!!!!?
You'll be amazed. You'll still use them. The "new" things that I've used still require good basic programming skills. There are even some tips that some of us "OLD" dogs remember to make new programming easier. I've got a session in TechEd to prove it. It's also another subject. I just wanted to point out that you don't want to lose what you already know.
Is this a lot to think about?
YES! But start thinking about your future. Your company's future. What is your worth to your company? How can you help things work better? Do you have the time to work on funner things? Reusability can help allow you to work smarter not harder. New + old skills combine to make coding easier.
Take some time, read some blogs, come to things like the SAP Insider's Track, SAP Teched, and SAP classes. Get some free training here. Read blogs and look at some of the forums. Do this during your time, and justify doing it during work time.
I am a Full time employee. I DO work on my skills. I become a better asset the more I know. And I can prove it based upon my project work.