• Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other Pie Elite all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Campbell Ritchie
  • Jeanne Boyarsky
  • Ron McLeod
  • Paul Clapham
  • Liutauras Vilda
Sheriffs:
  • paul wheaton
  • Rob Spoor
  • Devaka Cooray
Saloon Keepers:
  • Stephan van Hulst
  • Tim Holloway
  • Carey Brown
  • Frits Walraven
  • Tim Moores
Bartenders:
  • Mikalai Zaikin

SalesForce - AppExchange

 
Ranch Hand
Posts: 48
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Hi Ranchers,

I am a Java Developer less than 1 yr of experience.
Recently my company asked me to handle this client work, based on saleforce - Apex Platform. (Salesforce - OnDemand CRM)
The work description is something like this -
To provide customized solutions using Salesforce-APIs.
The technologies used are
1 JavaScript - Ajax
2 Java
3 .Net
4 VBA
The experience working on this so far is good. But I have a doubt should I consider this as a long term career objective. I mean shouldn't it be like getting bind to so much specific this in so early part of my career or should I stick to core Java-Java EE development.

I consulted with some of my seniors, few of them said that this is a good technology to work with & many large companies now a days thinking on the similar lines of what Salesforce have done i.e. launching their system itself as a platform so my this experience will be an added advantage in future, when many more such type of platforms are available.

I am confused on this & need your help
Please give me some guidelines.

Thanks
[ May 01, 2007: Message edited by: Harry Kirsten ]
 
Ranch Hand
Posts: 69
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Learn as much as you can. If your a new rookie, the more you learn the better you'll become. A lot of organizations these days outsource, offshore, or buy software off the shelf. Unless you work for a software company, many businesses and organziations dont like building "in house" software anymore. It' s easier and cheaper in their mind to bring in a contractor or consultant for a set period of time or to buy some SalesForce product and implement it within their own system.

Learn as much as you can about how to integrate and how things work together. Learn ajax, java, and everything else. In this day and age, a person who can adapt to new things in an instant, regardless of what language or product it is, is a lot more valuable than somebody who refuses to accept anything new. Java is great, but tomorrow there might be something else out there.

Remember there were thousands of assembly, fortran, cobol, and mainframe programmers and programs out there. Then C and C++ used to be king. While there are still tons of jobs out there for those type of positions, many people stuck in the "i'm an expert in mainframe" mindset also became "i'm unemployed unless I move halfway across the country now."

Java seems to be the enterprise king now but that could change in 5-10 years.. If your just staring out and young, learn the language, learn the technology. But also learn the business side of things, learn to explain technology to customers and executives.. Learn many different things because at 22 something might seem cool, but at 35 years old that same something might be long ago yesterdays news.

When I was young and staring out, there was no such thing as an "internet". There were BBS boards. There was procom plus to connect to friends over a 300 baud modem. There was the trash 80. There was commodore 64.. Then 128... There was the "knock off IBM pc's".

At one of my first jobs, they stored data on punchcards and then reel reel tapes. Mostly everything was on dummy terminals...

Those things might still exist today, but if you want to advance your career, never just concentrate on just the language..

In the long run, plenty of people have been left in the dust because they were only an expert in a specific Language. Lets say you know the ins and outs of Language A... But suddenly our company or the market demands some new technology called Langauge E. Language E is no longer Object Oriented..lets say it's some AI Virtual formula using neurons or some other way created by one of the emerging countries like China. They might view things differently.

Cause remember, many mainframe programmers had and still have a hard time comprehending "links", objects and client/server technology. It's foreign to them and the older you get, sometimes people get stuck in their ways or become arrogant. So if your language of choice no longer is the "in" or "popular" or most used language, and the new way to do things passes you by because you just don't think "it'll last" or you think it's "not the right way to do things" you might find yourself like many of the mainframe programmers have, in a real pickle.

It's great to become an expert in one language.. But technology and today's world is defined by change.
If you start as a young rookie learning new things all the time, you can learn to adapt. If you start refusing to do things at your age because it's not "java", that might have serios problems when your 40, and have been doing Java for 20 years, and don't know anything else. Learn java, become great at it, but don't just dismiss stuff you think is "not cool or useless" because sometimes you never know what tomorrow brings.
 
Bartender
Posts: 6663
5
MyEclipse IDE Firefox Browser Linux
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

If you start as a young rookie learning new things all the time, you can learn to adapt. If you start refusing to do things at your age because it's not "java", that might have serios problems when your 40, and have been doing Java for 20 years, and don't know anything else. Learn java, become great at it, but don't just dismiss stuff you think is "not cool or useless" because sometimes you never know what tomorrow brings.



That is indeed very good advice. Great reply stephen.
 
Harshad Khasnis
Ranch Hand
Posts: 48
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
HI Stephan,
Thanks for your detailed response.

Right I am moving ahead on the same path what you are suggesting.
I joined in my company as Java Programmer, but besides that i have worked on .Net also and I am always open to learn as different technologies as I can.
Java is just something I love and I think everyone here on JavaRanch do the same thing.

