Demotivating a (Good) Programmer
lbrandy.com
lbrandy.com
Will I have to deal with people that don't really know the language we use and ask me questions instead of doing minimal investigation on their own? Will my coworkers produce code that looks like something you'd expect from a freshman CS student? Will I spend much of my time putting out fires caused by incompetent coworkers?
* Semantic HTML
* Advanced (> Basic) CSS
* Stylesheet design
* JavaScript
* JavaScript libraries
* How to write a reusable function
* How to use a database
* Damn near anything outside of Dreamweaver
Sometimes I really, really think I need a new job, but someone would have to approach me because the market's too risky for me to justify a serious hunt right now. In the meantime, I get to teach everyone else as much as I can, create interesting work for myself, and take care of my responsibilities which is the easiest part.
1) Perhaps something out there is better and you'd leave the mediocrity you're in now.
2) Perhaps nothing else is better or other stuff is worse in some way, and this might help put your current situation into perspective.
The economy sucks now, something else will suck later. If you haven't put anything on your resume in the last year you might as well have not been working at all since then.
This isn't meant to be a piece of puff optimism advice but courage-up and fix your situation if it sucks. It sounds like you have a good attitude about it overall (helping your coworkers), though.
The best way to raise your salary is to switch jobs, if you are good, you would have high employability, and moving shouldn't be a problem.
I understand thomas' lack of confidence, his skills are in areas that may be perceived as low key CSS and Front-end HTML stuff.
How would he fare againt JEE and RoR gurus! Which is what the market is hiring, right! ...
Well not really, there is demand for all sorts of skills, you just need to be good and confident!
We're a venture backed startup developing social games. I also used to be a YC founder for about a week so the engineering environment doesn't suck.
The highly motivated people don’t come to work to play xbox.
I so agree. For great programmers working on great projects the work itself is the fun. Far too much emphasis is placed on extraneous goodies, probably because they're visible and everybody (including managers and journalists) can understand them.
Sometimes, having foosball tables and video games around distracts the people who actually intend on doing work, though.
I also think the foosball, xbox 360s, nice chairs, etc are an attempt to make those basic facts more palatable. And its also true that really great programmers can make the "shit" just disappear, if they're given enough freedom. I.e. they can elevate your department or company.
I have a totally unrelated question about this post. Do you see the two trackbacks? One of them (the first) appears to be a totally legit blog, but also appears to be spam? What is the proper etiquette in this situation? What is your opinion on trackbacks?
I'd rather work somewhere where I know that I'll be recognized as more than a wage slave and I think that everyone else is the same way. The people who are good at what they do will gravitate toward the companies that offer the best environment, all things considered, which includes salary, perks, "chill rooms", etc.
1. Tasks that require a lot of repetitive, manual work, but which are difficult to automate. Example: UI testing.
2. Creaky legacy projects using outdated tools/code/platforms. Some people like Software Archeology (I sorta do,) but most developers seem to hate it.
To give a real-life example, I was handed a project last week to create a new project - the source code mostly existed, except some glue, but I needed a new build environment. Now, I could have passed a very boring week manually creating makefiles, or I could do what I actually did - create an optimised makefile format, then write a parser for it in Ruby. The actual generation of the build environment ended up taking about half a day, with the parser/semantics analysis taking up the rest of the time. It was fun work, and better yet, the next time someone asks me to do this, I'll just grab the tool that I developed this time, and it'll all be done in half a day. As an added bonus I got to play with a PEG parser generator for the first time in my life (way nicer than your typical yacc-style ambiguous grammar - thanks Chomsky, you bastard!)
So... He was forming a product research group to think up new products, starting with looking at the exciting new wireless "space."
Cool, I thought, and asked to get in on the new group action. "Why?" he wanted to know, "you're doing a great job where you are." he staffed the new group with managers and developers from other teams with less successful products.
Shortly thereafter, I joined a start up.
The product continued to make them a lot of money after I left, so it's not like they lost anyone critical :-)
I think what this shows is that products are successful after they become successful. Once everyone has heard of your product and know that it's good, they want it ... regardless of whether or not the competition is "better".
If I were Microsoft and one day I replaced Visual Studio with vim, I'm sure people would like it much more than when it was called "vim".
A year later the whole group closed the working product discontinued, and I ended up leaving the company.
Don't get me wrong, I hate the Google wanna-be companies. If wrongly applied creates an environment of primadonnas and self-appointed gurus. Been there, too.
Still, it is very hard to find how to have good programmers happy. Perhaps the best thing is start listening to them. In the right amounts. And make whatever is given valued, humans tend only to value what they miss.
Developers hate three things, above all else, in increasing order of painfulness…
Working on stuff that is easy Working on stuff that is tangential Working on stuff that no one will use
Funny thing was, she NEVER applied that sense of urgency when it was payday, or when it came to performing tasks that only she could do, yet she certainly loved to send me scrambling.
Suits are sick people, I actually feel for them at times.
Was up for me just now.
PS. the slicehost guys were a big help, worth every penny.
I went to the slicehost chatroom and said "uh oh" and they told me to use their local web-based console. It got me to the machine just in time to see an endless loop of 'out of memory' spam.
They told me I was swapping like crazy and having memory problems. They asked me about my mysql/apache config.
As per their suggestion, I rebooting the machine to try to get into apache and lower the number of children, and the machine crashed after reboot before I could do anything, with more out of memory spam.
They suggested the best next step was to do an upgrade on the slice from 256 to 512, which I did. It took about 10 minutes. It's prorated, so I only pay the higher price for the amount of time I'm at 512. Once I upgraded, the machine was stable enough for me to re-enable caching.
Now that the crisis was averted, all the extra apache threads died off, and my machine went back to normal. They gave me a bunch of links showing how to more properly configure apache/mysql for low-ram VPSs.
I run a lot of stuff off a single 256 slice myself, and have had zero problems.
I've had a few dedicated servers from big companies, with absolutely no support provided by people with no clue whatsoever.
Slicehost has been fantastic. Most notably dealing with a couple of DOS attacks against my slice.