| ||
|
This community works best when people use their real names. Please register for a free account. Links:
» Joel on Software discussion Movie:"Make Better Software" is a 6 movie course designed to help you as you grow from a micro-ISV to a large software company. Moderators:
Eric Sink
Bob Walsh |
Hello, I love reading blogs concerning the things I care about, sometimes I read too much that I'm feeling guilty for wasting my own "precious" time, but that is not my main concern here. I want to know more about what motivates the programmers that are writing about the programming craft, technology, etc. I've made some search on the web about this, but I haven't made a progress. I need to know these kind of stuff because I suspect that there is at least weak , but nevertheless correlation between the facts that successful, energetic, self-organizing programmers have a blog that is some sort of expression of their view of the craft and what they do, and on the other hand the blog forces them to work smarter (and harder) towards perfection and their goals. I'm talking about most of the programmers that have founded at least not-dying start-ups, or making some demos (for example, game and/or demoscene-style demos), things like that. I'm wondering about the main motivations, and I suspect that the fact that once one have written something about something that he/she want and will try do do/implement, that publicity forces and motivated the programmers to realize his project and make it to the end. The other contrast is working in relative obscurity and/or isolation, "hidden" from the outside world. To the bloggers here (and the others with opinion), what do you think about these things? Thanks in advance
Wanna-try-blogger Tuesday, March 25, 2008
Excerpted from http://microisvjournal.wordpress.com/start-here-if-youre-new/ "Why are you writing this blog?: Partially vanity, partially writing practice (amazing how your written English deteriorates without practice, and I get close to none at work), partially as a signpost for other people wondering about starting a mISV." I do like the public commitment thing, too. That is one of the reasons I started posting on this forum. However, in my particular case, the more consequential public commitment was telling my family about it.
It varies. Sometimes a desire to communicate some insight. But often that doesn't work out as those who 'get' what I am saying are few. I notice it is the same for other bloggers. Nowadays when Joel posts an article, there are 10 angry responses that say he is an idiot for every 1 person who actually read what he said and understood it. A lot of the 10 detractors are just nitpicking minor points that are of little relevance. That's all kind of boring. Because of these things, I do not have a link to allow responses to my own articles, although I do have a company forum where people can complain about my articles if they want. Often I am just keeping track of what is going on in my own life and process, just in a public area. It's like a diary. I don't really benefit from hearing other public pronouncements about what they think about my diary. On the other hand there are the emails I get from people about articles. These responses are usually a lot more personal, with people agreeing and sharing their own stories. I suppose the articles are out there for those sorts of folks and not the ones that were hoping to find a reply button to tell me all the ways I am wrong. Another sort of post I do I say something I know will be seen as controversial. This is usually where I think almost everyone in the world is without a clue and I am going to set them all straight, except I know they will not listen. The fact is, 99% of experts don't know what they are doing. Those experts I don't mind that I am pushing their buttons. For example, a couple years ago I posted something here about how it is an embarrassment that students are graduating CS with no compiler class and someone can not possibly consider themselves a computer scientist or engineer if they do not know how to build a compiler like they know how to ride a bicycle. It needs to be a skill you have down pat and you can write a compiler without even stopping to think about it. There were a few conscientious expert developers that understood that I spoke the truth there, but mostly people called me an idiot and went on and on about how I don't know anything.
Scott Tuesday, March 25, 2008
For me, in descending order: * Highlighting some of the interesting and/or weird aspects of software. * A reference point for potential clients and employers. * Writing practice.
I blog for a few reasons: * I enjoy writing about programming and web development. * I can point potential clients to my blog so they can read my opinions on various issues, and see sample code. * It gets me exposure: more people will have heard of me if I ever have something other than development services to sell, and it boosts my profile as an independent developer/consultant. * It gives me a nice warm fuzzy feeling when people email me to say they liked what I wrote. * If people link to my blog, it helps with SEO for my website.
For some it is an ego thing, for others it is advertising. I don't think I would have heard of fog creek if not for joel's blog.
Brian Tuesday, March 25, 2008
My goals: 1. Writing Practice I primarily started blogging to simple practice writing more often. I have a tendency to over-work absolutely everything I write (until the soul is completely sucked out of it), and I hoped that a little more practice would help me settle into writing down my ideas more quickly and naturally, and not obsessing over every letter. I'm going to claim partial success on this goal. I still have a very hard time writing stuff to a deadline, but I can see where I'm more willing to let something go out for comment when it's not fully formed. I still have a half-dozen posts that I'm in the process of revising, though. 2. To share interesting ideas with a wider audience People seem to like listening to me talk (yeah, I don't understand it, either), but I'm very uncomfortable doing it "live". I figured that I could write stuff out, and people would maybe read and comment on it, without the pressure of responding in real time. This has actually worked out great - I get occasional emails or comments from people that I have no idea where they heard of me, and they appear to have read and understood what I was writing about, and have interesting comments. 3. So a Beverly Hills realtor doesn't show up as the first hit in Google when people search for my name. This is still a work in progress, but he's at least not taking up all the top spots any more.
Sorry to high jack the thread but scott said something that I can't find a good frame of reference for. Why do you believe that compiler implementation is the holy grail of computer science? That is like saying you can't be a physicist until you can design a refrigerator. While heat transport/parsing/lexing depend heavily on the scientific disciplines they sprung from, they are but a small part of the disciplines they sprung from. Now I can see saying you can't call yourself a Mechanical/software engineer until you can design something of some complexity and use a compiler as a reference for size. For you see someone who engineers software is a software engineer, and one who studies computational theory is a computer scientist, so yes you can be a computer scientist with out ever having coded something and you can be a software engineer with out ever having coded anything. Just like an architect can do their job without ever having been a construction worker. Now this day in age programmers usually do both the engineering design and the coding, but that doesn't explain why building one item makes you a programmer and not something else. Is Linus not a programmer because he wrote an os and not a compiler?
Brian Tuesday, March 25, 2008
In addition to all the other reasons (writing practice, vanity, etc.), the exercise of writing about a topic frequently helps clarify my thoughts on it. There's nothing like trying to explain something that forces you to really understand it yourself.
Hey Brian, thanks for the response. You can start a new thread about it if you like since it's kinda off topic, I was just bringing it up as a historical example and it's out of the scope of this thread. Rather than get into a big fight about it a gain where I am hoping to see how many people are cleued in enough to 'get it', I'll just give some big hints here, and if you still don't 'get it', then I'll just ask you to 'think about it' until you do and I won't bother defending or arguing it anymore because last time I did I realized it was as pointless as arguing with some VB guy about why pointers are useful. The VB guy just is never going to understand because he has the wrong fundamental perspective, or something about his brain doesn't function right to be able to understand indirection, which it turns out isn't necessary for corporate languages like VB and Java. And yeah hey, I won't argue these are profitable languages - they are. But you can't write the next generation 3d shooter in either of them, nor can you write a high performance video processing engine. Anyway so here is the key thing to be thinking about compilers. Usually I find that the protestations come from faulty assumptions about what good a compiler is, protestations made by those who, because they don't know how to easily build one as a regular skill, have never realized the common place utility of one. Think about why Joel is rich because of Wasabi for starters. Wasabi is a compiler, but it's not some for-profit compiler sold be a development tools company as the next big thing in languages, right? It's actually a strategic business tool and the fact is that Joel hires guys that can implement a fully functional compiler in a single afternoon, so he can base his business around those sorts of strategic decisions. But it's not just about that. How do you implement undo in your application? All pro apps need full unlimited undo nowadays, that's a basic feature. If you implement it CORRECTLY, a side effect is that your entire application is now fully 100% scriptable at a fine level. Huh, so what language will you implement to drive it?
I've only just started mine and I've not been great on spinning posts out. I guess my goal is a similar to most folks, though I have more options than most to spout about things (I moderate three Usenet comp newsgroups related to mISV's). However I've noticed the pull away from Usenet etc towards the blog format and of course forums such as these. Once Usenet looked like BOS with posts everyday but folks seem to prefer the forum format rather than NNTP clients these days. Basically I wanted to share some of the things I've been studying for several years on piracy and it's implications as well as coming back into the arena as a mISV and not just an industry "figure" so to speak on the periphery. Product in development and figured I'd share that later in the dev cycle (things are still to early and to much in the air in terms of technology etc to commit yet).
I guess to summarize, compilers are a fundamental basic building block of computer science. Knowing how they work and how to build them as a matter of course is on the same level of knowing what memory allocation is, what a tree is good for, how to write a hashing function and a hash table. Sure, it's a bit 'bigger', but it's no less ESSENTIAL. Where people get confused is the small minded very limited perspective that is persistent in workers who call themselves developers that went to some sort of technical training college (may be called a prestigious state university with a top program nowadays, but that doesn't change what it really is) that shows them some tricks in Java and then stamps their forehead "DEVELUPER". People who 'don't get it' are so limited they always start out "Compilers? I wonder is Borland still in business with that Delphi thing? Hm, Microsoft and IBM make compilers and there is gcc... that's probably only 20 jobs nationally. Boy that is specialized, what is this idiot talking about." That perspective means we got us a person who doesn't really understand about compilers, what they are, or what they are used for.
"Just like an architect can do their job without ever having been a construction worker." Oh you know I missed this statement the first time. Sorry Brian, but that's a bozo bit toggler. Comparing software developers to construction workers and computer science people to architects is really clueless. You don't understand development, and probably never will. Sorry about that, but I see a big future for you in clueless middle management. Fortunately it is very well paid and you get to throw your weight around, so it is probably the right choice.
Hmm, making a blanket statement like "someone can not possibly consider themselves a computer scientist or engineer if they do not know how to build a compiler like they know how to ride a bicycle" and dismissing anyone who disagrees with you as an idiot. Scott, it's a safe bet that anyone who chooses to argue with you is an idiot -- not because they disagree with your opinions though.
LotsaBitterWankersTheseDays Wednesday, March 26, 2008
Hello Wanker (strange name choice). I did use the word 'idiot' three times in this thread and it did not appear anywhere else except in your post. Once I referred to people who are say that Joel is an idiot, and twice I referred to people who say that I am an idiot. No where did I call anyone an idiot. Sorry, try again.
George Orwell once wrote that he - and all writers - wrote for a combination of four reasons: 1. Sheer egotism - The desire to seem clever 2. Aesthetic enthusiasm - The perception of beauty in the external world or in words and their right arrangement 3. Historical impulse - The desire to see things as they truly are 4. Political purpose - The desire to push the world in a particular direction - Neil
"George Orwell once wrote that he - and all writers - wrote for a combination of four reasons:" Orwell should have added a number 5 - especially in his case/personal history. 5. Political Dissalutionment.
6. Get laid. But I suspect that works better for tortured literary types than people blogging about software. ;0)
"6. Get laid" Works like a charm for painters and artists, they just have to say what they do :)
Victor Noagbodji Wednesday, March 26, 2008 | |
