Tag Info

Hot answers tagged

47

Give them a cellphone number, but tell them you might not be available over extended periods, because you don't know how good the coverage is at the place you are going to. Then switch it off whenever you don't want to be disturbed, but in case they called, call back several hours later, or the next day, or whenever you feel like it.


47

How do you support your code post employment end? You don't. That's why it's called the end. If they'd be surprised to see you walk through the door and start using their equipment a month after you left, you should be surprised to have them call you up and ask a bunch of questions a month after you left. Okay, more realistically, depending on the ...


43

You can look at this as either a as time in limbo; or you can turn it into an opportunity to grow. The core idea of being a maintenance developer is to put yourself out of a job. Each time you have to fix something; take the time to understand the problem well enough so that your solution (which could come a few weeks after you put out the fire) means you ...


39

Part of your contract should describe acceptance tests i.e. tests that the client will do and your application needs to pass them for the contract to be fulfilled. Anything not covered by these tests is client's responsibility. Anything covered by them is yours. Because it is not possible (especially for a non-technical client) to forsee all possible ...


29

Hand them a phone number and a quadruple overtime rate. The goal here is not to make lots of money, the goal is to discourage needless annoyance. You're available, but only if you really need me. The database crashed, the users are compromised, you're getting multiple DDOS waves, that's when you pick up a phone. Can't find the username for some ...


26

GCC's popularity and usability is not questionable. GCC is still great compiler and most widely used. GCC supports languages that clang does not aim to, such as Java, Ada, FORTRAN, etc. GCC supports more targets than LLVM. GCC is supporting C++11 From http://stackoverflow.com/questions/12210102/does-gcc-4-7-1-support-threads mingw build at ...


25

Defects are an expected result of the software development process. For a time and materials contract, I would expect that the developers charge you for the time they spend fixing bugs. This is a normal part of a developer's job. For a fixed bid contract, I would expect that the developers eat the cost of the defects and deliver the system bug free (or as ...


24

You are in no way obligated to help them. Whether or not your former employer have realized it, they have taken a low cost/high risk decision by having only one developer work on the software. That was their (perhaps uninformed) decision, and now they are paying the price - you should not. If you feel like helping them, you should make a support agreement ...


22

I understood that GCC is falling out of favour because the people maintaining it have become somewhat arrogant, and now that LLVM is here (and is very good) people are voting with the feet. Slashdot had a discussion about LLVM's new support for C++11. _merlin says: Oh I don't think anyone thinks it's evil, just that it's pure self-interest rather than ...


19

Normally you prepare for this about 2 weeks before your scheduled end date. Plan some time for a knowledge transfer to another member of the team and try to make sure that they can support the code before you've packed up your desk. Don't set yourself up to be on perpetual support by putting your contact info in the code. If the situation is so serious that ...


18

Yes, it's bad idea to release software before Christmas. I would hope it's been through some testing so the tires have been kicked a bit, but QA will still suffer due to the timing of the release. Speaking from experience, I've been forced into that position many times and it has never turned out well. Depending how many customers are impact by it will ...


17

Back in the day we used to get "pager pay" if we were to be on call. You could try "clarifying" whether that's whether what they're offering. Then, assuming they just want you to offer to have your vacation interrupted for free, tell them you will check your voice mail (on your cell, at the hotel message centre, or at home) each night, or once a week, or ...


15

I used to tell clients that it's an old web developer's superstition that going live on a Friday dooms the project to financial failure. Nobody buys from a site that went live on a Friday. A surprising number of them believed me.


15

Being a maintenance developer != being left on the bench. Maintenance dev work can be some of the most frustrating, painful and annoying work in the world as you fix the weird issues the original developer missed. It can also be some of the most rewarding, both personally and professionally, and educational work you can do. If you can take out a bug that's ...


14

I usually try the following, in order: 1) Check the mailing list or forums to see whether my bug is new, it's already on the tracker, or is fixed in a newer version/SVN/whatever 2) If the bug isn't known, ask about it in the mailing list. This is when you get told it's a feature, not a bug, and/or RTFM ;) 3) If the bug is indeed a bug and it's new, you ...


