3 ms·
He doesn't know this, but he really needs a good manager to mentor him. He is a classic case of a "Perfect Language Programmer"; people like him, if not supervi
by mahmud 16y ago
He doesn't know this, but he really needs a good manager to mentor him. He is a classic case of a "Perfect Language Programmer"; people like him, if not supervised, can drive themselves insane and into isolation, not to mention poverty.
It's impossible to lose a refined taste once you develop it, and in my experience, the best way to overcome it is to have someone believe in you. If you don't have the business sense to discover an interesting niche where you can apply your skills to solve difficult problems for a small industry as an individual, the next best thing you can do is join a "boutique" shop headed by someone with excellent mentoring skills.
An ideal manager would be someone who appreciates your skills, but can also steer you firmly when conformance is necessary to reach an important objective. People like those generally love to exploit automation; you will be allowed to write all the haskell you need for in-house tools and automate your development processes, maintain data, and generally oil the office engines. However, for the pieces of software that you need to ship, you will be given enough boilerplate code and development guidelines to make the temptation of the Perfect Language impossible; you wont be as eager once you get your fix coding peripheral projects anyway. It's always a good idea to start at maintenance, that way you get a good understanding of the infrastructure, while absorbing their development culture and the Ugly Language. Maintenance code is usually big and important, and you will not even think about rewriting it in something else.
To get a job, I would start by responding to job ads that state problems, not those the prescribe solutions. My initial exchanges with them will be informal emails, never send your resume off the bat. Inquire about the project, ask questions, and demonstrate your skills. You will get more response by being humane and eloquent. Explain to them that the technology is the same underneath, that you have a deep knowledge of the fundamentals, and that their job is phrased such that it asks for individual instances and ignores the big picture. An analogy or two might come handy, internal-combustion engineer vs Honda Civic mechanic. It's always a good sign when you see companies advertising positions that require broad skills, across languages, APIs and platforms. It means it's a development shop, or they're at the exploration stage and you might be able to influence decisions.
- stcredzero 16y agoI have his problem, but with Smalltalk, and there is yet another dimension to it, since a lot of corporate Smalltalk is "stupid and ugly". The Refactoring Browser parser tools save me time and again. Instead of writing code, I write code that writes and transforms code. He should be able to do this for Java with the libraries in IntelliJ. Not sure what's out there in .net land. Facebook is doing this to PHP with Haskell! http://www.haskell.org/haskellwiki/Haskell_in_industry http://www.haskell.org/haskellwiki/Haskell_in_industry
- Kaizyn 16y agoCouldn't he just use Haskell to write the Java/PHP/whatever code for him? Yeah, every project becomes a language translator, but then he wouldn't have to leave his beloved ivory tower of horrors.