| last updated:23 Dec 2002 12:36 UK time |
![]() |
| JOS Statistics - Recent Comments (Comments added for week ending Sun 22 Dec 2002) | View Other Weeks |
| Protecting shareware | Sun 22 Dec | sudarshan |
| Hi I need some advice regarding good strategies to protect coping of shareware. Is there any software out there that provides this? |
| Sun 22 Dec | Alex | It has been ages, but back when I was a kid, the answer meant NuMega SoftIce and then hex editing the program to insert a few well placed NOPs. I guess the kid today use sensibly the same strategy with NuMega WinSoftIce. Oh, checksuming the executable only means a loader as to be made in order to insert the NOPs in memory. I think I was like 14 when I cracked my first game with, hmm, 4 hours of reading an assembly language tutorial. Worse thing is I owned a legit copy of the game, but couldn't be bothered the keep the manual handy every time I played. I suppose that with serial numbers, all you got to do is hunt down wherever the serial numbers are verified and either insert a NOP over the conditional jump or reverse engineer the algorythm. Shouldn't be that hard. My point being, the only way to make sure your shareware is not cracked is to ship a version that has been reduced in features. Then ship a replacement DLL with all features or something when someone registers. |
| Sun 22 Dec | Matthew Lock | See 'Crackproof Your Software: Protect Your Software Against Crackers (With CD-ROM)' http://www.amazon.com/exec/obidos/ASIN/1886411794/qid%3D1040609525/sr%3D11-1/ref%3Dsr%5F11%5F1/103-0710446-9701413 |
| The real benefits of EJB? | Sun 22 Dec | T. Norman |
| Why use Enterprise Java Beans? So far people I know whove worked with it say it makes applications take much longer to develop and more difficult to maintain, and gives poor runtime performance. On some of those projects, I could see the inherent reasons why they were problematic - one was a very low-volume system (<10 transactions per DAY) which had no need for EJBs, and with another they decided to make almost every object be an EJB. The others werent so clear cut as bad candidates for EJB, but still I havent heard of anybody who actually used EJB say much good about it. Ive also read the article EJBs 101 Damnations (http://www.softwarereality.com/programming/ejb/index.jsp). So, can any of you help me get past the marketing hype and horror stories, and tell me about the *reality* of what makes EJB a good thing (if its actually a good thing)? What has your experience been with it? If youre building a large-scale application in Java, what is there about EJB that cant be done easier and cheaper with another Java setup, such as a cluster of servlet-based Java application servers backed by a relational database? |
| Sun 22 Dec | Mike Swieton | Fowler's 'Patterns of Enterprise Application Architechture' doesn't go into EJB much, but does state that generally, they are simple not necessary. |
| Sun 22 Dec | Erik Lickerman | Enterprise java beans are just a way of allowing someone else to write most of the server code for you. This allows you to concentrate on things which are specific to your application. I can't really give you general rules for when you would want to use them (you never need to use them, or any other specific software component standard). If you are doing a web based application which is basically http connection to the client, and a back end connection to a database, you could easily get by with servlets. Remember also, that there are many kinds of EJBs. On the one project in which I used entity beans, my hope was that they would provide a good object interface to the relational store. In this respect I found them hugely dissappointing. Session beans, on the othe hand, are great place to put any server side logic and Message driven Beans can make writing message oriented applications a bit closer to a snap. I think the real answer is that you don't need to determine if EJBs are useful or worthless. You need to look at the capabilities of the application servers which implement them, and decide if the benefits of having those experts write most of you server code for you, outweighs the learning you will need to do on this fairly complex standard. I have found projects on which it is worth it. |
| CVS | Sat 21 Dec | PC |
| We have a new policy at work regarding CVS. Every time I add or modify a file I have to check it out and tag it as my own development branch. After its tested I have to merge it with the main development branch, and then merge it with the stable production branch. All of us who are not used to CVS branching are spending a lot of time on this process and are having trouble with it. Sometimes the branching and merging takes up more time than coding. Even the manager who decided on this policy has trouble with it sometimes. Does it sound like were being overly careful, or is this a typical version control process? Are we having trouble just because we arent used to it yet? In other words, will it eventually become second nature and not seem like a waste of time? When were in a hurry and have to fix a bug immediately, we cheat and just check it out of the production branch, make the needed changes, and then check it back in to the production branch. Entering log comments with every commit also takes time, and it can be hard to think of what to write. If you changed one little thing then the comment might seem silly, and if you changed a lot of things it can be hard to them describe briefly. I completely understand the importance of version control and I am not questioning that every file should be checked out, modified in my own directory, and then checked back in. But although I can see that branching would be needed under certain conditions, my feeling right now is that we should not be branching and merging as much as we are, because it wastes time. |
| Sat 21 Dec | Lennart Fridén | 'When we're in a hurry and have to fix a bug immediately, we cheat and just check it out of the production branch, make the needed changes, and then check it back in to the production branch.' Since you're already cheating, I'm not so sure you'll ever consider the constant branching 'second nature'. You'll, however, consider 'cheating' second nature. Sounds like a failed system to me. |
| Sun 22 Dec | Simon Lucy | The tip of the CVS tree should be the current development, branches should be considerable divergences or long term development. The tip is not for production, production itself should be a branch. This is not to say that its ok to break the tip, its important that before checking in that its been tested to at least build and not break anything else. This means checking out and merging before checking back in. The last point is where bottlenecks occur and where people tend to take shortcuts, and then end up spending time backing code out and doing it all over again anyway. |
| Sun 22 Dec | PC | Yes, we have a branch for production and the main default branch is for development. My question is about the policy for individual development branches. If I have to fix a minor bug, I don't think I should create my own branch, then merge it with the main branch, then merge that with the production branch. I think I should just check out the production version, fix it, and check it back in. If the policy is overly complex and time-consuming, no one will follow it. Not because we like to cheat, but because we might under pressure to fix something immediately. On the other hand, once we have enough experience with branching and merging we might not consider it complex and time-consuming. But I'm concerned that it will never become quick and easy because of having to type so many log comments. |
| Sun 22 Dec | Simon Lucy | That's fair enough, but if its a bug in the trunk, then it should be fixed in that and merged into any branches. You shouldn't create branches just for the sake of it, no. |
| Sun 22 Dec | mackinac | From your description the system doesn't sound that bad. The environment that I am working in only has a main production branch and developers create a separate branch for each modification, then merge back to the main. There is no common development branch. I can see where your system has some advantages. We sometimes merge several changes to the main branch, then find that there are bugs due to incompatible changes, and we have to back out changes. This shouldn't be happening in the stable production branch. If your management is pressuring you to bypass the procedure to get in quick bug fixes, then they need to rethink their policy and decide what's important. |
| Sun 22 Dec | Alex | Perhaps the point could be brought out and discussed in a meeting with the staff to establish clear guidelines and see if it makes sense to have exeptions. It seems to me that bug should be fixed out of the developement branch then merged into production. But making a branch so you can hunt down an = in the place of an == or something silly like that is overkill. On the other hand, significant changes might be better in their own branch. The definition of significant can vary from environement to environement and also with the maturity of the code base. Alex |
| Sun 22 Dec | Xxxxx Xxx | Maybe your CVS client is no good. Checking in/out should not take more than a few mouse clicks. This is my experience with SourceSafe. Merging should be only a few more clicks. I think some clients allow you to automate the whole process through shell scripts. You say CVS operations takes more than coding. Wow! |
| Merry Xmas | Fri 20 Dec | S.C. |
| Merry Xmas and happy new year everybody. :) I have some curious questions: how many days of holiday do you have this Xmas? What are you planning to do? How many of you will do job-related stuff, learning C#, playing around with the trial version of CityDesk, etc., in your holiday? A friend of mine work in ATI. He told me his Xmas wont be that merry. :( |
| Fri 20 Dec | apw | 1 1/2 day vacation ...but taking 2 weeks...traveling, visiting family, relaxing, NO COMPUTER :) Have a good one |
| Fri 20 Dec | sgf | Well, that's a sore point here. We're closed for two full weeks but we must use up vacation for 6 of the days, or not get paid. Makes the 'generous' vacation plan less generous. Oh well, since I can't work I guess I'll be painting the new addition on my house. Fun ... not! |
| Sun 22 Dec | suhu | Hi, Merry Christmas. My company has given has a week off. This is more likely to business being a bit slow during end of the year. Take care and this is a wonderfull site. |
| Marriage == Career Death? | Thu 19 Dec | Wayne |
| Ive been dating my girlfriend for about 3.5 years now. She just turned 25 and is starting to get those my friends are all getting married, and I still live at home blues :( We had plans to move in together soon, until recently when I got cold feet and told her I wanted to think about it. Right now we only do the weekend thing, but we used to live closer ergo, spent a LOT MORE time together. It was during those times that I found myself much less (focused and productive) at work. When my girlfriend is around, I find myself agreeing to things like family gatherings, having friends, watching movies, going out to eat, etc. Dont get me wrong, I LIKE that, but I didnt do ANY of those things when I spent 2 years in my parents basement learning computers and programming which is WHY I have a job today. Ive read that an XP rule is an 8 hour day for programmers, but I have trouble sticking to this. Just last night, I was up until 6am designing something. Sometimes, I dont even get started until 2am OR I work from 8am to 3am because I LOVE doing it. I mean, Michaelangelo didnt work 8 hour days (not that Im comparing myself! :) Anyway, I have tentatively decided that I should not get married, but we have given ourselves a year to think about even moving in together to try it out. I dont want to waste this girls time, so Im thinking hard about it. If you dont mind, what are some of your experiences? Is it just a matter of getting used to saying NO a lot to fun stuff? Should I maybe take a look at my work habits and find a smarter way to work? (Im always doing that anyway, which is how I found JOS) What should I be thinking about here smart people? Thanks! |
| Thu 19 Dec | wiser | Balance is the key my man. Think longer terms. Coding is not the ultimate destiny for mankind. |
| Thu 19 Dec | Olestra | Find a smarter way to work. Your job is always a lame reason to break up a relationship. Especially if you are a 'computer programmer' - if you break up, there is a good chance you will never meet a woman again. (I know from experience) |
| Thu 19 Dec | TK | For most, the family thing is the long term source of satisfaction, comfort, and 'growing up.' I'm not talking about shacking up. I'm talking about two folks making a lifetime commitment. In my case being married is a lot easier than a long term dating relationship. A certain kind of stress and uncertainty goes away. One of my friends told me that jumping is hard but falling is easy. Best wishes to you! |
| Thu 19 Dec | Jason | not to be mean, but if you've decided to put off marriage because it would hurt your programming career, the girl should probably be thankful |
| Fri 20 Dec | Sammy | Let's pull no punches, marriage with a person who's not driven in the same ways will ultimately trade off with what you want to accomplish in those arenas. If you were dealing with something like writing or poetry, the difficulties might be able to drive you far, but you're not working in an area of tech like that. And it will of course be painful to her too. She'll see her friends have their husbands at home at 'normal' times (forgetting that those husbands have problems of their own) and come to feel disappointed at missing out on something special... I think you can make this marriage work if you accept messiness, but your work is about translating messiness into artificially clean models. So good luck, whatever you decide! |
| Fri 20 Dec | raindog | I agree with Jason. If programming is more important for you than being with person you love, then something is not right. Personally, I got married at 21. We live together for 14 years. In these years I got M.S., then Ph.D. and made a relatively successfull career in programming. I'm not sure whether I could do all of these _without_ my wife's support. |
| Fri 20 Dec | HeyMacarana | To me it sounds as if the problem may not really lie in committing yourself to the marriage, and that your just using the potential conflict with your work as an excuse. If you really liked and loved her enough then work would not be an issue. So I think the answer to your question lies in how strong you think your relationship with her is. It seems that she likes you a lot, but you're not too sure about her. Or maybe she feels the same way you do, but since all of her girlfriends are getting married, she feels a sudden need to also get married even though she may not really be ready either. Decisions, decisions.... isn't life grand? :) Good luck with your choice! |
| Fri 20 Dec | Alyosha` | I had to chuckle when I saw this thread. I would have never thought this technical board could turn into a Dear Abby forum. Not that I'm complaining -- I think it's a nice reminder that there's more to life than just programming ... And it's funny, too, because I have to wonder how many single geeks are out there, just WISHING they could be having the problems you're having ... Unforunately I understand relationships even less than I understand technology, so I have no advice to give or experiences to recount. A lot depends on the dynamics between your personality and hers, what each other's priorities, goals, expectations, and fears are, and so on -- all these unique factors that you know far better than I. I wish you the best of luck whichever road you choose. |
| Fri 20 Dec | Wayne | I guess it's really not as complicated as it sounds, but it's a huge change. I just don't want to make the wrong decision because it could potentially screw someone *else's* life up, not just my own! Thanks for all of the replies, you have given me some things to consider. |
| Fri 20 Dec | Yandoo | Wow. I'm very impressed with the responses here, we obviously have some really balanced people on this forum (according to my criteria of balanced anyway). I'd second the long term view. All I can do is offer you a time machine(!) Picture yourself at your 80th birthday party looking back on your life, how does this decision look then? What's important to you at that point, what would you have wanted to achieved? I find this is a really useful exercise when I get caught up in 'values' dilema. Re the career/home life thing - personally I think there is more than enough time to have a great career and personal life - you just need to focus on spending time on the important stuff. Easy to say, infintely harder to do . . |
| Fri 20 Dec | Ged Byrne | ------------------------------------------------------------------------ I just don't want to make the wrong decision because it could potentially screw someone *else's* life up, not just my own! --------------------------------------------------------------- Wayne Your thinking is sounding a lot more substantial than people are giving you credit for. I do, however, think theres a certain amount of displacement with the programming reasoning. Your absolutely right, you won't be doing you Girlfriend any favours by marrying if your not ready. Also, she may also have plans for a family that your just not ready to sign up for yet. Marriage is a bit step, and your right to agonise over it. |
| Fri 20 Dec | Just me (Sir to you) | ' I had to chuckle when I saw this thread. I would have never thought this technical board could turn into a Dear Abby forum. ' It is just a trick of Wayne to discover who the females are on this board. Ged Byrne, now who would have thougth ... :-)))) |
| Fri 20 Dec | Jutta Jordans | Wayne, I don't know, where you live and if it is possible and acceptable to live together as an unmarried couple, but if it is, why don't you just do this first step and move in together? You will then both see if it works out for you alright. IMO even thinking about marriage before you have tried that out is crazy. For both of you. And if you notice in a year or so, that it is not the thing you want, you can just split up again. Marriage should be forever. Moving in together should be for as long as you both feel comfortable with it. BTW, does your girlfriend have a career, too? Have fun, |
| Fri 20 Dec | YesItWasDeath | I divorced because of that. YES it was career death. And now, I made my own biz and have a much better living. But, she was kind of a boring person for me (nothing in common). Now, I am w/ another woman who is much more in line w/ me (understands PCs, likes the fact that I am knowledgeable about IT, tech goodies etc). Of course the fact that I can pay for cleaning and cook food is quite a bonus. A key would be making enough $$$ to get the daily chores out of sight and find someone who shares your interests. Of course, putting limits to some activities is benefical (you do not need to code up to 3 am EVERY DAMN DAY). ... and of course, having a sex life helps in the long run too ;-) |
| Fri 20 Dec | T. Norman | I wouldn't make moving in be the first step, I'd encourage her to move into her own apartment (assuming you live in a country and state where that is affordable for a 25-year-old). Let her experience what it is like to pay 100% of her own bills and do 100% of her own chores, so she can have a better appreciation of time and money. Then you'll have to sit down and have a heart to heart discussion with her about what your type of career entails. Explain that if you expect to be employed for a long time in this industry, your job does not end when you leave the office - you still have to spend time at home reading technical books and writing programs to keep yourself up to date. Then try to establish a schedule of times that are dedicated to you and your professional development, which she should not disturb, and encourage her to set up time to do things that are of interest to her personally or professionally. Most long-term successful couples don't spend nearly 100% of their personal time with each other. It is important for each of you to dedicate time to your own personal and professional goals and not be 100% wrapped up in each other all the time, especially when one of you is unwilling or unable to dedicate that much time on a sustainable basis. |
| Fri 20 Dec | raindog | Jutta - Just curious, in this context, what is the difference between living together as unmarried people and marriage? Sure, one can skip some formalities, but does it really matter? I'm asking because I came from society where living together unmarried was impossible. On the other hand, marriage/divorce processes were very simple, so nobody 'cheated' :o) |
| Fri 20 Dec | T. Norman | I'll add that marriage can be career death, or a career can marriage death, if you marry someone whose wants and needs are incompatible with your career. But it doesn't have to be. Some careers place certain demands or restrictions on you or your partner, and not all women are willing or able to deal with that. If your wife is not the type to put up with what your career demands of you, the marriage won't last. Think about it - cops' wives, military wives, wives of traveling businessmen, wives of ER doctors, all have to deal with issues that not everybody can cope with. A geek's wife IMO has to deal with less than any of those mentioned above, but still for the marriage to work she'll have to understand that there are certain things about your profession, such as: - you can expect to have periods of unemployment in your career, as this industry works on a boom-and-bust cycle. So you'll have to be careful to save enough to make it through those periods. - sometimes you have to work long hours and weekends (hopefully you can get a job where it isn't like that *all* the time). - your job does not end when you leave the office, because you have to spend time learning and experimenting to avoid falling behind. If she can't deal with those things, she's probably not the right one for you to marry. Similarly, whatever her career is, you have to be willing and able to put up with the issues it places on you, or the marriage won't work. |
| Fri 20 Dec | nutshell | I see no difference in living together and getting married, apart from some guy in a stupid dress saying 'you may kiss the bride' |
| Fri 20 Dec | Just me (Sir to you) | In many countries there are substantial legal and financial differences between maried and unmarried couples. As to the original poster: Wayne, I think it is pretty clear from your post that you are realy not ready to take this step. It even seems to me that you are still in a phase where you have difficutly imagening that you will ever be ready. Your girlfriend might be there though, so you have a problem. Be very honest to each other about your outlook on life. Don't just let these things be silently assumed. You'll find out eventualy anyway whether you are compatible or not, but by then you might regret not having been more clear from the start. |
| Fri 20 Dec | John Ridout | I'm still trying to find the Girlfriend 1.0 Unleashed book. |
| Fri 20 Dec | Just me (Sir to you) | girlfriendsunleashed in the Global domain spaces: girlfriendsunleashed.com Available girlfriendsunleashed.net Available girlfriendsunleashed.org Available girlfriendsunleashed.info Available girlfriendsunleashed.biz Available girlfriendsunleashed.us Available |
| Fri 20 Dec | anon | Subject: Bugs in Girlfriend 1.0 Last year a friend of mine upgraded GirlFriend 1.0 to Wife 1.0 and found that it's a memory hog leaving very little system resources for other applications. He is only now noticing that Wife 1.0 also is spawning Child-Processes which are further consuming valuable resources. No mention of this particular phenomena was included in the product brochure or the documentation, though other users have informed him that this is to be expected due to the nature of the application. Not only that, Wife 1.0 installs itself such that it is always launched at system initialization where it can monitor all other system activity. He's finding that some applications such as PokerNight 10.3, BeerBash 2.5, and PubNight 7.0 are no longer able to run in the system at all, crashing the system when selected (even though they always worked fine before). At installation, Wife 1.0 provides no option as to the installation of undesired Plug-ins such as MotherInLaw 55.8 and BrotherInLaw Beta release. Also, system performance seems to diminish with each passing day. Some features he'd like to see in the upcoming wife 2.0. - A 'Don't remind me again' button - Minimize button - An install shield feature that allows Wife 2.0 be installed with the option to uninstall at anytime without the loss of cache and other system resources. - An option to run the network driver in promiscuous mode which would allow the systems hardware probe feature to be much more useful. I myself decided to avoid all of the headaches associated with Wife 1.0 by sticking with GirlFriend 2.0. Even here, however, I found many problems.. Apparently you cannot install GirlFriend 2.0 on top of GirlFriend 1.0. You must uninstall GirlFriend 1.0 first. Other users say this is a long standing bug which I should have been aware of. Apparently the versions of GirlFriend have conflicts over shared use of the I/O port. You think they would have fixed such a stupid bug by now. To make matters worse, the uninstall program for GirlFriend 1.0 doesn't work very well leaving undesirable traces of the application in the system. Another thing that sucks -- all versions of GirlFriend continually popup little annoying messages about the advantages of upgrading to Wife 1.0 ***** BUG WARNING ******** Wife 1.0 has an undocumented bug. If you try to install Mistress 1.1 before uninstalling Wife 1.0, Wife 1.0 will delete MSMoney files before doing the uninstall itself. Then Mistress 1.1 will refuse to install, claiming insufficient resources. |
| Fri 20 Dec | Just a thought | 'Most long-term successful couples don't spend nearly 100% of their personal time with each other. It is important for each of you to dedicate time to your own personal and professional goals and not be 100% wrapped up in each other all the time, especially when one of you is unwilling or unable to dedicate that much time on a sustainable basis. ' Advice like this always makes me cringe. Sure, many successful couples don't spend even close to 100% of their personal time together - but some couples do. For example, my husband and I rarely spend more than an hour apart during the day. This doesn't mean that we don't dedicate time to our own 'personal/professional' goals - we certainly do. And although our core values match pretty closely (if this is not the case, it tends to make things more complicated) we have different interests and hobbies, not to mention different skills and different jobs (we work at the same company - desks side by side, no walls). But because it was important to us to spend a lot of time together, we found a way to do that *without* sacrificing the things that we think are important. And I think that's really key to a successful marriage - to know what your expectations and hers are and to figure out a lifestyle that can meet both sets of expectations at least some of the time (notice the word 'can' - not 'does' necessarily, because compromise is also a big part of marriage!) Personally, I would never have wanted to get into a relationship where my significant other thought his career was more important than the relationship. But - getting random advice from people (like me) who have no idea what your situation is and who don't know you is not really worth much! My advice is that it would be worth getting pre-marriage counselling - if nothing else it's a useful exercise in determining what you both expect out of life (and if these expectations don't come close to matching...) |
| Fri 20 Dec | TK | From what I've read, marriages after shack-ups are more prone to divorce the non-shack-up. They can be seen as a trial but it is not a trial of 'lifetime commitment.' It's that commitment that sets the marriage apart. Shack-ups are easy to dump. It's not the same. The key is that the partners know each other well enough to be confident in the commitment. My mom said, 'If you can change them before marriage, you'll never change them after marriage.' |
| Fri 20 Dec | GML | Bottom line is this: nobody ever lies on their deathbeds saying 'I wish I'd spent more time at work'. You may not realize it now, but marriage and family are extremely rewarding, and as you burn out of 20 hour days programming (most people do), you'll appreciate having something else in your life. I had a boss who was a die-hard workaholic, and even he is spending less time in the office -- it happens to just about everyone. I just warn you that if you focus only on your career, to the point of ignoring everything else, you'll feel empty as you get older. |
| Fri 20 Dec | Simon Lucy | Living together isn't 'shacking-up', the statistics about longevity of marriage can be viewed entirely the other way. Because there are no statistics that make sense in this. Those that are able to stay together, will stay together regardless. Personally I'm glad we were living together for a few years before we got married. It was our 20th anniversary this August, and it means nothing in relation to anyone else. |
| Fri 20 Dec | mark | Check it out Wayne. I've been with the same girl now for close to four years on and off. She's an alcoholic. I lived with her for 2 of those years, and then moved away again, because her drinking got out of control. When I moved away because of her drinking (same as you, about an hour away), I was able to spend more time doing the things that I wanted to do. I guess what I'm trying to say is, what do you value more-- This girl, or your career? For me, I love this girl, alcohol or no alcohol. I wish I could go back, but I keep my distance, because living in that environment stresses me out, and leaves me unable to concentrate on my own projects. If your woman makes you happy, and you're a human being (which I'm PRETTY SURE you are), you'll move in with her and make a compromise. I know I know, it's a crazy idea, the compromise. She needs to understand that you need time to work, whether it's at work, or home. A rigid schedule is probably not a good idea, because you might lose flexiblity. Let her know that if she wants to move in, you need your own time, let's say 20 hours a week to be left the hell alone to work, at home. The flip side is that you're gonna have to give her time too! You say you don't want to waste her time, but guess what, if this relationship doesn't work out, YOU ALREADY HAVE. So make an effort to give it a shot, because then you've at least got a chance at making it work. If you're not willing to give it a shot, you're just delaying the end. I'm still with Bea, and I've been more patient than any man alive, so I'm told. But I do love her, and I want it to work. You can't try and fail forever. The important thing is that you tried. |
| Fri 20 Dec | anonQAguy | I have no problem with the context of this question being that of software engineering, as that's supposed to be the guiding theme here. That said, it's often apparent to me from the nature of the comments I read here that some of the posters are operating under the illusion that they have the hardest job in the world, are the smartest people ever born, have the stupidest managers, work under the most horrifying conditions ('oh god -- another boring programming task, yes, they'll pay me for it, but it's so boring...', or 'oooh... I can't get my aeron adjusted right'), etc.
Sorry to burst the bubbles of those who think that way, but there are quite a few non-software/IT careers/jobs that are all-consuming and demanding of people's personal lives and relationships, especially marriages.
In my own experience, I got married at 24 as a young officer in the US Army. That career, especially if you truly believe in everything it stands for and are a patriot as one who takes the oath should be, is highly demanding. A great amount of family separation, fear (on the part of the spouse) for your safety, exposure to situations such as 'NEO' (non-combatant evacuation operations) which defined the plans for evacuating all combatants' family members and dependents out of the theater back stateside hopefully before the first missiles started flying, the list of challenges is quite long. Many of these things are conditions most civilians couldn't even understand, much less ever have to consider, yet my wife of 19 years and I have remained solid together. She has been my rock. She tolerates considerable separation resulting from my current work as well since I too am in the software development industry, suffering many of the same occupational issues posters to this site complain about.
The point is that if the two of you want to get married, the adversities such as separation and occupationally imposed hardships really do cement your relationship--so long as you're both committed to succeeding **together**. If you two do want to get married, then these occupational hardships, in and of themselves, should not be the reason not to get married.
But, it seems to me that it's a good idea for you both to be as aware as possible of what your lives together will be like, given the adversities you two will face, be they occupational or health, or whatever (that's why you swear an oath to each other 'for better or worse'). For many, living together first is one way to get familiar with some of those factors, which is fine and works well for some folks.
In my experience, a marriage is best when the two partners' talents and characteristics complement each other, but they share common goals/desires from life. The analogy is very much like a sports team--the players all share a common goal, so there's no debate about where they're all heading **together**, but their individual talents complement each other. An American football team would absolutely suck if it were composed of all quarterbacks, no matter how brilliant they were; one has to have the members' talents complement each other properly. So, there's a degree of difference that it's best to have between you and your partner, combined with a degree of 'likeness'. Core values, main life objectives, levels of commitment to each other--these should be the same; most of the rest of the two of you should generally be complementary.
IMO, you two should seek that sort of understanding, or test, if you will, to see if you two would make it together despite whatever hardships life may present to you. In other words, try to figure out if you both want to 'head to the same place', have similar levels of commitment to doing so together, and if other than that you two complement each other well.
Oh, and it's egregious bullshit that absolutely everybody should get married, or that everbody should breed. Not everybody is cut out for marriage and/or having/raising children. Our society (USA at least), thanks in large part to irrational and dangerous religious dogma, has tried to foist upon us various 'guilt-trips' and value judgements if we happen not to want to get married, or to have children. Both endeavors are profoundly serious in nature (hugely rewarding when they work out) both for us individually and for our society. Neither should be undertaken by anyone who doesn't want to pursue them. The costs of getting married and/or having children if you don't want to, or for the 'wrong' reasons (and failing at one or both), is equally profound for both individuals and for society.
So my advice, in the event it's worth anything at all, is not to succumb to any pressures by anybody -- parents, friends, society, etc. either way on the marriage decision (or any parenthood decisions, either, if things work out that way).
Plenty of people have made a successful, rewarding go of career, marriage and parenthood, even in the face of occupations and other hardships far, far greater than any that the software development industry could ever hope to dish out.
And will marriage cause career death? Once again, if you're heading in the same basic direction together, it certainly doesn't have to be the case. For me (and I'm confident I'm nothing special in this), our marriage has often been the one thing that permitted me to force myself to go through yet another day of |
| Fri 20 Dec | T. Norman | JustaThought - I brought my points up because it was apparent that he felt he was spending too much time with his girlfriend. What is too much for him may not be enough for you. Different couples have their own different levels of needs when it comes to spending time with each other. If the two people are too far apart in that regard, the chances are low that it will work out in the long term. And I don't think of it so much as the career being more important than the marriage - but it's more a matter of she being able to accept him for what he is (and vice versa). Don't tell a cop he shouldn't be a cop because it's too dangerous, and don't tell a nurse she shouldn't be a nurse because the hours are irregular. Either accept them as they are or find somebody else who better fits your wants and needs. Being a software professional and staying gainfully employed as a software professional goes beyond being just a 9 to 5 job. That's something the significant other of a software professional will have to accept if the relationship is going to work. I'm sure she wouldn't be happy either if he spent all his personal time with her, but 5 years from now he's constantly unemployed due to the fact that he spent the prior 5 years doing nothing but programming FoxPro from 9 to 5 and neglected to upgrade his skills. On the other hand, if he is spending an unnecessarily large amount of time focusing on his career, it could be a problem if he doesn't scale back. To maintain sustainable employment in this field it is necessary to work more than 40 hours/week sometimes, and it is necessary to spend some personal time acquiring new technical knowledge, but it isn't necessary to put in 12 hours a day on any regular basis, or to become the next Bill Gates or Linus Torvalds. |
| Fri 20 Dec | anon wannabe | |
| Fri 20 Dec | James Shields | One thing to think about... Nobody has ever said on their death bed, 'I wish I'd spent more time in the office.' |
| Fri 20 Dec | Just a thought | 'Different couples have their own different levels of needs when it comes to spending time with each other. If the two people are too far apart in that regard, the chances are low that it will work out in the long term.' This sums up precisely what I was trying to say. But this: 'I'm sure she wouldn't be happy either if he spent all his personal time with her' is exactly what I meant about cringing. The point is that everyone is different - and since none of us know the poster or his girlfriend, we can't meanfully comment on whether she would (or wouldn't) be happy with the amount of time he is willing to spend. However, the poster didn't sound like he was unwilling to spend time with his girlfriend - it sounded (to me) more like he felt that when she was around, he found it hard to concentrate on work. And I think that's a valid point. Long term though (girlfriend or no girlfriend, wife or no wife) I think he needs to learn how to concentrate on work even when not living in a cocoon. (Getting in the zone, so to speak). If you are only able to be productive if absolutely nothing else is planned or happening after work or on weekends, that's a pretty serious problem. Many people are that in order to be successful in the software field you can't only work 9-5, and I would agree, but I don't think it requires working crazy hours either in order to keep up. It's more that if you get in the zone at 4:30, leaving at 5 makes no sense. But staying every night until 10 (or even working at home everynight until the wee hours) isn't healthy and usually results in crappy work anyway. |
| Fri 20 Dec | Passater | I would just move in together. That was exactly what I did 5 years ago and in 6 months we were married. Personally I think that marriage is not a thing you should give too much thought to, it should grow out of you. And at some point you will just know whether you want to marry her or not. |
| Fri 20 Dec | Passater | And one more thing. Someone mentioned Linus Torvalds here. I think we all could agree that the guy made excellent carrer in the field, yet he's married and has 3 kids. |
| Fri 20 Dec | Bella | The difference b/w living together and being married is about a $50,000 3 hour party. I agree that the guy is using his career as an excuse to not move to the next level. (Subconsciously or not.) Great idea about making her get her own apt. Many women have no appreciation of how men in our socieety have been reduced to 'man slaves' who work until they get a stroke, while the wife sits around all day and takes tennis lessons. And yes, marriage/family IS career 'death' See this old thread for details: http://discuss.fogcreek.com/joelonsoftware/default.asp?cmd=show&ixPost=5308&ixReplies=44 |
| Fri 20 Dec | Bella | More tangentially related posts: ================================== First, I've basically said that people with outdated skills have trouble finding work. If you don't agree, or call that trolling, that's fine by me. > Bella, have you even bothered to visit professor Matloff's web site? Yes. And the excerpt below is often overlooked. Yes, it's partly skills, but it's also about dedication, distractions, and outside responsibilities. We've had this debate a few months back, so I wont rehash. 'Employers like to hire new college graduates or young workers within a few years of graduation, because they generally are single and thus can work large amounts of overtime without being constrained by family responsibilities.' Bella Wednesday, June 19, 2002 ================================== Anyone with any clue understands the tradeoffs between salary, age, skills, and experience. This is common knowledge. It is up to the hiring entity to decide what best fits their needs. YOU do not know what this is, THEY do. Personally, I've never seen age discrimination happen. Skills and relevant experience talk. If you have the skills and experience, and fit within the salary range, and have a personaility fit, then you're in. I've never, ever seen it any other way. I always laugh when I see people with shit skills blame their age. No, it's because you AREN'T QUALIFIED. You may THINK you're qualified, but that's not YOUR decision to make. Lastly, burden also falls upon the applicant to know when he's out of place. If a shop is filled with hardcore 30 year olds who work until 10pm, and that's not your style, then don't bother to apply. You'll only get frustrated and quit. And vice versa, if you're 30, and want to work until 10pm, don't go work for a 'maintain 1995 Powerbuilder apps from 9-5 , collect my paycheck, and goto my son's little league game, then visit my mother's nursing home' type of IT dept. You'll only get frustrated and quit. Bella Wednesday, June 19, 2002 ============================== I love when ADA/COBOL/AS400/JCL/RPG/Mumps/CICS/Foxpro/Delphi programmers get laid off, can't find another job, and then resort to 'age discrimination' as the root of their troubles....Sorry folks, it's called 'skills discrimination' or 'relevance discrimination' Bella Tuesday, June 18, 2002 ================================= |
| Fri 20 Dec | Contrary Mary | From a girl: Don't marry her to get her out of her parent's house. If she can't make that move on her own, it's a bad sign. You say you aren't living near each other anymore. Try to get her living (on her own) closer to you. I'm a bit older (30s) and have noticed that a significant chunk of the younger women today are far less career oriented than my friends are/were. Someone without a bit of gumption in this regard is less likely to respect how much effort you need to put into your job. She should have a passion or two of her own, and it doesn't have to be tech. My hobby is knitting, and it is amazing how many of the women in my 'stich-n-bitch' group are happily married to techie guys. (And a we have a reasonably techie count amoung ourselves.) I recently read an article (USAToday?) talking about happiness being highest among people with hobbies or who had things they 'did.' What will she be doing while you code all night? If the answer is twiddling her thumbs, you've got a problem. If she is happily quilting, reading, doing ironwork, building model train sets, etc. you'll do fine. You need to get your coding life under some sort of schedule if you want to sustain it, however. Flights of fancy will always overtake you, when inspiration hits and you have to squeeze every bit out of it. But you need to get work at calling your coding muse a little more regularly. Getting work done when you need to, not just when you want to is an important step on the way to being a grown up. |
| Fri 20 Dec | long lasting | Wow. I don't know where to begin. I personally would never place programming above the people that are significant in my life. Now what you have to ask yourself is this: Is this person significant in my life? Do I want her to be a significant part of my life? When I'm lying on my death bed, which path would I most regret not taking? Now, I'm all for devoting your life to your work. Like you said, look at the great artists throughout history. But PROGRAMMING? Come on! The shit you write will probably be discarded in a year anyway. I mean, if I had a shot at contributing to western civ, I would've never bothered with dating. But I'll be damned if I'm going to burn my life earning money for 'the man'. Even if I had my own company, I could see putting in more than an 8 hour day. But not as a programmer. These are the lessons that I have learned in my life and are given freely. They may be worth exactly what you paid for them. |
| Fri 20 Dec | long lasting | P.S. I couldn't imagine life without my wife. She is my friend and we enjoy doing many things together. I would hate to live life without her. |
| Fri 20 Dec | Doug Withau | Wayne, A very wise person once told me, “People never ask for advice unless they already know what they are going to do.” I think you want us to help you rationalize your decision, whatever it may be. That being said, you need to read some of the burn out bitching threads posted here. If you are about the same age as your girlfriend, you probably only have 2-4 years of on the job experience. Think about your life when you are 35 and you have 10 years. At some point you realize that everything new and exciting is a remix of old ideas. (Disclaimer: Maybe, sometimes, in a great once in awhile, there is one new idea thrown into the mix.) When you reach that point, do you want to have a balanced life, or just be a burned out techie? The advice to for her to move out on her own is great. Everyone should be forced to live by herself and pay her own bills for at least a year. It makes a person appreciate where groceries come from. Maybe she is not “the one”, maybe she is. Trust yourself more than a bunch of people with nothing better to do than post to a message board. |
| Fri 20 Dec | Bella | “People never ask for advice unless they already know what they are going to do.” Brilliant !!! Thats one of the best quotes I've heard in a long time ! |
| Fri 20 Dec | Prakash S | “People never ask for advice unless they already know what they are going to do.” WOW, so true. I was thinking about the last time I was asking advice. |
| Fri 20 Dec | anon | wannabe, the Girlfriend 1.0 bit is from an old email forward I got a few years ago. I thought it might lighten up the discussion a bit. |
| Sat 21 Dec | echidna | Wayne, I would say there's probably potential there, but your girlfriend needs to grow a bit before you contemplate anything further. The advice about having her move into her own apartment and learn about bills and living sounds very wise. |
| Sat 21 Dec | Stephen Jones | People who get married after time shacking up nearly always get divorced in a couple of years. Reason. One year dating = 1 Five years' shacking up = 6 One year's marrige = 7 Seven year itch sets in Divorce |
| Sat 21 Dec | Bella | So couples who get married first, then live together just get divorced in their 5th year of marriage? What's your point? |
| Sat 21 Dec | lambada | Regular sex is what you would miss baby! |
| Sat 21 Dec | Brad Siemens | For all you non-canucks: 'Sex is like euchre. If you've got a good hand, you might as well go alone!' My Grandmother told me this. LMAO |
| Sat 21 Dec | lambada | So your grandma went solo all the time. Pretty kinky eh? :) |
| Sun 22 Dec | Stephen Jones | There isn't a point dear Bella, though I am sure you would have missed it if there was. It is a strange phenonemum, in the UK at least, that couples who have lived together harmoniously for years get married, and then a year or two later or suddenly divorced. I was merely explaining why, and that it was not the marriage ceremony that caused the collapse of the relationship. |
| Sun 22 Dec | Bella | Stephen, Would you like to point out what other points I have so obviously missed in the past? Thank you for your specific concrete details |
| C Program Optimization | Thu 19 Dec | Need help |
| HI. I am working on a product that has some performance issues. The whole thing is in C and Windows SDK. Apart from algorithms, Id like to get resources on optimizing C programs. Like, Ive heard about this struct padding - that the struct size changes depending on how we declare the members. Loop unrolling, etc. Any books? |
| Thu 19 Dec | Brian | Buy and learn to use a profiler. Numega and Rational both make good ones. Books won't do you any good until you identify the slow parts, and once you see what is taking so long, it will likely be obvious how to speed it up. It depends on your problem domain, but the answer is rarely 'unroll the loop'. YMMV. |
| Thu 19 Dec | runtime | Intel VTune is an excellent graphical profiler for Windows. I would only worry about C optimizations for hotspots after algorithmic optimization. http://www.intel.com/software/products/vtune/ |
| Thu 19 Dec | runtime | VTune also has a 'code coach' feature that will offer specific suggestions for your code. And VTune knows MUCH more about useful Intel processor quirks than any book! :-) |
| Fri 20 Dec | Simon Lucy | Windows applications are driven by the message queue and the responsiveness of the application in returning from the original message call. If you have significant code running off some WM_ message then the application will seem to be slow to the user and may block other applications. Profilers will spot that to a degree but you'll find that the main message handler will appear to swamp eveything else and so introduce noise into the data. So my first approach would be to walk the code from the message handler and determine how deep or complex that code was. If I identify a piece that hogs the queue then I'd either break it up or spawn threads to continue the processing. |
| Fri 20 Dec | Bruce Perry | The Programming Pearls books by Jon Bentley have good general information about optimization. I don't think they deal specifically with C, but the lessons from these books could be applied anywhere. |
| Fri 20 Dec | BDKR | I don't mean to take too much from the original topic. I noticed that in speaking of VTune, a couple of people referred to Intel optimizations. When we say 'Intel', do we mean x86 or Intel processors in particular? I'd hate to think that VTune would be of no use if I'm running and AMD proc. Cheers, BDKR |
| Fri 20 Dec | Need help | Hi Simon, You are right. I used the VC++ profiler and it shows the Callback function as taking the most time. But I want to know about the other functions that actually do the work. All of them are spanwed off as separate threads. Any way I could work around? |
| Sat 21 Dec | Simon Lucy | 'Hi Simon, You are right.' Let me just put that on a loop so I can hear it over and over.... Generally the most expensive message to process is WM_PAINT because it happens so often and you tend to either invalidate a small rectangle and paint the whole window or want to catch up on other stuff at the same time. As a heuristic I'd walk down the tree of function calls from the message handler and assign a weight to each function based on its number of lines, number of conditionals and number of external function calls. I might use an actual number for the weight and write it down, more likely I'd hold it in my head as a hmm factor. If a route through the tree generated a very long hmmmm in my head I'd work on splicing it off as a separate thread with a return back to the message handler. All this work might leave some of the message handler code in a mess. If it does, your message handler was broken anyway. The only code that should be in a message handler is a switch to whatever routines handle the individual messages. Only do what you absolutely have to do at any point and return as soon as that's done, or you've scheduled to do it at some other point in time. If you have a complicated window display don't repaint the whole window on every WM_PAINT, match the rectangle to the objects you hold and just repaint/render those. If you have code which doesn't interact with the display or the user at all, spawn a thread for it and return as soon as you have. If you really have a complicated computational engine going create another controlling thread for all that code and have your message handler send it the messages. Then your application will seem like lightning but will probably occupy exactly the same number of cpu cycles. A complicated windows app (and this applies to any window messaging system not just MS), is really a multi-tier system identifying the interfaces between the tiers will help optimise each tier. 'Hi Simon, You are right.' Oooo that's so nice, press that button again. |
| Sat 21 Dec | Simon Lucy | Oh I had another thought, one of the results of spinning lots of threads is that at some point they have to be synchronised, so you might find that if you have some variable, process or event blocked on synchronisation that actually merging a thread could make the code more responsive. If that's the case then its going to take a fair amount of just sitting and thinking to rework how the threads interoperate. It might be useful to block out the processing in swim lanes on several sheets of paper and see if there's any commonality or cycling going on. |
| Sun 22 Dec | mb | spawn threads? unfortunately, spawning threads is often a bad way to go due to the overhead. sometimes it is very useful, but again it's the profiler (or some other sort of analysis, which is harder but might be valid over a larger dataset) which will suggest where you need to spawn threads. what's taking time in your app? do you know or can you guess? CPU processing? disk reading? network operations? painting? some of these things work well in threads, some work well using asynchrounous APIs, maybe you're just blocking waiting for a network response. printf profiling can be productive. put some sort of timer on each windows message and see how long each one takes. (if each goes to a function, the profiler may be able to do this for you.) |
| Funny/Interesting threads in this forum | Thu 19 Dec | Bob |
| I spend about an hour everyday on this forum. I am amazed by the variety of inputs. Some are real fun to read and some very interesting. Similarities between Prostitution and Programming : was real fun to read and most of the comments made me laugh so much. http://discuss.fogcreek.com/joelonsoftware/default.asp?cmd=show&ixPost=23081&ixReplies=29 Interesting Stuff: Raiders from Within http://discuss.fogcreek.com/joelonsoftware/default.asp?cmd=show&ixPost=22796&ixReplies=17 I havent read all the threads so I would have missed out lots of stuff. Please do post your favorites. |
| Thu 19 Dec | pb | An hour per day???? |
| Thu 19 Dec | wiser | you have way too much time on your hands buddy! |
| Thu 19 Dec | Bob | Yep! I come into office @7.00am and get most of work done by 10.00am. I usually spend 10-15mins chunks as breaks (4-6) and leave home @8.00pm! Not much of a social life though. |
| Thu 19 Dec | GiorgioG | Bob(Consultant): What is it ya do here? Bob: Well look, I already told you, I deal with the goddamn customers so the engineers don't have to. I have people skills! I am good at dealing with people! Can't you understand that? What the hell is wrong with you people? |
| Thu 19 Dec | Bob | Been watching Office Space? |
| Thu 19 Dec | wiser | Bob, my man, you need to get a life. JOS used to be fun not anymore! I am sure 99.99% of people in this forum would agree. |
| Thu 19 Dec | Giampiero | Wiser, I will have to agree with you. The level of trolling and flaming were minimal in the past, but recently I got torn a new one on these forums when I was trying to have a discussion about a topic that I felt strongly about. I am hesitant about posting anything because I think that even my helpful advice will be flamed and shot-down. |
| Thu 19 Dec | Reginald Braithwaite-Lee | G: My perspective is that whether I agree with your posts or not, whether I like them or not, there is value to their existance. If you are silenced by your critics, we've lost something important. As for 99.9% of this forum being useless, I'm gratified if I find one thing on the forum that teaches me something. every time I surf over here. You have to move a lot of coal to find a diamond! As Richard Feynman's wife put it, 'what do you care what other people think?' http://www.braithwaite-lee.com/ |
| Thu 19 Dec | Bob | Oh! Sorry guys! Didn't mean to pick on any thread or message. True! I need to have a life. |
| Thu 19 Dec | J. D. Trollinger | 'As Richard Feynman's wife put it, 'what do you care what other people think?' ' Heh. Big deal. Give me a Nobel Prize, and I'll be a rugged individualist, too. |
| Sun 22 Dec | suhu | This is a real cool forum. And since the threads vary from the brilliant to the down right humourous, it is a must visit for me. Helps me get back to work after a long period of programming etc. |
| Advice required: Documentation Writing / Sofware T | Thu 19 Dec | Javier Jarava |
| Hi all! I just wanted to know if any of the wise minds around this forum could point me torwards resources for a new job Im getting into. Ive just been offered a very interesting job in a small company. Part of my duties will be to create / maintain this companys products docs, whitepapers, etc. so Id like to know of any resources / advice on writing documentation. Im not so much interested on the how tos, on the nuts and bolts of documentation software use (I dont know for sure how they do it actually on the company), but more on something like style guides and dos and donts of the _writing_ itself. Specially since English is not my mother tongue (quite obvious one, that!) and Ill have to document both in English and Spanish. On second thoughts, Id also like any advice on a good system for generating docs. I have used (briefly) LaTeX, and DocBook, and the classical HTML and play with it... but is there any killer app, any must have for this? And now for the second part of the query :) Another thing Ill probably have to do sooner or later (probably sooner than later) is to get myself involved in the testing of the aforementioned products (testing and documentation are part of QA in this company). Any advice / resources / tips on the matter? I know Im asking for quite a bit, but I have grown used to the quality of the advice here, so I thought Id just try to make good use of it ;) Thanks a lot |
| Thu 19 Dec | xyzzy | I recommend that any documentation that you generate be placed into a source code control archive, just as software is. This allows you to track revisions or to retrieve older copies of the document. Visual Source Safe or StarTeam are the two that I've used the most, and find them quite easy to use. There have been many discussions on this forum on source code control products. As for which tool to use in the documentation, Microsoft Word is the most popular. |
| Thu 19 Dec | Benji Smith | My last job was as a technical writer producing software documentation for a very small software company. I have a few words of warning for you: You need to be a very strong advocate of functional specifications. At the company where I worked, there was no spec, and the software was only halfway complete when I had to start writing documentation. So the only place where I could get answers to my questions was directly from the developers. Developers don't like to be bothered. I can understand that. When I'm writing code, I don't like to be bothered either. But I had no other place to turn to for information, so I was contantly bugging them for information. Also, if there is no spec in place, the software will progress for a while and you will write documentation for it as it goes. Then management will take a look at the software and decide that they don't like some aspect of the interface (or something). Then the developers will have to rework the code, and you'll have to re-do a bunch of documentation. In the project that I was working on, this happened over and over again. All told, I probably ended up rewriting the entire documentation two or three times. It was very frustration. So, you need to be an advocate for specifications. Volunteer to write them yourself, if you have to. But make sure that they get put into place. You can't write documentation for software that hasn't been designed yet. If there is no spec in place, then the design is just sitting inside of someone's head, and you'll have to badger them incessantly to get that design out into the real world. If the application hasn't been properly designed, then your documentation will be a waste anyway. Incidentally, it is rarely an option to write documentation after the code is complete. Generally, most small software companies (and large ones for that matter) can't sit around for a month or two after the software is code-complete waiting for documentation. |
| Thu 19 Dec | Brent P. Newhall | Will you be primarily updating documents and whitepapers? If so, I'd recommend going with something ubiquitous and straightforward, like Microsoft Word. Adobe Acrobat's PDF format might be worth looking into, too. As to 'how to''s: I've found that good technical writing is primarily a matter of good writing. If you can write well in your target language, you'll have solved 95% of your problems. You seem to have an excellent grasp of the English language, but it can't hurt to go to a bookstore or Amazon.com and look for a comprehensive guide to English grammar. I'm a writer for a living, and I often learn new things about my language. There are quite a few 'style guides' for technical writing out there (such as http://www.rbs0.com/tw.htm ). They're good for general advice, like the use of pronouns, but I find that they tend to provide a lot of advice about extremely specific issues. So, in general, I recommend searching the web for a few technical writing style guides, and read them, but don't take them as gospel truth. Read the documentation that already exists at your employer, and use that as a guide. Here is Google Directory's entry for technical writing: http://directory.google.com/Top/Arts/Writers_Resources/Non-Fiction/Technical_Writing/ I'm afraid I can't help you with the testing, as I have no advice there. A Google search for 'software testing' would surely be a good place to start. Have fun! Technical writing can be a blast. |
| Thu 19 Dec | Herbert Sitz | Don't know exactly what your thinking of, but one software tool to check out possibly in place of DocBook would be Help&Manual, at http://www.ec-software.com/ . Also, of course, Robohelp, which I haven't used. But Help&Manual is generally better liked from what I can tell. |
| Thu 19 Dec | Giampiero | A tool that I have used over and over is RoboHelp. It isn't perfect by any means, but it can get the job done. As far as advice on how to write documentation. I have only ever written end-user documentation and what I have found is try to figure out how the user is going to use the docs. A lot of people don't ever go through the Table of Contents in a normal WinHelp or HTMLHelp scenario, they will look to the Search and Index functions for quick answers. So try to make those features really easy to navigate. Further, try to put as much task-oriented documentation as possible. The user will be wanting to accomplish something, it is good for you to know all (I know it's hard) the ways the user will be trying to use the app. Then you can stear them in the write direction with proper indexing. |
| Thu 19 Dec | Woodrow Stool | I would second the comments and general recommendation for Help & Manual. |
| Thu 19 Dec | wiser | 'Have fun! Technical writing can be a blast. ' What?! are you kidding me? |
| Fri 20 Dec | Brent P. Newhall | Um, no, I'm not kidding you. Apologies in advance if this comes off like a rant, but I'm surprised when people act shocked that other people enjoy some activity that the original person dislikes. I know that a lot of people dislike writing technical documentation, but I don't see why anyone should act shocked that there's some soul in the world who does like writing it. |
| Sun 22 Dec | Javier Jarava | Hi!! Thanks a lot for the useful tips and pointers ;) They are very interesting, but sadly some of them (those regarding code docs, and functional specs) not quite what I was looking for - it's my fault, I fear, for I should've made a little more clear what I needed / was looking for :) I now have a clearer understanding of the possiton I'm being asked to fill, and the documents I'll have to get ready are not Code Documents (code documenting is done by the developers, or at least that is what is hoped), but more on the line of Product Manuals, Training Material, Whitepapers, and the like. I don't think I'll be handling the actual code of the product, but more like 'the finished thing' (at least, not at the beginnig. I'm supposed to branch into testing later on, but the pressing concern right now is product documentation). So the tools I'll be using / needing are more the kind of 'help generating' tools.... Moreover, I've been told that, as there is not a proper Document Management System in place, I'll have to work with the CTO to set one up (at the moment, the little docs there are come from Word + Acobat). So, any tips / software to look into / 'ready to run' packaged Documentation Management SW? Being able to have multiple output formast from a single source is a bonus (after all, if I'm the one doing the writing, I'd like to be able to do as little work as possible). Or, should I go the 'raw' way, and stick to LaTeX / DocBook, makefiles and that's that? The company is primarly a Windows shop; very little presence of other OSs, so the apps should be able to run on Windows... So, for example, how does FogCreek manage to produce their product docs? (assuming it's not a 'drop dead secret', but something I can be told?) Thanks a lot for your help and undertsanding. |
| Sun 22 Dec | Herbert Sitz | Sorry, I guess I'm still not sure why Help&Manual, Robohelp (or several others like them) aren't what you're looking for. They aren't what programmers use as part of the design process. They're tools to generate help and manuals for a finished product (thus the name, 'Help & Manual'). For example, Help & Manual gives you a single source for managing your document that can be output as any of the following: -PDF file -.html files usable by a browser -Windows 'HTMLHelp' file -Classic WinHelp file -electronic book format -export to Word in .rtf format -print to paper manual with multiple options I'm not sure what Robohelp's exact output options are, but I'd guess they're much the same. These tools are essentially the Windows counterpart tools to DocBook. They probably aren't as flexible as DocBook, but they're much easier to use. Their whole purpose in life for these programs is to enable you to push your single source of help documentation out into different formats. They are not programmer tools. They're for producing help and manual documentation for the users of a program. As far as I can tell, they're just what you need for everything you mention, except possibly for the whitepapers. But whitepapers aren't normally an integral part of help system or a manual, so you can just use your tool of choice to write those (Framemaker, Word, Lyx w/Latex on Linux, etc.). |
| changing skill sets | Wed 18 Dec | sroy |
| I have around 2 years experience in Software development,but most of my experience is in Desktop apps and scientific computing. When I graduated with a BCS,I got a job working in VC++,creating Scientific applications,so a lot of Maths(Vectors,3d geometry,etc) was involved, as well as a lot of C++ coding.I worked with proprietary APIs, owned by the company.Now that I am layed off after 15 months,I have spent the last 4 months looking for a job,having moved to a big city(Toronto).My problem is that most companies are asking for enterprise app development experience,I dont have much of that.I am proficient in C++ and Java,Is their any way to increase skill sets for enterprise apps? I can hardly find any jobs(scientific computation),where my previous experiences are in. |
| Wed 18 Dec | rcox | Wow...I feel your pain. Same problem here, different skill set tho. I'm getting the impression based on my searches over the last 4 months that unless you were laid off with an exact skill set match that somebody is looking for, it's a bad thing. Most of the job postings I've seen lately are so over-defined to so as to preclude anybody except maybe someone who already works there. With VC++ and Java tho, you stand a much better chance than many I would think. I'm stuck with kernel development experience and my age and experience seems to have put me beyond my shelf life as a programmer. Best of luck to you. |
| Wed 18 Dec | Alberto | I just spent a couple of months looking for a job and began to despair if ever I would get one, it's natural to feel this way after a while. My advice is don't worry (I know this doesn't help pay the bills), with good skills you will get a job eventually, it just takes a bit longer these days. The main problem is the HR recruitment bork who is looking for exact buzzword matches on the resume, and who has no vision as to what anybodies real ability may be. When I realised this I buzzworded my resume so that all the stuff was on the front page right under the nose of the bork. I put my actual achievements back further in the resume where they probably never got read. With knowledge and good skills all you need is to get in front of the decision makers and things will start to happen. I happen to think that the subject matter is a minor factor and that its the tech skills that are important. |
| Thu 19 Dec | tapiwa | sroy, 1. buy a book on advanced finance... something like http://www.amazon.co.uk/exec/obidos/ASIN/0521497892/ref=br_lf_b_h__6/026-0297735-7090035 2. brush up on derivatives 3. work for an investment bank. They are always looking for number crunchers who understand finance. If you can do advanced modelling on the computer, you are in biz |
| Thu 19 Dec | tapiwa | sroy check out this website... http://www.wilmott.com regards |
| Thu 19 Dec | richard | I have been in the same position myself too often over the last 2 years (4th job & doing OK for a change). One thing I was struck by, was how much presentation brush-up on your CV you have to do. I mean, you have to get it buzzword-compliant, stress achievements/results and get the goods out in front. Don't put any faith in recruiters, they are possibly even worse than what they were like during the boom (hit rock bottom and then dug through rock). Some strange advice: keep coding. You are out long enough for your confidence in your abilities to wane. i started revising old college notes, books & internet stuff this summer after my most recent layoff. I knew it would stand me in good favour to have it fresh, I was surprised by *how well*. I am not saying you should go to the light side and join the open-source community, but you should practice your skills and keep them fresh. For a start, you completely ace screening interviews (phone ones are particularly stressful). Secondly, having correct definitions roll off your tongue (in your own words) is good and lastly you can use revision time to expand your skillset. People want j2ee? Theres some freebie EJB containers out there and lots of resources. Grab them and write software for them. Get knowledge of deploying beans, descriptors, thrreading, performance design first hand and talk about it in interviews. You usually need something to do to kill time to keep yourself sane. Physical activity is really important. keep up any sports you do or join a gym - weights is better than fitness training IMO. Don't let yourself brood. A final bit of advice: any job you get may not be great (my last one was the worst). I have no advice for how to cope, but accept the offer and cash the cheques. Bide your time and build up your finances. Circumstances may improve over time and permit you to get better work on your own terms. |
| Thu 19 Dec | Bella | Tapiwa, Get a clue. Investment Banks have been laying off for about 2 years. |
| Thu 19 Dec | Olestra | Bella, get a clue. There isn't a sector that hasn't been laying off for the past two years. If he already has a math and scientific computation background, becoming a quant is a better idea than becoming 'the IT guy.' |
| Fri 20 Dec | tapiwa | Bella, get a clue. IBs have been laying off, but only in certain fields. Talking about banking is like talking about technology. Investment Banking is hurting. Technology is hurting. Talent is **still** being hired. Bella is still clueless. |
| Fri 20 Dec | Bella | Have you opened a newspaper in the last 2 years? Investment banks are probably the most endangered sector in existance. Targeting your skills for that sector is nothing short of idiotic and/or oblivious to current events. Wall St. is still overstaffed by 300%, at the least. |
| Sat 21 Dec | tapiwa | Bella, in the past, you have posted wierd comments. One liners. Somewhere in them though, there seemed to be some reason. Your posts here though, show a naiivety that really troubles me. I really don't want to turn this into a mudslinging contest, but have you spoken to anyone in investment banking lately? Your attitude is the same attitude that everyone and their mother wanting to work in IT 'because there is money in IT'. While they were at it, everyone was buying into dotCOM IPOs. In herds they went, blindly. And in herds they suffered. Same thing happened in Investment Banking. Now the party is over. You read about doom and gloom, and the demise of the Investment Banker in the papers. True, there is a lot of chaff. There is a lot of 'excess capacity'. The sector is not dead though... in the same way that the dotCON bust did not spell the end of the tech sector. What you will find is that the swift will survive. Maybe not in the form we know it today. You might have purely analytical houses, purely trading houses ... who knows? Already we have specialist boutiques. At the moment, more than ever, proper number crunchers are in demand. People will sufficient math, tech, and finance skills to develop software or modelling techniques that could give a banks traders or analysts that much of and edge over the competition will get rewarded well. sroy sounds smart enough to learn what it takes to fit the bill. Reuters can't shift their screens. Bloomberg is thriving. You see, if you offer the product that the market requires, at a price they are willing to pay, you will thrive. |
| Sat 21 Dec | Bella | Do you even work in America? You show such a lack of ANY basic knowledge beyond what is printed in marketing brochures of local MBA programs. You are calling ME naive? Naive is giving advice like this: 1. buy a book on advanced finance... 2. brush up on derivatives 3. work for an investment bank. tapiwa Thursday, December 19, 2002 > have you spoken to anyone in investment banking lately? I have consulted for investment banks for years. I have friends and contacts at almost every major bank. > Reuters can't shift their screens. I don't even know what you're saying here. But, Reuters has been laying off consistently for over a year. I have friends there as well. > There is a lot of 'excess capacity'. The sector is not dead though... There are people with 5, 10, and 20 years of banking experience who are laid off. You think some newbie who is good at calculus is going to be ANY competition to them? I reiterate, telling someone to set their sites on Wall St. is simply foolhardy. > At the moment, more than ever, proper number crunchers are in demand. Can you back up this claim with hard evidence? > People will sufficient math, tech, and finance skills to develop software or modelling techniques that could give a banks traders or analysts that much of and edge over the competition will get rewarded well Did you get this rhetoric from some career counselling website? You clearly have NEVER set foot inside an investment bank. |
| Sun 22 Dec | old consultant | Whilst it is really cool (?) to dicksize about who knows the most about how fucked the investment banking employment situation is, it doesn't answer this guy's question. What I've learned from this forum, is that if you are posting a question about anything important, like 'how to get a job,' you are probably fucked. It also seems like if you are dispensing advice on this forum, you are also really fucked (I know I am.) My advice is to not get involved with 'enterprise computing' or 'investment banking.' Both are fields where unless you get lucky and get rich, you end up with nothing but a lot of wasted life. Just my 2 cents. |
| Sun 22 Dec | bdw | I work for a small trading firm and we are always looking for smart people. As far as changing skill sets, if you know how to program in C/C++ and java then learning the buzzword technologies shouldn't be a problem. Besides most 'enterprise' programmers suck. |
| Sun 22 Dec | Bella | bdw, I know several 'quants' and tekkies with investment experience that are looking for work. What positions are you currently trying to fill? |
| unprofessional programmers | Wed 18 Dec | H1B |
| This is a weird question, but do any people lurking on this forum have other non-programming jobs, and just do programming as something fun, on the side? If so, what do you do? |
| Wed 18 Dec | ricky | what if we have another job in addition to programming and get paid for both? are you intereted in us or only the ones who are not being paid for programming at all? |
| Wed 18 Dec | H1B | Yeah, that too. |
| Wed 18 Dec | H1B | Er, I meant, yeah: anyone who is serious about programming but doesn't consider 'software' to be their main occupation. |
| Wed 18 Dec | Stephen Jones | Do mean 'unprofessional programmers' or 'non-professional programmers' ? There are a lot of unprofessional professional programmers, and a lot of professional amateur programmers. And what about the people who don't actually do any programming at all? |
| Wed 18 Dec | H1B | haha. Sorry about the bad title! I wanted to know about people who take programming seriously, but aren't 'software professionals.' Like, a hockey coach who wrote a palm pilot app in his spare time, etc. |
| Wed 18 Dec | Ged Byrne | Non-professional would have been more appropriate, though I get your jist. I was a hobbyist programmer from about 10 years old until I was 27. I always wanted to program for a living, but found it an incredibly difficult career to get into without qualifications. It wasn't until certification came along that I was able to get my foot in. The transition from hobbyist to professional is quite a shock, and I'm still not there. I have to admit that doing the job has spoilt my enjoyment, although I do get more satisfaction (if that makes any sense.) |
| Wed 18 Dec | tapiwa | degree in Finance and Strategy -> mgmt consultancy -> family business -> financial analyst. 'playing' with computers since I was about 10. Am 26 now. |
| Wed 18 Dec | Andy | I'm a biologist by profession. My particular field of study involves some computer modelling. |
| Wed 18 Dec | Brent P. Newhall | I'm a technical writer. I don't program on the job, but I keep my programming skills up-to-date with side projects and use my coding knowledge on the job to decipher the application. In my case, I need to be able to dive into the code to be able to describe it accurately. |
| Wed 18 Dec | Nathan | i'm used to be a swim coach that took up computer programming to pay the bills. now i'm a former swim coach stuck in an office wishing i could go back to doing what i love. |
| Sun 22 Dec | Reginald Braithwaite-Lee | 'If I didn't have my part-time performance art income to help pay the bills, I could never afford to support my programming lifestyle.' --Jeff Bauer, 21 Apr 2000. -- http://www.braithwaite-lee.com |
| Overseas Outsourcing... | Tue 17 Dec | GiorgioG |
| Am I the only one scared shitless by the mounting wave of overseas exporting of IT services? http://zdnet.com.com/2100-1106-976828.html My career is only a year and a half young and Im wondering what kind of future Ill have in the IT field in lets say 10 years. Im starting to get the uneasy feeling not unlike that of an american factory worker as jobs are shipped to Mexico & Oversears. Opinions? |
| Tue 17 Dec | anon | Quit that, you'll just trigger another flamewar. :P This subject always brings a wave of fear, and it just goes nowhere. Do you have anything interesting and new to say about this subject? |
| Tue 17 Dec | Bill Carlson | See previous threads on programming vs. software development. The latter is much harder to outsource overseas. Be realistic. How much software can be created by saying, 'here's the spec, which has been thought out completely in every conceivable aspect. here's $100,000. I expect to download a binary in 6 months, after which we'll never speak again.' Obviously, this is a gross generalization and isn't meant to be taken literally, but it illustrates the illusion of outsourcing. Most jobs are boring, enterprise app type stuff that require domain knowledge. I could see, perhaps, hiring a full-time foreign employee and making her work night-sihft. Basically someone who telecommutes from India. Outsourcing unspeced projects to companies you know little about? Fear not the reaper. I've heard you can get a competant Indian engineer for $25K/yr total cost. An competant American engineer costs about $100K/yr total. So, it's about 4x. Sounds like a lot, but seeing as how you're giving up frictionless communication, domain knowledge, time-zone differences, team integrity (at least locally, you might have a hunch that your star programmer is leaving), accountability to product success, etc. If it was 20x, maybe, but 4x is barely enough to justify the bother in many instances. And besides, how many 15 year 'in the trenches' vets (the kind that really understand how to drive software development) are you going to find in a country where the tech renaissance is fairly new? I predict many will fall for the outsourcing temptress, but most will be unsatisfied. Hiring American developers is more palitable now that our egos have taken a well-deserved beating. |
| Tue 17 Dec | Sarain H. | Yes anon, Don't lets try to do anything about this. Let's all just remain quiet and docile and maybe they won't hurt us. Or if they are going to execute any of us we can hope that they will go for the noisy troublemakers and the weak and unskilled first. Just be very very quiet... |
| Tue 17 Dec | Tj | Ok, I'll bite. Overseas outsourcing will be a partial failure. Resourceful people as usual will make it work ok, but occasionally they'll be prodded to do it against their judgement and opinion will swing to and fro as some Bob on Software blames it as the culprit behind some failures. On the upside, people will be able to telecommute more. We'll be more sophisticated in dealing with telecommuting, and find cost savings in teams of students or anyone else who has found a way to live cheaply. The fears are fairly overblown since, if the sky had actually been falling ever since some American got angry about shpping jobs abroad, we'd have 115% unemployment right now. |
| Wed 18 Dec | H1B | Anon is right, there isn't really anything new to say about this. However, that won't stop me from posting. If you already feel you are going to be a victim of outsourcing at age 22 or whatever, you most likely WILL be outsourced at some point. Most work in software is akin to being day labor at a construction site, and any work like that ultimately ends up going to the lowest bidder. My advice is to get out while you are still young and able to do something worthwhile with your life. ;-) |
| Wed 18 Dec | Daniel Shchyokin | Some guesses about the near future 1- jobs leaving as programmers, are usually partially replaced by mgmt, qa, techwriters 2- As the need for u.s. programmers declines, entries into the field will decline. There will be an equiliibrium eventually (much like with mechanical engineers) 3- Outsourcing labour will eventually kill a lot of large software companies, because it will give many small,lean,efficient teams who can build v1, access to the cheap labor, support, admins they need to make their company grow after v1 ships! 4- In the long run only large corporations will outsource, as it is just not woth it for medium Lets say (1000000-2000000 it shops) to outsource. |
| Wed 18 Dec | Must be a manager | This will be like dot com all over again. More and more MBA-trained managers will jump on the latest trend, seeking to save money by offshore outsourcing. However offshore outsourcing doesn't value-add to development, and by about 2004 this will be obvious even to business managers, so there will be correction the other way. Companies that outsource too much will die. By the way, I disagree with Daniel that outsourcing will kill large software companies. Most large development companies are run by non-software people. Those companies will simply use offshore labour. They're doing it already. It is actually the lean, efficient, small teams that will die from offshore outsourcing. The challenge for good software people is to hold out for their true worth when the correction sets in. |
| Wed 18 Dec | Alex | Outsourcing overseas doesn't make sense for small to medium businesses. The overhead of managing staff that are quite a few timezones away will not work on small teams. If you are a 50-strong developement team, having 20 programmers in India will be hard to manage. If you're Oracle, your thousands of Indian employees are already well integrated. You can split the work more intelligently (like have all of a specific module done in India while say, the core is in Redwood City.) I'll be the first to admit that I've never done work related to things like R/3 and other Peoplesoft and what not. Maybe those things are much easier to spec and have done overseas? Maybe more scary would be having the developers be in Canada (for the U.S. at least) where the language barrier isn't (eh?) and the timezone difference doesn't exist. But even then, there's a minimum size where it might make sense. You need to have efficient means of managing your various sites. |
| Wed 18 Dec | one programmer's opinion | I had to deal with outsourcing in 1989. At the time, my employer (a small consulting firm) was doing some project work for a well-known corporation based in California. This un-named corporation had a second team working on this project in China. Chinese programmers tried to call me each and every day for a week straight and each time they did I would hang up on them because I didn't speak Chinese. Eventually, they gave up trying to reach me. :) Nowadays, there are plenty of Chinese [fill in whatever nationality you want here] programmers who can speak and write in English. Thanks to the Internet and high-speed communication -- outsourcing will continue to grow by leaps and bounds in the next few years. Why? Because this is what the executive managers at large companies and multi-national firms want. Sticking just to computer programming work (as opposed to call center work, etc.) the areas where outsourcing will probably see the most growth are: * Commercial software development. Sun and Microsoft for example are currently recruiting and hiring in places, such as, India, Mexico, the Phillipines, etc. * Application outsourcing (maintenance). Many large consulting firms (EDS, HP, Keane, etc.) are moving more and more jobs and work overseas. Btw, some of this work is being done at near shore (i.e. Canada) locations as well. * Business development. Programmers in far away countries can be doing work while their counterparts in the U.S. are sleeping. Also, progress can be tracked via the World Wide Web. Corporate welfare programs (i.e. the H-1B visa program) along with the outsourcing of work will mean that even if the IT industry suddenly turned around next year many programmers living in the industrialized countries (U.S., Great Britain, Germany, etc.) throughout the world will not be allowed to participate. |
| Wed 18 Dec | Just me (Sir to you) | Signs you are about to be replaced by an overseas programmer: 1. You hardly ever met a client face to face 2. You spent less than 10% of your time in face to face meetings with your lead/manager 3. Your cost to the company is more than 100% higher than that of a potential overseas collegue More signs anyone? |
| Wed 18 Dec | Simon Lucy | Hmmm more signs could be... You write to specific requirements using a well defined set of tools, to a strict style and using an authorised cook book. Email is the principal means of disseminating information in your group. |
| Wed 18 Dec | ZETM99 | As a displaced IT worker, all I can say is this. If your still employed, you probably are not worried about this topic and come up with several rationale reasons why it's not a big deal. When you become unemployed and you sit in front of your terminal like an expectant father waiting for recruiters and businesses to call after submitting hundreds of resume. There is no sector of IT development from SW developer to Web Developer to your basic Access office hound that can't be done overseas for a far cheaper rate. If your young and still in school, consider a secondary major or minor in something not involved with technology. Please, do yourself a favor. |
| Wed 18 Dec | Brent P. Newhall | If the foreign developers are able to produce code of a similar quality as domestic developers, and are less expensive, I would support using foreign developers. The problem is, it's not that simple, as several people here have excellently explained. Here's my own experience: At my last job, we were developing a completely new enterprise application. We outsourced a fair amount of development to an Indian company (e.g., from India). We were well-funded, we chose chunks of the system that were as self-contained as possible, and we had no significant problems making ourselves understood. But any time they had a problem, they'd have to shoot us an e-mail with a twelve-hour time differential. We wouldn't get the e-mail until we got in to work the next morning, and after replying, they wouldn't receive it until they got into work. So all correspondence was delayed by one full day. Also, communication was quite simply difficult, in terms of telling them everything that they needed to know. We would fail to tell them about some little gotcha, and they undoubtedly failed to tell us about some little code smells that we would have recognized and could have saved them a lot of debugging time. Plus, when you don't work with someone, it's not *satisfying*. You're taking a significant amount of your development work -- your job -- and giving it to an e-mail address. Since there's very little personal connection with the other group, it's hard to feel enthused about their work, and easy to get frustrated with it. So, my prediction is that overseas outsourcing will become more widespread, but massively, and it won't be a magic bullet. It'll become a useful tool. |
| Wed 18 Dec | Brent P. Newhall | Oops. I meant 'more widespread, but NOT massively.' Sorry. |
| Wed 18 Dec | Stephen Jones | In another context Philip Greenspun talked about why he entered MIT. He said that in the seventies the real draw was having to play with cool tools. However by the end of the eighties that was no longer so, since the main tools involved in Computer Science were a pen, notepad and blackboard with intermittent access to a computer terminal. The reason I mention this is because the low technological expenditure necessary for the studying for computer programming, plus the use of English as a second language in India, the Philipines and Malayasia, is the main reason there are so many computer programmers, above all in the former. After all, think of the number of your colleagues who learned programming with no more than a few books and a not very expensive PC. On the other hand the USA, and now Western Europe also, have the latest and greatest hardware nearly everywhere. So, when I go to hire a sysadmin or two from India, I know the greatest problem we are going to have is that the guys won't have had too much experience with the latest hardware, or have spent years checking things out on the net as a matter of course, because even in cash terms both of those things in India are incredibly expensive compared to the US. I can hire two and a half sysadmins from India for the price of one from the US or UK, but the UK one will still work out cheaper. Of course after a year or two woth the hardware and software, the Indian is going to be as good as the Westerner would have been for most things. With programming the problem the Indian will have is that of putting himself in the place of the end user. The mother college I work at is designing an 'Intranet'. The guy in charge, who's pretty good was asking my opinion yesterday and was saying they had done a demo, and were now going to choose somebody from each department for training by Microsoft. I told him he was going about it the wrong way. What he should do was start off by asking what a sample user would want to do, and then build the functionality around that so that there is no need for training. Another Indian, again a perfectly reasonable guy, was talking to me a year and a half ago about the college database system they were building. I told him to keep sending it back to the users committee for testing, because they would find that they would have missed things out in the specification. 'Oh, No!' was the reply, we've got all the chairmen to sign the specification. So, if your job involves being on site, having experience with the latest hardware or software, or needing to design for the user, then you are going to be safe. If your job is a cog in the wheel of a large coding machine, then be a little worried. One thing that will definitely happen I think, is that whole operations may go over to India. If you are talking about tens of millions of dollars for a system for a bank, then it's not going to be housing all its developers in Manhattan. So there will be little difference in having its development in Bangalore instead of San Diego. Another thing to consider is that globalization will create one market for excellence. The example of translations is a good one. For some considerable time now the owners of translation agencies have been sending their translations over the net; often they neither know nor care in what country the translator is located. All they know is that he is good. And far from cutting the price this has actually allowed the top translators to charge more, since they are no longer competing just in the local market. So, all told, plenty of different factors are coming into play here. My advice. Don't think of it. Do your job if you enjoy it and learn the most you can about it. Then if true globalization occurs you will be one of the top players, and able to take advantage of it. |
| Wed 18 Dec | jgo | The Indian press is saying they expect to see 3.3M jobs off-shored from the USA to India by 2015. One wonders how many that actually works out to per year, but... |
| Wed 18 Dec | Bob | Overseas outsourcing to 3-rd party companies is not good in the long run. However, some US companies do have their own dev centers in other countries - like Microsoft in Israel, India; Oracle in India. These centers have full ownership of a particular set of modules and are responsible for them. However, with the 3-rd party companies its a contract and responsibility as such may not be there. One of my Indian friends was telling me that most of the good engineers hardly work for companies which do outsourced jobs. And a good percentage of the good engineers are already working in the US. So, outsourcing almost everything may not be a good idea in the long run. Outsourcing maintenace work seems to be a good idea since you need not spend so much on a legacy product/an existing application. |
| Wed 18 Dec | Sarain H. | I am a pretty skilled guy and I am not stupid -- I can see the writing on the wall as well as anyone else and want to get prepared. The facts are that salaries are going down, unemployment is increasing and jobs are going overseas. now I really like developing so I don't want to give it up but I can see that, given the cost of living here Washington state at least, that I need to get myself into a situation in which I am able to have a higher standard of living than I do now. I'm tired of being 'well paid so what are you complaining about' and yet having to rent and drive an old car. The car is OK i'm not pretentious but I'd like to be able to knock out a wall if I want to and put in built-in shelves and all that stuff that's part of the American dream. Anyway, some friends of mine did the 'escape from America routine' and emigrated to Australia a few years ago but they tell me that things are pretty much the same down there. I've got it in my head that if I could move to India or someplace like that where the ratio of wages to cost of living is better, I'd be better off and have better job security and also have fun being an expat. Shoot - maybe I'd even have a cook and a maid! And if be girlfriend doesn't want to move with me well hey I'll just find some gorgeous exotic native women and make all my friends back home insanely jealous. Plus, I'll have that seby american accent on top of my 'gangsta' look -- i'll get invited to all the best parties. So how does this work? Can it be done? Are there countries where things are better or are we fooling ourselves and we have it as good as it gets right here? Don't get me wrong - I think this is the best country on earth, but I'm adventurous and I like my career a lot but I just don't see much of a future for it here. I don't buy a lot of junk so I won't need a western sized salary to buy toys. Having a decent place to live, transportation, a bit of culture, good food, job stability and some time to enjoy myself would be really great and I'm willing to move if necessary to find it. |
| Wed 18 Dec | Stephen Jones | You'd get your maid and cook in India with no problem; servants are one of the few things that are cheap. Real estate in terms of square metres is also cheap. However I doubt if you would last more than a month or two. You would find the simple things just too complicated. You'd get annoyed when you can't do any work for a couple of days because the power goes off, and nobody can even tell you why. You'd get a cycle rickshaw to go somewhere and find the guy would spend hours taking you somewhere else because he wants to get commission from wherever he has decided to take you to. Then who would you be working for? If you are seconded from a US company then great; they would probably arrange things so that many of the problems I mention above don't impinge on you. However if you are thinking of working for an Indian company, ask yourself why so many (nearly all?) of the top Indian programmers are looking for jobs in the UK or the States. Some people manage fine. Woody Leonhardt, who runs the hugely successful Woody's Office watch, has been living in Thailand for the last couple of years, but he's working for nobody but himself, and as he worked in Aramco in Saudi many years ago he is used to living abroad. The German translator of Leonard Wolf and the Bloomsbury group was living in a hotel in Colombo in 1996, and seemed to be enjoying himself (though he wasn't there a couple of years later). Both these people however are not dependant on the local market for work, but rather are getting it from contacts developed over many years. There is a basic rule about salaries and cost of living. If the cost of living is cheap it's because salaries are so low that nobody can afford to pay more. Also remember that in third world countries consumer goods are expensive. A computer in India will cost you nearly double what it would cost in the States. And to go any distance you would have to fly on expensive lousy internal airlines - and that's in the unlikely event that there is a plane going where you want to go. And as for dating, outside of Bombay (and despite its veneer of modernity even there) forget it. Take a year off and tour India. You'll have time to get used to it, get the obligatory diarrohea out of your system, and as you won't be in a hurry you won't get ripped off. |
| Wed 18 Dec | Walter Rumsby | First up I'm in Australia and I'll confirm that the job market here is tough tough tough. We advertised for a tester and had a huge number of respondents. One of the reasons for things being tough here is - supposedly - a lot of US firms invested in the Australian market during the dot com years (good size test market, good focal point for Asia-Pacific operations, a lot of cultural similarities, favourable exchange rates) and when things started getting tough these same US firms pulled out of their investments and closed up shop here (whilst still retaining US operations). Also enrollment from Australian students in IT courses is now down sharply - although foreign students numbers studying IT courses in Australia remain steady. From my perspective, outsourcing critical custom applications can be a very bad idea - you have so little control over the outsourcer's quality of output, hiring decisions, etc. What's more the outsourcer is aiming to make a profit from you and has to incur additional overhead (admin staff, consulting you to ask you what you know/want, etc) meaning that the cost of an outsourcer developing an application can easily outweigh the cost of developing a product inhouse. Furthermore outsourcers probably don't know your corporate culture, business aims, etc and are probably less likely to be interested in those aims than your internal staff (therefore may take longer - time == money - to understand your requirements). On top of that, this kind of software development doesn't really benefit from economies of scale in the same way as traditional manufacturing processes. As a slightly related example, my mum works for a legal firm and they used to have 1 do-it-all IT guy who had all their systems running smoothly (including phone, etc). He left and the firm decided to 'outsource to save money'. The result - last month they paid over $100k in fees (i.e. more than the previous guy made in a year) to their outsourcer AND their systems are in a state of general disarray - less quality, significantly more cost. The decision to outsource is often based on the fact that it will save money, but often these savings are never realised, particularly because outsourcers are addicted to constant revenue streams - their aim is not to solve your business problems, it is to constantly generate money from you. My opinion is that a lot of it comes down to good hiring policies. If you hire smart internally you can get the job done inhouse for less money and probably produce better quality (nb. when I say inhouse I don't necessarily mean full-time hires, I'd suggest a team of full-timers and contractors). The obvious problem here is that there are some very well documented and discussed shortcomings with the whole hiring process in IT, but again mostly this comes down to penny smartness and pound foolishness - truely experienced developers are underappreciated, low cost labour is too popular. The biggest problem I see with this current market 'correction' is that there doesn't seem to be much evidence of a correction in several areas that still need to be addressed - there seems to be no critical evaluation (at least in the business community) of what went wrong, it's all 'software is bad', 'the web is a waste of time/money', 'move along', instead of 'we [all] made a mistake - this is a lot harder than we realised, but tremendous benefits can still be gained from well designed/thought out software'. I see that - the industrys' 'playing ostritch' - as the bigger threat to the American/Australian/UK/wherever programmer than Indian outsourcing. |
| Wed 18 Dec | | Below, is a post that was made at the OpenIT forum in the Political Issues forum Subject: Germany's court blocks immigration law sought by industry I didn't provide an article link. If interested, just use Google and the following search words to find an article to read -- immigration law germany Quote: ---------------------------------------------------------------------------- Germany's supreme court Wednesday blocked a landmark immigration law designed to bring in skilled workers wanted by industry.... ...The government says the law will help Germany's ailing economy by meeting a shortfall of specialists such as computer programmers, while speeding up processing of asylum applications and pressing newcomers to integrate.' ---------------------------------------------------------------------------- Translation: Government officials are trying to pass this bill because industry leaders gave them a lot of money. Germany's economy is ailing because over 4 million people are out of work. |
| Wed 18 Dec | Stephen Jones | 'Germany's economy is ailing because over 4 million people are out of work.' No, 4 million people are out of work because Germany's economy is ailing. And I thought programmers were logical! Schroeder's government can hardly be considered the favourite of German Industry (except possibly for the not inconsiderable chunk of it owned by the Unions). Most of German Industry is threatening to leave Germany altogether unless he changes his policies. The Surpeme Court threw out the bill on procedural grounds, but the opposition from the conservative parties is basically racist (they don't want Indians - and surprisngly enough most Indians actually don't want to go to Germany). It is doubtful if the vacancies in IT still exist. A fair number of Brits appear to be leaving Germany because the work is drying up. However in the mid-term a relaxation of controls is necessary. If you have twenty unemployed machinists you're not going to give them work by refusing a visa to somebody to run the company's IT structure. In fact you're simply making it more difficult for the company to expand and create jobs for the other people. National unemployment figures are too often simply crutches for demagogy. It doesn't matter how many people are unemployed if they are not with the right skills and in the right place. |
| Wed 18 Dec | Prakash S | Sarain, I am sure you have heard of Infosys. Here is a link to their website, which has information for people visiting India. http://www.infy.com/indiaonline/default.asp Personally, I would suggest that you visit any place you would like to stay for more than 2 years, before making your decsion. Like going to all the school's in your list before you make a decision on where to go! |
| Wed 18 Dec | Tj | Anonymous, might some of the economic problems have come from East Germany? Or the big flood that resulted in 7 billion Euros of damage? I'm aware of companies that have excess work here. One thing is IBM seemed to advise the German gov't that they should only offer greencards to workers who make over DM100k. Further, the bureaucracy is daunting to most; there are a lot of catch-22s. If you think the US should follow Germany's lead, would you also agree to the socialism? |
| Thu 19 Dec | T. Norman | Managers (and people in general, for that matter) tend to be bandwagon-oriented, so there probably will soon be a big boom in offshore outsourcing, just like there was a dotcom boom. Everybody was starting an Internet company, and established companies were doing all sorts of things on the web because they thought they would automagically save or make tons of money. Similarly, companies are increasingly jumping on the offshore bandwagon, thinking it will automagically save them tons of money. After a while, reality will set in and they'll realize they aren't really saving anything and are spending more money and/or taking more time in many cases. Then instead of indiscriminately sending everything overseas, they'll get a grasp on what makes sense to do offshore, and what makes sense to keep in-house, and scale it back to a sensible and sustainable level - just as they have now scaled back Internet operations to a sensible level. When that happens, the tables will turn and there will be a glut of offshore programmers who are crying for jobs! Also, by that time, so many US programmers would have already left the field and very few US students will be interested in studying Computer Science or related majors, that there will once again be a shortage of US programmers, which will drive up salaries, and will allow anybody who can spell Java (or whatever language is the flavor of the day) to get a programming job, and the boom-bust cycle starts again. That's the circle of life. |
| Fri 20 Dec | Just me (Sir to you) | 'and will allow anybody who can spell Java (or whatever language is the flavor of the day) to get a programming job' of course the rule that you will have to be under 30 will still apply ;-) |
| Fri 20 Dec | Slava | Well, it was very interesting to read your thoughts about our industry...I worked for one of the largest Russian outsourcing companies. There is my opinion: when it comes to the smart coding, high performance and etc, Indians are kids against Russian programmers, and let`s not discuss usual American developers skills:)...so a lot of companies start outsourcing because of skills level, not because of the price. The price situation is not as simple as the difference between rates in Russia and US - in fact, I can estimate 25-35% savings, not more, if we talk about $20-$25 per hour developers (and if we talk about developers below $20...you can expect low quality code and bigger time spent reports, which results in additional costs, not savings...) But! I think that it`s impossible to replace all domestic programmers, because my experience shows that if we talk about products, not just custom coding, the hourly rate isn`t a main factor. You`ll spend more money on marketing, sales, etc Also, commercial code quality can`t be always measured by it`s performance, sometimes you just need to follow the standards as strictly as possible (Russians don`t like standards at all:), and US and UK are good in commercial programming. Also, there will be always a large amount of work to be done onsite. |
| Fri 20 Dec | T. Norman | Yes, Slava, you and I are aware of the reality that outsourcing won't lead to cost savings in most cases. But management doesn't know or care, and they are the ones making the decisions. They just want to be able to send something out and claim that they saved $X, and they will twist the figures to show that they saved $X, even if the reality is that it cost MORE overall due to the communication overheads, or because the delivered system didn't satisfy the user's needs as a result of the communication gaps, or the system is costly to modify for future needs because it was slapped together sloppily and quickly by the lowest bidder. |
| Fri 20 Dec | Slava | One funny(?) story about outsourcing. We had a client that wanted us to create a lot of products, so we worked on them...and once upon a time the client decided that they need to have their own developers on-site. Ok, they hired these guys, and told us that we`ll have multi-national team on one of our projects. We had a StarTeam for version control, both sides had access to it, so US team and Russians worked on the same program. (Luckily i wasn`t working on this project:) From this moment guys from other projects had a lot of fun: every morning our russian part of the team looked into STeam to see the new code (and BUGS, lots of them!) made by their American teammates, and to shout out lots of #$^&^$^**%* 4^ W@T^$%^ words:) Then they had to fix the bugs, rewrite the code and so on-until next morning. No wonder that the project missed the deadline and failed. Well, that was yr2000, when everyone who knew how to type, was considered a web-programmer in US:) No offence meant:) |
| Fri 20 Dec | Slava | 2T.Norman: >'or the system is costly to modify for future needs because it was slapped together sloppily and quickly by the lowest bidder. ' Agree! Well, I`ll tell you more about this -about these lower bidders...What really impresses me in US and EU clients - that they truly believe that something which costs $100000 being built by major offshore companies, may cost $10000 if purchased from lowest bidder.... Do they really think that the guys who will work so cheap will not give the code away to everyone who will pay $$? Do they think that anyone took care about good application and database design for this price? If somebody will try to sell you a 2002 Mercedes for half-price, didn`t you decide that the car is stolen? So why do these guys think that it isn`t a stolen/bad code when it is offered for 1/10 of normal price? Well, may be they really take it just to yell about cost savings... |
| Fri 20 Dec | Slava | Have to go home... Just a resume from a Russian outsourcer:) - It`s impossible outsource all programming jobs. - Outsourcing doesn`t mean big cost savings - Outsourcing doesn`t bring great success everytime There is a big IF. IF you outsource the work to the RIGHT Russian (i can speak only about Russian companies, I never worked in India), you`ll save about 25-35% of the project costs AND you`ll have a better/faster code. IF you outsource the work RIGHT - i.e. have the good manager/managers onsite, choose a good company in Russia (not the cheapest one), work with them CLOSELY on specs, and stay in touch with the company and the people you work with and with their business - and only IF you manage to do it - you`ll manage to benefit from outsourcing. It`s more complex than expected. Good luck:) |
| Sat 21 Dec | | NYSE Outsourcing To India's Wipro Technologies
Budget-bled Execs Are Looking East ... Way East
December 13, 2002
http://www.informationweek.com/story/IWK20021213S0038
|
| Sun 22 Dec | Stephen Jones | 'Many Indian firms adhere to strict process controls that can be more stringent than U.S. standards. 'This isn't like manufacturing, where companies had to trade off quality to get lower costs,' McCarthy says' Boy some people just don't get it! The process controls are more stringent but what about the product? Unlike the case in manufacturing, adhering to process controls in software development, does not give the minimum guarantee as to the quality of what comes out of that process. Indians often use process controls to paralyze everything. I once had to write a paper attendance list for a set of training students we had. The paper forms we were given looked horrible, and nobody could give me a copy anyway because the company (a multi-billion dollar steel plant) hadn't set the training department up with email, and they had taken out all floppy drives from the machines using a screwdriver to stop virus propagation. I did a quick copy of the form in Word, using a color logo for the company instead of black and white and making the lines larger so you could put the names inside them. All the lists came back. Non ISO 9000 compliant! Note, that the forms were the same, the fields and info were the same, it was just that the lines were big enough to |