detroitgrotto.org - overflowing with good stuff

the detroit software engineers' grotto.

what.

in 1994, the writer po bronson started something called "the san francisco writers' grotto." that grotto is a group of writers who rent commercial space and use it as a place to write and interact. in po bronson's words:

The hypothesis is that working writers will be more productive (and have more courage to pursue the kind of writing they really want to do) if they work in a community of writers - if they surround themselves with other writers pursuing this same vague ambition. The writers and filmmakers at the Grotto are not united by anything more than that - not by any school of thought, or style, or genre. Our differences rub off on each other, informally, and we grow into talents we didn't even know we had.

that's cool, but what's the deal with this here?

we're software engineers, not writers. what, then, are we proposing? we are forming a "detroit software engineers' grotto."

where did my passion go?

as a software engineer, we tend to work with people we don't like, working on projects we don't like, in office environments we don't like. at the same time, we love the concept and promise of software engineering. we love the potential we have to make computers do really cool things. we love the power we have to affect people's lives. and we love working at our craft to make ourselves better engineers.

the problem is that for a variety of reasons, we're burned out. we've lost interest, making it harder to learn new things. we're stagnant, and we know we're not the only ones.

this isn't to say that the grotto is only for engineers in need of a jump start. it's for anyone wanting to be a better software engineer. i want to be better at what i do for a living. i want to be one of the best. i think that wanting to be better at one's profession is a fairly noble desire for anyone. a lot of new and fascinating technology has emerged that we want to learn, but we can't find the motivation to pursue it. we need inspiration, because a lot of us have had our passions handed to us, as it were. the grotto can help us get our passion back.

do engineers need community?

yes we do. what if, like the writers' grotto, we worked in a small community of software engineers, in a vibrant, rented space?

what if we decorated it however we wanted, with our own art, comfortable office and living room furniture, big tables to spread our work out on, wireless internet, etc.? i can only imagine how much more motivated we would be to become better engineers.

it's not just about the furniture or the space, by the way. what if we were simply surrounded by smart, creative people like ourselves? as po said, we could grow into talents we didn't even know we had.

in an ideal world, our workplaces would provide the inspiration we need. they don't, unfortunately. workplaces are designed to be places where you don't express yourself. companies don't exist to give you a job - they exist to make money. workplaces are generally the same: cubicles, bad lighting, smart but unimaginative coworkers, boring projects that don't increase our skills, and managers straight out of a dilbert comic. environments like these don't motivate you to want to be a better software engineer. it's a shame, because software engineering really is intrinsically cool - it gets a bad rap because of how confining and nondiverse the work environments are. this fact alone drives a lot of us into other careers. we know lots of people who've left engineering simply because it stopped being enjoyable.

spending your workday in your cubicle, you probably feel the world passing you by. you see three cube walls, and behind you the open fourth wall that faces - guess what? - the cube across from you, a mirror image of your own.

why don't you just work from a coffee shop?