14

To be blunt, this question implies a tremendous level of ignorance about the software development process. It might be wise to take your company web site off of your profile [especially since it doesn't exist], and go read a book on managing software development projects. To address your specific question, as others have stated, if you want bug-free code ...


13

Here's a potential e-mail to craft*; Sorry, I'm very busy right now with my existing contracts and not regularly checking my e-mails. If you have a support request for a product I used to work on, send a message to "support@mattharrison.com", so that we can discuss setting up a support agreement. If it's urgent, be sure to prefix the subject with ...


12

We took a very similar approach by designating a "Support Programmer" that rotated through the more junior (or newest) developers on the team. They were encouraged to try really hard to figure out the problem before asking the other developers even if it would be faster to kick it over to the developer who knew the code best. This way they were forced to ...


10

Chrome's new version adoption rate is really fast because of their automatic upgrade. Way faster than IE and even quite a bit faster than Firefox. Generally, if you are supporting the latest stable build of Chrome, you should be fine. It is literally only a matter of days or weeks before a new stable version almost totally replaces the old. Edit: Graph ...


10

I have had a few scenarios where I'm on holiday and the boss has called to ask me how to do something on a project I've been working on. In one case I was the build guy, something broke, and I was out at lunch with my girlfriend, and the boss called. My answer was that I was at lunch and, whatever it was, it could wait until I got back (I didn't actually ...


10

Money has been proven not to be a strong motivator, though too little money is a strong demotivator. Pay enough to take money off the table as an issue. Any more won't help, in fact it may hurt. This video suggests that the most powerful motivator is autonomy and I have found that to be true. However, you can go too far. Developers like their code to be ...


9

It depends. In the first instance you should pay as it can be argued that the work isn't complete. Later on the customer should be paying for continued support. However, the problem is in deciding where the boundary is and what constitutes a bug and what's a new feature. Having requirements and/or acceptance tests goes a long way to defining this. You ...


9

Train up the person replacing you as much as you can (if there is someone). I find it best to leave documentation with the code, preferably checked into source control if there isn't a central documentation system. Whatever you do, document as much as you can about: How to get a completely working system up and running on another developer's computer How ...


9

The reason why it takes a lot of time is because it takes a lot of work to get a solid foundation to build the headers on top of. The way mingw-w64 seems to bo is to build a solid pthreads-like library on Windows. There's less upstream grumpiness over that than introducing a dependency on the native threading of the Windows API. mingw-w64 implements ...


9

I would not force an update on a user. First, it tends to happen that someone's "work flow" or "process" becomes dependent on certain behavior of your app. If you change that, it will cause chaos and anarchy and whining to someone's boss that those mean IT people are stopping me from doing work and they need to fix it NOW. Secondly, like you said, ...


8

We have had good success teaching end users to respond to unhandled exceptions (which are thankfully rare, but which plagued one installation because of networking issues) with these steps (Windows only) press Shift+PrntScrn Open Word press Ctrl+V Return to the application and click the More Info button Click in all the words that don't make any sense, and ...


8

Enough commiserating... How fortunate you are that you are so vital to the continued success of your organization. They need your contact info because what you do might as well be black magic or voodoo to them, and they are totally afraid that if they can't get to you in the case of an emergency, that everything will come crashing down around their ears.. ...


8

All of the answers given above are good. However, I'd add a few bullet points to consider: Is the client valuable to you? Sometimes it is worth going the extra few yards to keep a client happy if you feel they are valuable to you and will bring you more work in future. You need to find a balance between being strict and flexible and this may differ for ...


8

Don't knock it. I've done plenty of time as a maintenance programmer. If the product is interesting and the other developers any good, you might learn something. And if they're bad, you'll learn what makes code unmaintainable, and you can use that experience when you're writing your own code. And after a while there, you'll be the guy they turn to when ...



Only top voted, non community-wiki answers of a minimum length are eligible