|
I graduated during the first dot.com boom, and decided to transition from Economics to web developer. I got a job at a small company, with minimal programming knowledge. My programming test was explaining how a Perl program I wrote worked. I certainly wasn't a great engineer, and I have never been a natural programmer. But the company I worked at realized that they didn't need the top 1% to build basic enterprise software. Paying a kid out of college 1/5th the salary of a top 1%er, and who a maniac about learning, was pretty attractive to them. The barrier for you guys is so much higher now, and it's a shame. We need you. We really, really need you. I think the real question is: do you like building real applications? Algorithm questions are wonderful intellectual challenges, and useful background knowledge. But most engineers I know spend 90% of their time figuring out why something wont compile, trying to integrate with crazy APIs, or dreaming about how new technology X will fit into the stack. Worrying about whether the hash table Java uses is O(n) or O(1) is very low on my priority list, and something hard to justify to bosses and customers who care about a shipped product more than microseconds of optimization. Take a break from programming if you can. Get a job in retail, and experience a different form of suffering for a while. Or join the Peace Corps. When your brain gets rested, find an open source project that interests you, and contribute to it. If you can't find one you like, or find that it bores you to tears, consider another profession. There's no shame in that, the world needs doctors, lawyers, chemists, business people and barristas as well. |