Subj : Re: CV, work-history, 91C, CompSci?, Applet? (was: Software Job Ma...) To : comp.programming,comp.software-eng From : rem642b Date : Sat Sep 10 2005 03:36 pm > From: JXStern > I worked out my personal software process twenty years ago and > document everything in sight before, during, and after. Do you simply mean that you inline-document all your code, like a description at the top of each function/method, and a unit test example somethere there too? Or do you mean that you also create a separate document which is fullfledged user-understandable formal documentation? Or a middle ground, where there's inline documentation and unit test examples for every function you write, but there's a separate document only for the major entry points that somebody on the outside might commonly want to use directly and/or a general description of the purpose of your software and high-level examples of how it might be used as a whole? > Last place I worked liked all of that IN THEORY, but in practice, I > was about the only developer on the ground who actually DID it, and > the few documents by others that I saw tended to be pretty sketchy > and quickly left to get out of date. That sounds like where I used to work. > The place I'm working now HATES the very idea of documentation > internal or external (and quite the topic for another thread!). You > may have heard of XP, which quite shares this attitude. I hope I never have to work such a place, but I'm so desperate for employment I'd probably accept the job anyway. > Yes, but he does seem willing to do documentation in HTML, which is > roughly what they do do in my current shop. Yes, I think HTML is a fine way to present documentation, mostly because it supports both access from anywhere that has InterNet Web access, and because it supports cross-links anywhere I want, such as when I use a technical term I can link to where it's defined, or when I mention some other module of mine I can provide a cross-reference to the document for it. But I'm confused. I thought you said just earlier that at the last place you worked you were basically forbidden to write any documentation, but now you say in your current shop (which would have to be the last place you've worked, unless you don't work in your current shop) "they" do documentation in HTML. I'm confused. Are the last/current work/shop the same place, and they don't allow any documentation but they do allow HTML documentation, a contradiction? Or are last and current not the same, which itself is a contradiction? > >As I have run, in the past a small specialist job agency I can tell you > >without references there is no way I would put you forward for anything, > And I suggest he take note of this. And I still don't know what you're talking about: - References for job appl: Names of people who know me personally and via work. - Citations at the end of a published paper or in a bibliography. Which of the two is required to get a job in writing computer software? > Many, really most, hiring in the industry these days involves > recruiters, who must be satisfied as gatekeepers before you get "put > forward". Yes. I know that. I've been trying to find out how to get past the recruiter to where the actual hiring manager sees my interest in the job that was advertised. My best guess so-far is to submit a resume which lists all the keywords the recruiter is looking for. I collected, from all my resumes, the following list of buzzwords/phrases: http://groups.google.com/group/comp.programming/msg/b03efa8010c874ac Message-ID: but that list is so very large that even if I pack it tightly into a single paragraph it's 48 lines long, nearly a full page, not leaving enough room for the other things that need to be in a resume, and nobody has suggested any way to trim it down to be of reasonble size, so I'm stuck with absolutely no idea how to include all the necessary buzzwords/phrases in my one-page resume that I post on resume sites for employers to find. Currently my entire latest resume is 103 lines long: http://members.tripod.com/~MaasInfo/SeekJob/Resume.2005.6.txt which is way too long to fit on one printed page, so I really need help trimming it down to appropriate one-page size. > Would I grant an interview or offer a job to Robert Maas, if I had > some legacy code he might be qualified on, or some light web work he > could probably help out with? Well, all I can say is, "maybe". The problem with legacy code is that it's already written in a particular programming language, so anyone you hire would be required to be able to work in that particular language. There are more than a hundred different such languages, and the chance that it's one of the twenty I've used is rather small. Do you have any new projects you'd like to start, where the particular language isn't important, so I could use whatever language (or combination of languages) I'm best able to use toward your goal? > not so many developers ever touch a newsgroup, and it's something in > his favor (IMHO) that he's even here. Well thank you for that compliment. Now if we could only figure out some way that a majority of the software hiring managers in this area (south end of San Francisco Bay, i.e. "Silicon Valley" although more technically correct "Santa Clara Valley" or "San Jose metropolitan area") would browse either of these newsgroups and notice that I'm available and that I've written some interesting and thoughtful articles about software practice, including TDD (Test Driven Development), unit testing, rapid prototyping, agile programming, etc. ... > Sort of reminds me of Kent Beck! I don't recall ever hearing/reading that name before. Google search gave: http://c2.com/ppr/about/author/kent.html >> an undergraduate at the University of Oregon. Hmm, I went to graduate school there 1967-68, wonder when Kent was there? >> I convinced Ward Cunningham that we were onto something big. Hmm, I've never been able to convince anybody of anything. I have no sales skill. >> Alexander said the occupiers of a building should design it, >> so we had the users of the system design the interface. Trying to get the users of anything to do any useful work towards the design is Mission Impossible. The best that can be obtained is a bunch of vague and contradictory requirements each of which can't be implemented in any program because programs can't read the mind of the user. This is one reason I think that a study of algorithms should be a basic literacy requirement, just like reading writing arithmetic government and science, so that users would have some vague concept what is and is not possible to implement in a program, and how to state clearly what they want so that the programmer has a better than Sahara-snowball chance of actually implementing what the users said they want. >> I own and operate First Class Software, Inc. ... >> Patterns are still developing as a source of revenue. ... I.e. his company hasn't turned a profit yet? How does he get money to pay basic living expenses? From another Web Page I see he invented XP (eXtreme Programming)? http://www.fawcette.com/interviews/beck_cooper/default.asp >> You've got an important >> development contract, but in the past, the customer has just given you >> a one-line description of his high-level concept, and that's about as >> specific as he's been. What do you do? Actually I haven't been able to get any potential customer to even go that far in telling me what work he/she wants me to do. All I've gotten lately is "Do something really snazzy, spend several years without pay to get it working, give it away for free, and if I like it I might hire you to do something like it." If somebody would actually tell me some high-level concept that hasn't already been done by somebody else, that he/she would like me to do for him/her, for pay, that would be a starting point for brainstorming the details of the user requirements. >> Or you can say, "Customer, >> your job in this process has to be more than just giving us the bullet >> item; you're going to have to take a half step toward engineering, and >> engineering is going to take a half step toward you." You take that >> one bullet item and turn it into twelve things you care about and >> would recognize as signs of progress along the road toward delivering >> this product on OS-390. If I tried that, my customer would have said "Look, I'm busy, I have a ton of things on my desk, and I don't have time to discuss this matter with you. You write up a design yourself, and present it to me." then I'd do that, and his response would be "I'm still very busy. I don't have time to look at your proposed design. Just go ahead and implement it however best you see fit, and show me the finished result." so I'd do that, and his response would be "I don't have time to try the program you wrote for me, and might not have time until this other project is finished in a couple more years." Anyway, except that we each were at U.Oregon at some time, I see no major similarity between the two of us. What do you see like that?? .