Fog Creek Software
Discussion Board

Skills Atrophying

I used to be an excellent and well-rounded software developer (VS6 C++/VB, COM+, etc.).  In 2000, I took a job at a Fortune 100 company in Boston as a VB6 developer for a huge salary thinking that I'd hang around for six months to a year - just long enough to save up for some luxuries - and then move back to something challenging...  Then the bubble burst, and I've been here ever since - skills atrophying all the while. 

Development isn't like riding a bike.  If you don't use your skills, you lose them, I think.  I find myself struggling to remember idiosyncrasies of simple C++, let alone the complexities of ATL.  And I haven't even looked at .NET!  I don't even have time to work on my software engineering skills at home because I'm also a CS grad student, and the only thing we use at school is Java.  Believe me, a regimen of Java and VB (while they're both excellent tools for what they do) ain't gonna keep you in top form. 

Help!  What do I do?

Thursday, June 12, 2003

Stop worrying and be good at what you are currently using.  If a future job requires a shift in skills, you'll adapt and spin those things back up.  But if you don't need them, who cares?

Unless you _really_ want out of the job, that is.  You didn't really say that, though.  You sound like a bodybuilder who's concerned about muscles shrinking that he never needed in the first place.

Thursday, June 12, 2003

>> "Unless you _really_ want out of the job, that is."

The job's fine for now.  I have a nice big year 2000 salary -which I'd _never_ get offered nowadays -  and they pay for school.  This place is as good a place as any to ride out the bad economy.

Thursday, June 12, 2003

I've been in the field for about 15 years, and I used to worry about atrophying, too. But you know what? It does come back. Maybe not instantaneously, but it does.

Maybe you're worried about not being able to rattle off intricate details (code, configuration options, whatever) immediately right off the top of your head. So what? If you remember that there is an option to do FOO and you can look it up, that's the REAL knowledge.

Sure, there will be interviewers that'll expect you to recite this stuff. I say, screw 'em. A solid understanding of the principles of good coding, experience with a language long enough that you get to know (some of) its inner workings, and effective strategies for finding out what you don't know or recall will keep you going in the long run.

Lauren B.
Thursday, June 12, 2003

I can't say anything non obvious, so relax and enjoy the flow :-)

Thursday, June 12, 2003

If you're really worried, you could write code at home for fun or as a side project.  I've never understood why people think that you should only use your programming skills at work.  Most of the people I know in other occupations do things on their own time (construction workers always seem to have some side project, nurses/doctors read their journals, etc).

I'm still waiting for the people who jumped into this trade for the money to jump to the next fad...

Billy Boy
Thursday, June 12, 2003

Don't worry, languages ARE like riding a bike.  You're not going to jump the canyon after 10 years of walking, but given a few months you'll be ready to risk a few broken bones in no time ;)

Why worry? CODE is CODE.

I haven't had 2 jobs in a row where I use the same language, but being your typical "ENTP" that doesn't really bother me.

Natural, COBOL, C++, Java, JSP, VB, ASP, VBA *shudders*, Perl, HTML

It all blends into one big language. I'll never be the Suuuper Genius of any one in particular, but I'll always find my cheese.

On the other hand, I dev because I love it, but given a choice between getting paid to play on my PS2 or program... well...

Then again, I'm thinking of becoming an interpreter for the deaf... so what would I know ;)

Jack of All
Thursday, June 12, 2003

There are many open source projects out there who'd love for a worthy developer to take an interest, learn the system, offer architecture suggestions and/or contribute code. Find a project you like -- preferably whose products you already use to minimize the learning curve -- and start monitoring mailing lists and offering help. It's a long-term solution, but quite rewarding.

One of the main benefits of working on an existing project is that the mission is done by someone else -- it can be tough to motivate yourself if you create a project on your own.

Chris Winters
Friday, June 13, 2003

I agree - your programming skills do atropy if they are not used on a regular basis.

"Believe me, a regimen of Java and VB (while they're both excellent tools for what they do) ain't gonna keep you in top form. "

Are you trolling?

Lot of large companies use Java to create complex server-side applications/systems and VB is still being used to build desktop applications. If you want to work with bleeding edge technologies then you should be applying at places that use it.

One Programmer's Opinion
Friday, June 13, 2003

Programming isn't like riding a bike - HOWEVER, your skills and 'mental muscles' don't just vanish forever, putting you in the position of it being as if you never learned them in the first place.

I think the best way of understanding it is "rust". When you aren't using these skills, effectively they are being left out in the elements unused. Things get filed away in the back of your mind, you misplace spare parts, things degrade and break and don't get fixed or replaced because you aren't noticing them.

However, you are pretty much forever with more than nothing - even if the stuff wears down to a bare frame.

As an example, when trying to start programming I choked on VB. I would try to learn it and get into it few a few weeks, and then get stuck and leave it for months. Eventually I did it for 1 month, then stopped for 6 months. When I returned I started over as if I hadn't learned anything, and found myself learning vastly faster than I did before, and when I hit the place I got stuck in last time I just sailed along without a problem - I still don't know what went wrong originally. In a day or so I was doing better than I had originally.

Effectively, if you decide you really need those old skills, you just have to get back and start excercising them and "knock off all the rust". It's not "just like riding a bike" because it won't be as easy as it once was, but I think you'll find that relearning is many orders of magnitude easier and faster than learing originally, and, if your experience is anything like mine, you will actually end up better than you ever were pretty quickly (at least partially because you have been improving in related skills and abilities the whole time).

Friday, June 13, 2003

Another view on the skills issue: I accepted a small project at the bank I used to work three years ago. I had not been in contact with financial matters since then, and you know what? I think I actually understand it better now. Not to say I find it more joyable, but at least many things are clearer now for me.
It's kinda like playing basketball after several years of only watching it on TV: maybe you're not in shape, but you surely have learned a lot about it.
Of course, regarding technology, reaching the wave again might be tougher. But I think a good programmer will always get in shape pretty fast.

Dario Vasconcelos
Sunday, June 15, 2003

*  Recent Topics

*  Fog Creek Home