the grotto seems like a sound idea, but the first question someone's likely to ask is "why don't you just work from a coffee shop with wireless internet?" the answers:

  • coffee shops have hours of business, often with certain hours set aside for hosting events. so even when the shop is open, it's not necessarily open to us. our grotto would be open to us, and only us, 24/7, because we'd have keys to the building.
  • coffee shops have tiny tables with bad ergonomics. (i can attest to this - i'm writing this right now from a coffee shop.) they're meant for eating, not working, so they're just too small. you can't spread your computer, several books, and several papers out on one of these tables. they're built at a height suitable for eating, not using a computer, so they're too tall. our grotto would have big tables for working, at an appropriate height for working.
  • coffee shops have the most uncomfortable chairs possible at the tables. sure, a shop may have couches, but i'm talking about the chairs they have at the tables. i suppose they're trying to get you to drink your coffee and leave to make room for the next customer. our grotto would have comfortable couches, easy chairs, and office chairs for lounging and working.
  • coffee shops are busy and noisy. they're businesses open to the public, after all. our grotto would be open only to us.
  • coffee shops have slow internet access. they're in business to sell you coffee, not to give you fast and free internet access. our grotto would have much faster access than any coffee shop. we'd choose the provider at a speed we can afford.
  • coffee shops are decorated by their owners. we can decorate our grotto any way we want. (and then change it the following month.)

why don't you just work from home? can't you just work at home for free? what is wrong with you, dude?

if you're a software engineer, you're probably allowed to work from home. we all know that working from home is cool, but once the novelty wears off, the bottom line is that you're working from home. it's important to get out of the house. you started working from home in the first place because the office sucked the life out of you. with a grotto, we can work from there instead of from home. it's a step up from working from a boring, sterile office. it's also a step up from working from home, with distractions of television, food, roommates, and family. in the case of anyone who lives alone, a grotto is a step up from having too much solitude.

the problem with work environments.

work environments foster competitive attitudes. we are rewarded for being better than our coworkers. how are we rewarded? with promotions, but we are also rewarded with not being laid off or fired. as a result, there is no incentive for us to group together with our coworkers to learn some new technology. the better you are at your job than your coworker, the less likely you are to be laid off instead of him. it's survival of the fittest.

a grotto solves the problem of the lack of community in workplaces. you'll return to work a smarter, more creative software engineer. you won't have to worry as much about getting laid off. you can look forward to being promoted, to initiating cooler projects, or to just getting a better paying, more interesting job at a different company.

employers aren't interested in teaching you what you want to know. it is in an employer's best interest to train you in subjects that only help the company. what helps that particular company is generally useless at another company. you're essentially wasting hours of your life on things that won't help you anywhere else.

a grotto creates a community where you can be around people who want to learn to use current and new technology - technology that none of you are learning at work, and can't find the motivation to learn on your own.

fine print?

what.

here's a stab at some fine print, as it were.

software engineers only.

in the same way that the writers' grotto is for writers of any sort, our grotto would be for software engineers of any sort. again like the writers' grotto, the software engineers' grotto is only for those engineers who are committed enough to their work that they are willing to shell out rent money for space.

the whole point of a software engineers' grotto is for us to get our passion back so that we can become better software engineers. this is the fastest changing engineering discipline, and a lot of new technology is hard to grasp.

we've got skills.

besides rent money, what else should someone come to the table with? in a word: skills. to your right is a list of current and forward-looking technologies. we know some of them cold. we know some of them just a little, but we're determined to learn them and get good at them. there are things on that list we don't know at all, but we know we need to learn them if we want to stay in this business. i expect anyone joining the grotto to be in the same boat. you know some things really well, you're a beginner at some other things, and you're ignorant of but determined to learn a third set of things - all at the grotto, of course, where learning them won't be such a drag.

everyone interested in helping create the grotto should list what you know well, what you know but not very well, and finally, what you don't know at all, but want to learn. the whole idea behind a grotto is that community makes success possible. there is a tremendous benefit to just being around each other and letting the technical knowledge rub off. we shouldn't be looking for someone to teach us things, per se. the concept is to just be around people who are doing it, and from that, it becomes possible. nothing would be formalized - the grotto would create an environment where the sharing of technical knowledge is spontaneous.

how many people?

how many people we need depends on how expensive rent is, since we will divide the rent equally. the writers' grotto started with 6 people in 1994. it has grown to 32 people. while in the beginning they had to work hard to find 6 people interested in starting a grotto, today they have a waiting list. as rents rose, or as the buildings they occupied were marked for demolition or luxury condo conversions, they moved to successively larger spaces, and added more people to cover the increased rent.

location, location, location.

where will our grotto be? well, that's up to us. i expect us to settle on a place that isn't too far away, and that doesn't cost too much.

diversity is key.

the grotto is not a treehouse fort for the boys. our grotto explicitly does not discriminate against anyone because of race, sex, religious beliefs, sexual orientation, disability, etc. it would be great if our grotto had equal numbers of men and women and a cross section of cultures - something sorely lacking in every corporate environment i've worked in.

why are so many apple technologies listed? what about .NET, etc.?

at the grotto, we are forward-thinking. we hate to break it to you, but windows is a legacy OS. the OS of the future is Mac OS X. the tools and APIs of the future are Objective-C and Cocoa. Mac OS X is easily the best OS for users and developers last year, this year, and next year. you should think about this very carefully -- you do not want to be left behind.

you used to have a lot more web technologies listed. what happened?

at the grotto, web 2.0 is dead. we're all about desktop 2.0. oh, you've never heard of desktop 2.0? that's because we coined the phrase. desktop 2.0 is all about fast, elegant, native apps that connect to web services. think iSale instead of your web browser for selling on eBay. yeah, that's desktop 2.0. or how about a native Mac OS X app that browses the All Music Guide? oh yeah -- that's desktop 2.0.

summary.

what.

the detroit software engineers' grotto is a place for us to get better at our craft. it's just like the writers' grotto, but for software engineers. think of it as an idea incubator. think of it as working at a figurative patio chair with an umbrella and a cold drink, versus working in a dungeon.

the need for creative software engineers is rising fast. the need for creative software solutions is limitless. the ability to produce solutions is limitless if you know how to apply the new and emerging technology. thanks for listening. email us at contact@detroitgrotto.org.

I thought the site needed a little color.

join the Detroit Software Engineers' Grotto.

technology we (should) know and love.

application programming interfaces, application frameworks [add item]

Cocoa (overview)
Cocoa
CoreAudio (overview)
CoreAudio

stylesheet languages [add item]

CSS
XSL

software configuration management [add item]

Subversion
Subversion (free book)

programming languages [add item]

Objective-C (overview)
Objective-C (detailed)

modeling languages [add item]

UML

operating systems [add item]

Linux
Mac OS X (overview)
Mac OS X (detailed)
UNIX

databases and database management systems [add item]

PostgreSQL
MySQL
Berkeley DB

software engineering practices and subdisciplines [add item]

Release Engineering
Software Configuration Management
Continuous Integration
Refactoring
Design Patterns
Extreme Programming
User Interface Design
User Experience Design

important applications of software engineering [add item]

Bioinformatics
Genomics
Computational Chemistry
Computational Finance
Music Production
Recording Engineering

web syndication standards [add item]

RSS
Atom

integrated development environments [add item]

Xcode (overview)
Xcode
Interface Builder (overview)
Interface Builder
Dashcode (overview)
Dashcode

markup languages [add item]

XML
XHTML
XSLT

[add category]

 

grotto links

getting started in software development on the Mac
the big nerd ranch
cocoa bootcamp at the big nerd ranch
cocoa OOAD bootcamp at the big nerd ranch
cocoaheads detroit / ann arbor / republic of michigan

grotto open-source projects

ChID.app, an open-source UID/GID changer for Mac OS X
DGGetopts, an open-source Cocoa framework to getopts

 

footer

you're visiting detroitgrotto.org. all content is by The Detroit Software Engineers' Grotto (contact us), with parts plagiarized from pobronson.com, and a design stolen copied from kottke.org. This site looks really good on a Mac.