But besides that what I actually wanted to say is about SalesForce, i think this is too much of a specific domain & I fear that my experience get narrowed down to a specific platform, which I don't want at early stage of my life.

My work is basically, using the APIs provided by the SalesForce platform in these several technologies and then built the solutions.

I been doing this for last few months but, there is no value addition in me in these technologies, besides SalesForce. I mean I haven't learn anything new in the course of my work in these technologies.
Whatever i have gained is the SalesForce knowledge.
This is where my doubt is.
Should I consider this as a long term career objective.
And if yes then in future, how can I use this experience for further progress??

Thanks
 
Ranch Hand
Posts: 1902
Hibernate Spring Java
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

Originally posted by Harry Kirsten:
My work is basically, using the APIs provided by the SalesForce platform in these several technologies and then built the solutions.



If I might offer a counterpoint - there's never a harm in developing a deep proficiency in a single product's APIs. It helps as another skill to leverage down the road if need be, and oftentimes might help you find some more elusive positions later in life that are looking for just that piece of software. My advice might be slightly different if it weren't something recognizable, but...

I suppose that I look at it that way since I'm in a very similar position - for the last five years, I've primarily been working with a different COTS product (OpenText's Livelink). However, in the course of working with it, I've also made sure to keep learning things outside of work when the work I do at the office isn't expanding my knowledge - you never know when something else might crop up - which goes along with what Stephen was saying about making sure you learn as much as you can.

But, to go with what I was saying... I don't know that the concentration is of itself a bad thing.
 
Harshad Khasnis
Ranch Hand
Posts: 48
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

Originally posted by Theodore Casser:

I suppose that I look at it that way since I'm in a very similar position - for the last five years, I've primarily been working with a different COTS product (OpenText's Livelink). However, in the course of working with it, I've also made sure to keep learning things outside of work when the work I do at the office isn't expanding my knowledge - you never know when something else might crop up - which goes along with what Stephen was saying about making sure you learn as much as you can.

But, to go with what I was saying... I don't know that the concentration is of itself a bad thing.



Whenever I approach any work or task which is allocated to me, first obvious thing that I do is I make sure the task is delivered in time & is a quality work.
But alongside I also try to explore the opportunity to learn from the same work - it may be technology, may be knowledge of business, design of project. This is how I upgrade myself, I learn from the work, from the people/seniors around me.

On this particular task initially I learned few things about various technologies & also the SalesForce APIs. But after working on this task for last 5-6 months, today whatever the knowledge I am getting is of the SalesForce & Business knowledge.

When I try to analyze the things, I figured out that on one hand there is so much more to learn in the core technologies, which i haven't done yet like (e.g Java - EJBs, Spring etc etc. or .Net - ADO, .Net libraries,ASP.Net)
Also on the similar lines I can mention other few technologies also.
AND
on the other hand I getting expertise in SalesForce, I am getting valuable domain knowledge, CRM understandings. My client & my company wants me to move ahead in the same direction & take more responsibilities.

So which path should I choose.

Thanks
 
stephen gates
Ranch Hand
Posts: 69
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
In the long run, you try to make your employer happy. If they want to use Salesforce, then learn it and become good at it. If you want to learn ruby or ejbs, do some side projects, buy some books, learn it, then see if there is any way it could be implemented. Learn about different methodologies, learn about different technologies. There is nothing wrong with learning and using something. My mindset comes from that of a consultant/contractor. So keeping up to date with new things is mandatory.

While it's great to keep up to date, sometimes if your in a more FT role, learning the ins and outs of that company becomes a valuable asset. Learn how and why they are integrating salesforce products. Learn what other products are similiar. Learn how you can use java/j2ee/web technologies with salesforce.. Learn how your company works and does business.

In this day and age, becoming an asset is more about a combo of things, rather than just knowing technology. If you get to know salesforce and how it integrates with your company and how some things could be changed or different or how other products might have been the wiser investment on top of keeping your knowledge of java and other technologies up to date will only be a benefit to you and your career.
 
Harshad Khasnis
Ranch Hand
Posts: 48
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

Originally posted by stephen gates:
In the long run, you try to make your employer happy. If they want to use Salesforce, then learn it and become good at it. If you want to learn ruby or ejbs, do some side projects, buy some books, learn it, then see if there is any way it could be implemented. Learn about different methodologies, learn about different technologies.



Hi Stephan,
Another great reply. Thanks very much.
But if I take this approach, and continue to learn the technologies, while working on SalesForce, in future when I may want to explore new areas or may be job change or something like that where companies will be demanding extensive work experience in the core technologies (e.g. Java,Java EE, .Net, Ajax, etc), how can I show them the work experience. I may have knowledge in these technologies but no relevant real work experience.
How to handle this situation.
I am sure if I continue to deliver the same performance as I am doing right now, I can become an asset for the company, but I am too small to know the company's future plans and also in which direction SalesForce will grow and how much it will be accepted in the whole business scenario.

Thanks.
 
reply
    Bookmark Topic Watch Topic
  • New Topic