Fog Creek Software
Discussion Board




Choose between two projects:

Project 1:

Human Resources application (benefits, payroll data/entry, resume tracking, etc.) for the web

Project 2:

Integrate an accounting application with an e-commerce and CRM type web app

Which would you choose?  Why? 

notSureWhichToPick
Monday, August 16, 2004

I'd pick project 1 if I were looking to excel within the organization through showing off my abilities.

Project 1 gives you more flexibility and possibility for innovation and creativity as it is more a design from the ground up project.

However, I think you would learn more valuable information about your environment working on project 2 because you will likely be required to interact more with other people. You will also gain valuable experience and knowledge of both the existing accounting and CRM apps.

Neither is inherently 'better' I don't think. Rather, what you would take from each is just different.

Mobile-EQ IQ
Monday, August 16, 2004

Which is more valuable on the market, as far as development experience goes?

notSureWhichToPick
Monday, August 16, 2004

Go for 2.

Experience in integration of systems is I think a better career tick box.

Look at the first job again: isn't there a whole pile of software in there made commercially that they could buy off the shelf?

Patrick FitzGerald
Monday, August 16, 2004

I think project #1 for the same reason I say if I wanted to excel in the organization. That's the brownie-point project I guess...

In my brief experiences, it seems to me that employers recognize new systems much more than they do maintenance and integration of existing ones, even if the latter is much more complex and noteworthy.

That is most likely a different story at an ISV though, because hopefully your superiors aren't complete IT nitwits at one of those. :)

opinion schmopinion
Monday, August 16, 2004

Pat's still right in a way. Project 2 is the one you will ultimately take the most from. Whether or not it will be recognized.... anyone's guess.

opinion schmopinion
Monday, August 16, 2004

Good point, Patrick.

I'm wondering though, if there aren't a lot of number 2 out there as well.  Aren't there a bunch of tools out there that combine accounting and CRM in one off-the-shelf package?

notSureWhichToPick
Monday, August 16, 2004

There are, but the experience people see in it is not joining A and B together, but seeing that you joined a system to another system using x.

Whereas in project 1 they might see that you made a product type x and a product type Y.

The desire to self build has gone somewhat from the market for now; however, people will always want their legancy systemn connected to the new software, or having two things speak to eachother - especially if there is XML usage.

Not saying that all of that is good and just: just my perception of the market. I hire people and I know what other hirers look for too.

However, there is no such thing as a universally right answer. If it is your desire to work for a software house producing product (i.e. not consulting) then I would go for job 1.

Patrick FitzGerald
Monday, August 16, 2004


Uh guys...

Doesn't a Payroll application (#1) eventually interact with *all* accounting systems (#2)?

I think that although the projects are different now, eventually they're going to have to communicate with each other... of course, this will be done at the database level.

KC
Monday, August 16, 2004

If you plan to stay at the company, #1. Do it right and you'll be "the guy who wrote the HR system"

I'm the guy who wrote the HR system for SevenSpace. (and it's still being used!)

Philo

Philo
Monday, August 16, 2004

KC --

Actually, these projects are completely separate, so no, they won't intersect, although that is a good question.

notSureWhichToPick
Monday, August 16, 2004

I should have mentioned these projects are not going to be at the same client.

notSureWhichToPick
Monday, August 16, 2004

++ for Option #1.

TheGeezer
Monday, August 16, 2004

Think of it this way: which type of work would you rather be doing in the future? What ends up on your resume will influence future jobs. Do you want to build a niche for yourself as an expert in whatever accounting/CRM/ecommerce app? Or have experience building a large web app?

Personally, I'd go with option #1, as it sounds more interesting, on the surface at least, and would appear to give you much greater latitude. Then again, if your goals are largely financial, you can make a lot of money becoming an expert in some kinds of proprietary software.

Brad
Monday, August 16, 2004

Project 1 will be "safe." Not much can go wrong, not too many screaming idiots.

Project 2 could have very hairy issues. One source of fun and overtime will involve which accounting and crm packages you will interface with. It could also be more interesting. If I trusted the folks at site 2, I would take that one. If not, number 1 is the lowest risk.

