Wikipedia defines a programmer as “The term computer programmer can refer to a specialist in one area of computer programming or to a generalist who writes code for many kinds of software. One who practices or professes a formal approach to programming may also be known as a programmer analyst.”
Why would I care?
Can we embrace the Long Haired developer?, someone dares to say grey haired programmers shouldn’t learn how to program apps. That they should just slink away and program in the background – ABAP on the ECC box and the app developer on the UI!!! OK, they really didn’t say that. It was just something I thought when I read the comment. I was surprised, shocked, even stunned at the comment! We are developers, we develop. We develop in any language you want us too. I used to develop in different languages, why not learn some more? Besides is it really such a stretch after MII? I quickly wrote my answer. YES, we can do it. We are grey haired programmers and we should do it! We want to keep our skills up to date.
How dare that person comment!
How horrible! How awful! How… Oh right, its SCN everyone can write their own opinion. I can even create a ranting blog about a comment to a different blog. How great is that? So please keep commenting. It makes us all think, even the readers of the blog and comments!
It’s all about me
me, Me, ME, ME!!!! I’m raising my hand and waving it. I want to learn about Gateway! I want to learn about HANA! I want to learn about app development! I can do it. Learning is fun! It won’t be easy, because I am a grey haired programmer, but I can do it.
And so back to the question, should WE, the grey haired programmers learn how to write apps? Would that mean we would be generalist, and master no technology?
Calm down and think.
I thought and pondered the question, until it, well until it gave me a good headache. We could do it. I could do it. But should I? Should there be a “Web” / “App” developer and a backend SAP developer? We are a big enough shop. We could do it. In theory, we also could add some positions. In theory.
And so – I thought about the great one. Einstein. Did he know it all? I believe he said something like the following: he didn’t need to know everything, he just needed to know where to find the answer. And I do remember he painted the door of his house red so he could find it. Maybe there is only a limited amount a person can know.
My next thought was, well it was “BUT I want to do both!”. I have to admit I had read a different Extend your SAP jQuery Mobile web app with HTML5 concepts and Native device features – Part 1 and copied the app so I could play with it.
Generalist vs. Specialist
Wait! Stop! My head is going to explode. I know basic functionality in many ECC modules. That made me a generalist right there. I know different programming techniques. I am good at what I do, darn it. Then I looked at some of the really cool blogs. Were they written by people like me? Or did they have more depth to them? Both. They were a mixture of both. Well that’s good, I must be right in my thinking.
Then I thought about consultants. We usually bring consultants in to do specific tasks. We don’t care if they know Web Dynpro when they are brought in to develop a bunch of Adobe forms. BUT… When they are done developing those forms, we may have other work. Our next project may need Web Dynpro programs. If the consultant knew Web Dynpro, then we would try to extend her.
But, what if we interviewed her for the Adobe forms and she couldn’t answer the tough questions? She knew Adobe forms. That was only one of her many skills. BUT we needed an Adobe form expert. If someone else just has strong Adobe skills we probably would not have hired her in the first place.
Now I’ve gone around in a circle. So on to my next thought.
Is being a consultant different than being on the client side? I’ve done both. My answer is a BIG YES!!!! As a consultant you worry about getting your specific work done. A good consultant may suggest alternatives to the way their customers are doing things. Wait! That means they know about the other technologies. If the customer doesn’t want it, they just program what the customer wants. So I’m back to knowing about all the options and how to program them for the consultant.
Now, I’ve got my customer hat on. Do I have to know all those technologies? If there is someone in my company that knows them, does it have to be me? Really there are a lot of things that I don’t know about SAP… Do I have to know about building apps at all? Well, let me think. I am a developer. My title is something strange like application engineer but I analyze and develop code. Mmmm… Apps for mobile – that would be a special area. But one of the special areas that I know is MII. So it seems that at least one of us should know how to build an app for if/when it was needed. Oh no! I was wrong. I don’t have to know how to program an app. I want to. I also want to learn about HANA and Gateway. Why? Well just because… I want to play with the new toys. Does that mean it’s a good idea?
I want to be the best at what I do
Does that mean that I’ll be the best if I know as much as I can about everything? Umh, no! The best usually specializes in some way. Maybe that means simply not keeping up with the functional side, and focusing on programming. Maybe that means I shouldn’t try to learn about Apps. I don’t know a lot of the things others in my team know.
So for me – yes – I do want to understand and know how to create apps! I guess I’m one of those jack-of-all-trades master of none type people! But for me that’s OK. And it means I can still blog about technology when I think of something I want to share. Or rant… You know, whichever.
So to keep me doing the happy dance, I need to be challenged. The next big challenge is mobile apps or web apps. Will I get to do it at work? Maybe not. We are back to the ABAP OO vs. structural programming debate AGAIN – talk about grey haired development. But I do plan on playing with them when I can.
After all – as Phil Gleadhill said and said it well – “This (programming UIs) more about Attitude!”
Please take a second and look at Can we embrace the Long Haired developer? that started the debate. The comments there are worth reading.