4 ms·
A few ways: probably superior project management skills, information organization skills, communication skills, systems architecture skills, data design skills,
by unoti 12y ago
A few ways: probably superior project management skills, information organization skills, communication skills, systems architecture skills, data design skills, and domain knowledge. If we're talking about payment processing, I could list 10 things off the top of my head to look out for to avoid difficulties in the application, for example.
I know how to start with a vague notion of a system, interview 15 domain experts in the field, and turn that huge mass of random information into an organized document. I know how to collaborate with others to make a design, and manage the project through to completion. For certain areas of domain knowledge, I have knowledge and skills on par with top industry experts. And the 23 year old kid may actually meet or exceed any of those things, but probably has never successfully worked trade shows, sold products, or given presentations or training programs. I also run my own business that's profitable that I started from nothing, and has been going for a few years.
That doesn't really matter too much in a lot of situations though, so in a lot of cases, maybe I can't differentiate myself. I, too, was once a 23-year old badass who had been programming for 13 years since before getting out of grade school, and knew everything, and was the most amazing programmer around. The most important advantage I have over the me back then is now I know I'm not as smart as I thought, and I understand much better the importance of teamwork and giving everybody on the team a chance to shine.
Living with code written by someone half my age is no problem at all. A far more difficult thing is dealing with code that's badly written. But all professional developers eventually learn to deal with that; it's like how sailors learn to deal with rough weather.