The hairiest issues will be social factors. Do people use the CRM tool to automate their lies? Are you good at intuiting when folks are telling whoppers? Can you dig into the data to find out what is really going on? Do you want experience in doing forensic dba work?

One case I was in, the sales reps used the CRM tool to falsify records when sales were slow. When the new reports were totally out of whack with the old reports, I had to sit down with the vp involved (yes, it was that crazy french lady again), showing her how the data gets into the system with the add_date (when the record was added to the system) and change_dates (when the record was modified) involved. Once she understood what was going on (took several weeks), half the sales team was perp-walked out. Ouch. Could be bad karma there, as well as slashed tires.

In another case I was in, it was an ERP sort of thing, I was trying to figure out why there were discrepancies between what the database claimed and what the paper process involved was doing. So one of my interviews goes something like:
Me: so why don't you use the numbers from the computer for the TPS Report?
Her: well, they are wrong, so I use the spreadsheet from Suzie.
Me: ok, why are they wrong?
Her: well, Bobby packs the channel to make his monthly numbers look good, since the returns don't get charged against his sales. And Joey makes up numbers after the close of the month so that his department makes their numbers. So if I use the computer, the TPS Report will be wrong.

Later in that project, it turned out one of vp/execs who were sort of in charge of the project had about 4 sets of books: the ones to show to the board, the ones for taxes, the ones to figure out sales bonuses, and the real numbers. I didn't want to be involved in the next Enron/SPECTRE sort of thing.

My theory as to why a lot of ERP/CRM initiatives die a miserable death have to do with social factors, backstabbing, politics and outright fraud and corruption in the system.  People think they are automating their business, but by the time you automate it, you either find out what the real business is, or you automate the wrong thing. Hypocracy is when there is a gulf between what you say and what you do. Failed CRM projects are when there is a gulf between what you really do and what you think you do. The first rule of reality is that reality is what IS, not what you think things are.

So, for a number 2 type of project, plan on being a sherlock holmes. Keep your resume up to date, and if it looks like the project is circling the drain, take your red stapler and angry sea bass and run for the doors. Don't wait for your options in Sharks_with_frikkin_laser_beams to vest.

Peter
Monday, August 16, 2004

Project 1 sounds like it will have a lot of client side work while project 2 sounds like it will be mainly server side work.  I think most programmers have a strength/preference for one or the other so I'd advise you to go with whichever you will feel most at home with.

If you're happiest solving complex abstract problems then project 2 sounds like a good bet.  If you're happiest creating wonderful user interfaces then go for project 1.

cheers,
Peter

Peter M
Monday, August 16, 2004

Choose 1. Then you can put in some code which automatically puts your resume to the top of the pile.


Tuesday, August 17, 2004

Yup, Peter, CRM projects sound like their own kind of hell.

I wonder if I can minimize the stress by using an open source CRM system and tie it to their existing accounting and online store.  I would hate to re-invent the wheel or have them spend thousands of dollars on software that has a 50% chance of failure to implement.  On the other hand, any robust CRM package has its own learning curve, open source or not.

I am good at designing user interfaces, given enough time to do it.  I can't build them quickly.  I can program fast, but the actual GUI takes me the longest, even though I think I'm one of the better designers.

I'm leaning toward the HR system, because I've actually done it before.  This time, however, I get to make most of the decisions about the design.  I would hate to give up that kind of freedom to do Project #2, although #2 is a new and different animal for me.

Decisions, decisions. 

I wonder which is needed in the market more....I could leverage the knowledge gained and use it to build an ISV version to sell when I finally get bounced out of IT due to "circumstances" in our global economy.

notSureWhichToPick
Tuesday, August 17, 2004

You aren't referring to the declining value of the dollar vs. other currencies when it comes to purchasing IT services are you?

/me 'mutters something about H1-B and teeters off the deep end....'

Foreign Currency Exchange
Tuesday, August 17, 2004

You could do #1 and contractually secure rights to the source for yourself.  Then start a new business around your new HR app.

This doesn't work if you'd just be a member of the team, but if it's all you (or your consulting company), it could work out well.

Steve Monk
Tuesday, August 17, 2004

*  Recent Topics

*  Fog Creek Home