Hacker News new | ask | show | jobs
by vlad 6408 days ago
Where are these positions located? Why do you care about "potentially less career advancement opportunity?" Do you want to do a startup, or do you want a career at a big company? We can't assume much from your post. Thanks! Also, what choice are you leaning towards, and why?
1 comments

What I want is to work on free software. The smaller python job offers that. What I'm not sure about is if it would be foolish to turn down IBM. I'm hoping other HN readers have been faced with this choice, or similar, and could tell me what decision they made and how it worked out for them. I don't have anything against working for a big company, but it was made pretty clear to me that at IBM I would be working on enterprise applications using java, among other technologies, on windows. I'm not really excited about working on proprietary software but this is my first job and I don't know what to expect. Is working on enterprise software challenging and exciting or am I going to spend all my time doing paperwork?
enterprise software has it's own challenges: you're dealing with software that has to be shipped to a customer, who may or may not want to upgrade/keep up to date the software (e.g. he may want to keep using an ancient version and yet want backwards compatibility). you have to follow a different development cycle: you can't just release too early and then fix it in production when bugs surface.

there's going to (usually, but not always) be more "process" overhead involved in enterprise software, although the goal of various agile methodologies is to lessen it and let you spend more time coding.

in short it's a different life cycle: someone else has clear requirements for the software (which you likely aren't going to be using yourself) that you have to deliver in a fixed time frame.

with consumer web applications the challenges are different: you don't have a specification document from your customers, you don't ship a copy to them. iterations are much quicker and you can always fix code once it's in production as it's running on your own servers. however, this is pretty much a 24/7 environment: you may not be carrying a pager, but you will be expected to be ready to fix the software at any hour of the night.