| I've found enduring value in these things: * Understanding binary vs decimal math, deeply. Implementing decimal math out of integers nothing else is available. * Understanding locking strategies and the need for shared data protection. Build and break and rebuild things until you can intuit then prove deadlock, lock failure or long waits when you suspect their effects. * Getting good at debugging. Don't point the finger of suspicion at anyone or anything (unless it's at you or your work), /prove/ what's wrong. Toward that end, don't "kill the (error) messenger"; it's just the first to speak up about a problem that might be layers deeper in your software stack. * Learn data; it outlives code. SQL may bore you but it pays the bills. You didn't like Linear Algebra in school? Well, I didn't much either, but I sure am glad now I took it back then. * Be the person who can say, "Yeah, I can fix that," and just do that. * Learn business areas like General Ledger and Accounts Receivable. Be the person who can say "Yeah, I can keep a balance on that for you" and do it. * As far as application areas go, remember that money, unlike computer languages, never goes out of style. |
Code always lives longer than we think and a lot of the stuff that was created in the last 15 years will outlive half its programmers.