25 ms·
The Mid-Career Crisis of the Perl Programmer
- mratzloff 13y agoA note on labeling yourself a "Perl programmer", or an "<insert specific language here> programmer": A marketable skill is an investment. If you specialize in one skill it may be very profitable--for a time. Like investing in one stock while it continues to increase. Diversification is the only smart strategy if you're in it for the long haul. Keeping a portfolio of tried-and-true but also fashionable up-and-comers is the approach I've used to great effect. As a bonus, it can also improve your skills in your existing languages.
- collyw 13y agoTrue. I think after learning Perl as a second language, I understood Java (my first language) a lot better. OOp in Perl is a bit of hack. Bust it is transparent and you see what is happening, unlike Java, where it is like a black box.
- eropple 13y agoYMMV, but I found learning C++ to be a lot more valuable for understanding both object-oriented programming as a general topic as well as the JVM and Java specifically.
- sspiff 13y agoI was struck by the same impression: why label or restrict yourself to a single language? And why label all other languages as short-lived, low quality fads? Because that's what reading the two "tl;dr" sections at the top indicate. He's not doing himself any favours with that kind of statement. When people (recruiters or otherwise) ask me what I do, I'm a developer. Not a C programmer, not a Rubyist, or any subset of software development. I know how to program, I know how to solve problems, and I know how to learn new languages, libraries or frameworks. Sticking to your guns in an industry as ever-changing, for better or worse, as ours, is a bad idea. When I was a student, I was interested in trying out tons of new languages. I eventually ended up sticking to Ruby for most of my own projects. At university, we used Java almost exclusively. My two last jobs however, have been C and C++. I'm fond of C, but not a big fan of C++. If I had stuck to Ruby or Java, I doubt I'd have a job as interesting as the one I have now, as those to languages seem to be restricted to web development and things like low quality internal applications used by banks in my area. (Unrelated: odd, I'd never hear of this guy chromatic before today. I was listening to music by Chromatics, and five minutes before this thing hit front page, I decided to Google the bands name, and I ended up on his Wikipedia page.)
- pekk 13y agoWhy refuse any specialization? Some things take years of experience in a language to get right. First, nobody should care that you can "hello world" in more languages. Second, you don't have any preferences about what tools you use?
- weavie 13y agoI think you should specialize in programming concepts first and specific languages second. Once you have a deep understanding of lambda calculus, mutable/immutable state, lazy/eager, classes/functions and all that, then first it is easier to approach any language and second you will have a much deeper knowledge of the languages (yes it should really be more than one) you do specialize in.
- existencebox 13y agoI think the statement was more like, "a developer uses the right tool for the job, a perl programmer will always use perl". (to the above poster, I hope I didn't misinterpret...) You need both, I think. Breath and depth. Excessive depth to the point of self identification as an "x" coder has often correlated with living in an "x" bubble in people I've met. I have some thoughts on this (which I'm badly composing now due to being in a rush), it's a really important conversation to have (what's the right balance between breath and depth) and frankly depends a LOT on the person/work. I would certainly fucking hope that, to give a strained example, my brain surgeon wasn't just a general practitioner with a hobby :P
- sspiff 13y agoOf course I have a preference, but in general you work in teams, and the quality of the code base and standard practices of the group are more defining in how fun or productive something is to work on than the choice of language. I know nobody cares if you can write "hello, world" in many languages, but I never stated that or anything like that, did I? Some things take time to learn (systems programming, memory management, ... are things you'll have to wrap your head around when coming from a higher level environment, for instance), but hardly any of them are language specific as far as I can tell. Feel free to point out examples to the contrary, although I feel like if it's hard to learn a general concept in a specific language, that sounds like a language design problem. In many cases being a good programmer in one language means you can learn another language and become a proficient or good programmer in it relatively easily. Some specialization is fine, however, if you really stick to a single language/framework/environment, I think you're staking an awful lot on something that could mostly go away in five years time. For example, I work in the embedded domain. Ten, fifteen years back, microcontrollers were pretty much king. You wrote software close to the metal, without an operating system, and allocated all memory statically. If you stuck to that kind of development, and refused to learn embedded Linux stuff or dynamic memory management, you'd be unable to find a job today (at least in my area, I can't speak for the entire world in this case.)
- badman_ting 13y agoHe does seem unusually determined to remain a Perl programmer. I liked how he threw in the JS renaissance as somehow relevant to Perl because they're both from the 90s or whatever, a bit delusional if you ask me. It's painful to move on from the platform you spent so long mastering, but sometimes you gotta do it.
- singingfish 13y agoNo i disagree with your interpretation, but that's because I'm a perl guy who is currently doing 60-75% javascript. Both are very pragmatic languages with significant design warts, but with enough useful higher level features to make them fun (unlike say PHP).
- inquist 13y agosingingfish, I'm curious what you have in mind here. I've used each of these a bit and I haven't noticed PHP lacking high level features?
- singingfish 13y agoIt's not introspective enough compared to the other big dynamic languages, it suffers from a lot of low range developers working on it, the namespacing is a mess (which leads to to the docs although relatively thorough, but a mess). My understanding is that things like CakePHP are an improvement, but given PHP's underlying design a bit of a shim. Don't get me wrong people do interesting stuff with php (especially the pornographers), but it's a kludge. I also don't like the tendency for close binding of code with a real web server that I've observed. Bear in mind my most recent PHP experience has been bending wordpress to do my will (taking over a project that's had the designer on the lead), and dealing with an undocumented not-quite-webdav implementation written in PhP that seemed to be overly dependent on apache.
- girvo 13y agoCakePHP is not an improvement, and the fact you'd bring it up sort of shows you don't use the language much if at all...
- goostavos 13y ago>As a bonus, it can also improve your skills in your existing languages. I'd actually say that doing so is the easiest way to grow stylistically as a programmer. Each language has their own way of doing things. Some of those things are done really well, others, well, not so much. If you've never dipped your toe outside of the core language pool, it's tough to know just what those things are. Every language I've ever learned has opened my eyes to a new way of doing things. As a guy who cut his teeth on Python, I'd say that I didn't really "understand" hardcore OOP until I picked up Java. You just don't see that every-noun-is-now-a-class style often in Python. Closures "clicked" when I picked up Javascript, and really deep lambda use didn't really sink in until I picked up Scala. I had, of course, always used these things in Python, but only on a surface level. Exploring an environment where some small feature of your primary language is the big common feature of another is very eye opening. You pop out the other side with tons of new knowledge and usage patterns.
- viraptor 13y ago> As a guy who cut his teeth on Python, I'd say that I didn't really "understand" hardcore OOP until I picked up Java. You just don't see that every-noun-is-now-a-class style often in Python. This sounds really weird to me considering that almost every noun is a class in Python, but that's not the case in Java (primitives are not classes and there's no easy to use meta-class construction).
- goostavos 13y agoYou're right, everything is an object in Python. However, what I'm referring to is more on the application design side that you see in the enterprise Java community, rather than the implementation of the core types or builtins.
- midas007 13y agoHopefully this offends everyone &| starts yet another pointless religious debate: Java was a reaction to C/C++ (language safety); Python was a reaction to Perl's messes; and Ruby is polished Perl. And bonus: Go was a reaction to Java and C++ compiles taking forever. With production usage, each platform matures through attempts to learn from the past while not forgetting too much before that. (Sadly, though most everything will be coded in javascript.)
- Natsu 13y agoAny good Perl programmer should be able to adapt to many other languages.
- roeme 13y agoThe astute reader will notice that one soon can do s/perl/currentfancylanguage/g and this article is essentially about the b0rked interview culture/hiring process established with some corporations, be it small or big, established or incubated startup. Good read, the TL;DR's are spot on :)
- chromatic 13y agoThank you! I'm glad someone noticed my attempt to generalize from a specific situation. This cycle seems to continue every few years, but the solution has not made itself apparent yet.
- lucasnemeth 13y agoYes, precisely. And that's scary.
- laichzeit0 13y agoThe thing about Perl that still makes it attractive is the fact that it's available just about everywhere. Go try script something quickly in a large enterprise environment with legacy crap all over covering Solaris, AIX, HP-UX, Linux, etc. and you will be guaranteed Perl is available on all of them. Python, Ruby? Not so much. On Linux yes, on the other's I very seldom encounter it. Perl is an indispensable tool in the hacker's toolbox.
- SwellJoe 13y agoAll of those UNIXen are going the way of the buffalo as the world moves to the web. I haven't seen HP-UX or AIX system in a decade or more. Admittedly, I haven't done contract work in about eight years, which is where I previously saw those beasts (and others; for a short time I specialized in migrating businesses from SCO UNIX to Linux and made a small fortune doing it), but our software gets installed in all sorts of places and we used to hear about those systems pretty regularly...but the mentions of everything other than Solaris on our mailing lists and forums and IRC has slowed to practically nothing, and Solaris is in a slow spiral downward. I use Perl daily. Love it. But, the argument that it's available while others are not isn't really valid anymore except in a few niches. Linux is pervasive, and Python and Ruby are pervasive on Linux systems. In fact, Python is more likely to be available on the two biggest distros because many of the administrative tools provided by the distro are written in Python. RHEL/CentOS/Fedora effectively have standardized on Python as the language of choice for admin tools.
- Blahah 13y agoFor better or worse, Perl is alive and well in bioinformatics. Lots of people are trying to change this, but at the moment it's a fact. So if you're a Perl programmer, are struggling to find a job that lets you wallow in the Perl pool, and don't mind capping your earnings around £50k, give bioinformatics a whirl.
- jsegura 13y agoIn my company, a telco one, Perl is actively used as we have some inheritance of old systems coded in Perl. No chances to change it at a short term basis.
- Toenex 13y agoTIL perl is the language most likely be my generations COBOL.
- supergauntlet 13y agoI think that's actually probably gonna be Java.
- AdrianRossouw 13y agoIt will probably be both, and maybe eventually php.
- baldfat 13y agoI can't even begin to understand how in the world Java will be perl. Granted I don't like it but it is used for so many things I can't even imagine it going away in my life time.
- kbenson 13y agoI'm fairly certain the statement is about Java becoming the next COBOL, not the next Perl. That said... it is used for so many things I can't even imagine it going away in my life time could be said quite easily about Perl as well.
- natch 13y agoEvery programmer who loves Perl should ask him/herself: Is this a case of Stockholm Syndrome? I think for me it was. The jobs kept coming, stuff kept getting done, I enjoyed myself, I'm proud of most of the code I wrote, and yet, it never felt completely right. Probably because Perl has always been more of a petri dish for idioms than an organized home for them.
- roeme 13y agoStockholm Syndrome implies that Perl is bad, no? I disagree. Just as it allows you to write horrible stuff, you can just as well get your shit together and do it maintainable, robust and nice to the eye :) And as the author states, you (almost) always have an choice to run other languages, where perl runs. Not really a hostage situation, methinks. Edit: Not that I particularly like Perl, but neither do I hate it. I think it's somewhat bad reputation stems more from the fact, as described above, that it forces you less to do things nicely and is very accessible to the, let's say, less experiences programmers - so a lot of quickly cobbled together stuff flies around.
- lazyjones 13y ago> it allows you to write horrible stuff, you can just as well get your shit together and do it maintainable Many years of programming practice and SE theory have taught some of us that discipline is not the main concern of most programmers and the higher a level you require of it, the more you will be disappointed. Which means that you tend to get more maintainable results from languages which either require very little discipline to produce good code or those that strictly enforce discipline (e.g. Go). Sadly, even the code on CPAN (which was built to withstand some scrutiny apparently, or why else would anyone release it to the public) is often so badly written that I wouldn't want to debug or maintain it. > And as the author states, you (almost) always have an choice to run other languages, where perl runs. Not really a hostage situation, methinks. In practice you're more likely to find old, hard to maintain Perl code bases that noone is able or wants to rewrite in another language, if you get hired to program in Perl. If there was a realistic choice to use another language, it was likely made already years ago.
- JeremyMorgan 13y agoUpvoted just for the TL;DR remarks. Dead accurate.
- agranig 13y agoIf you enjoy writing open source Web Apps and REST APIs in Perl/Catalyst for the Telco segment: we're hiring! See my profile for contact infos.
- singingfish 13y agoaye, perl is still huge in the teleco and networking world. These guys are not without their technical management problems though, and some of them seem resistant to getting someone in to help fix the problems.
- perigrin 13y agoSo you're saying that they're a "business"?
- singingfish 13y agoThe particular teleco I'm thinking of ... they'd have way fewer problems if they got an independent person running their technical project management rather than an endless sequence of junior grunts
- hernan604 13y agoHow can anyone not like to write "Web Apps and REST APIs in Perl/Catalyst" ? See profile for contact infos :)
- butterfi 13y agoColleague of mine is doing Perl for Apple, who apparently still use Perl on the production line.
- singingfish 13y agoI do heavy perl based lifting for a company with a similarly high profile to apple. As well as for a few other concerns too. It's certainly not dead if you know where to look/have a good social network.
- arjie 13y agoMany of my fellow students sprouted Perl on their resumes after working at a storage company in Raleigh.
- groovy2shoes 13y agoYeah, EMC uses lots of Perl. Perl is pretty pervasive in plenty of large companies.
- AdrianRossouw 13y agoThis rings true to me because it has echoed a lot what I am going through right now. Instead of perl, my tool of choice was Drupal. I built many great things in it, but I just reached a point where I could no longer be passionate about it. I am different though in that I changed my focus to node.js 5 years ago, because it was something I was excited about and interested in. I think that's made me a more well rounded programmer, and made me a happier person in the long run. To the OP, I think you should follow your instincts about Rust. Do it because it interests you not because it's profitable. If you have to take a basically uninteresting day job to do so, you should know that you are in no way different to most of the people out there.
- deleted 13y ago[deleted]
- chrismealy 13y agoThe first language I loved was perl, and I'll never forget the good times we had, but when I'm using ruby I don't miss perl.
- agentultra 13y ago> For someone whose life obligations preclude selling everything and living on a beach in Thailand or Belize for a year, how do you evaluate a career reaching its midpoint? How do you keep programming fresh? How do you market yourself as someone who solves problems instead of someone who transcribes ideas in the language du jour? Or do you leave programming altogether? I had a similar tack in my career and have been asking the same questions lately. I wish I had some of the answers. At this point all I can offer are some coping strategies if you're still thinking about leaving programming (at least for a while): Buy a cheap house and keep your living expenses low. If you want to leave programming and open a bakery you'll at least be able to keep the roof over your head and food on the table. Who knows, maybe you'll be happier? I've been thinking about opening a brick-and-mortar retail game shop and writing on the side. I still keep sharp. I cannot give up programming. I'll read something about sail design, consistency analysis, topology, or constraint propagation and for the next few months I'm knee deep in algorithms and data structures while trying to maintain polite conversation at the dinner table. But in the morning it's all about configuration scripts and CRUD apps and copy changes in templates. Other hackers have jumped ship... jwz comes to mind.
- ilikerashers 13y agoI think this comment actually reflects the point of the article. It's turned into a bun fight in the other comments about marketing yourself, when in reality it's about a developer bored with trends that offer marginal impact to organisations. Something most middle-aged developers face is that chasing those trends becomes tiresome. The value you add to an organisation has a ceiling. If you're a Stanford Grad working his way up his latest hedgefund, you've got a road ahead of you. For most of us it's different flavours of CRUD. The sheer volume of conversations I've had with people in the Bakery scenario is mind boggling. I think most people just get jaded around their mid thirties in any career. It's just some people have the balls to setup bakeries!
- perigrin 13y ago"For me, the mechanics of budgeting are easy but the psychology of riding the business cycle is difficult." Running a bakery is effectively like consulting except it pays worse. Starting a Bakery isn't courageous ... it's foolhardy. Sometimes it pays to be foolhardy (lord knows I have been several times), but painting the picture that all of us who may be dissatisfied with our current mid-level careers as technologists would be successful if we just had the courage to abandon a decade and a half of training and effort to chase something new, that's disingenuous.
- alxndr 13y agoWow, I had forgotten about everything2 and c2... c2 was the first open-source-ish project I wrote code for.
- harrystone 13y agoI still write everything I can in perl. A lot of what I do is text manipulation on Slackware boxes. I work for a small company and the only other programmer is part owner. After 20+ years doing consulting, sysadmin, and programming work, the whole idea that what I'm doing isn't the "in" thing, is pretty amusing. I'll be 46 this year and I have gray streaks in my beard.
- cwyers 13y agoTo highlight one thing: "Fifteen or fourteen or even ten years ago, I might have railed against the inherent unfairness of a cruel and uncaring universe of technology driven by fashion, where technical superiority is less important than buzz, but I've tried these approaches over my career." The universe, from the perspective of a Perl programmer, is certainly cruel and uncaring. I just don't think it's driven by fashion near to the extent this statement implies (or the pithy TLDRs up top imply, for that matter). The biggest wounds to Perl were probably self-inflicted, but the languages that grew to replace Perl did so by and large because they were doing a better job of solving problems some people had than Perl was, not because the people who were using them wanted to be fadish. There certainly are people who chase programming fads, but they're trailing, not leading, indicators of a language growing.
- gtirloni 13y agoIt's debatable how much improvement theses language are providing. You see people reinventing the wheel over and over, "discovering" "new" things all the time, thinking of new ways of doing things that will make a 0.0001% difference.. all attached to a "revolution" tag. Lately I've decided to consider IT as a fashion world. My major anxiety is how to clearly see what's "core" and what "fad" and focus properly (and hope I'll be employable by my 50's).
- eru 13y ago> My major anxiety is how to clearly see what's "core" and what "fad" and focus properly (and hope I'll be employable by my 50's). As always, the classics. If nothing else, knowing how to write a compiler (especially including parsers) will keep you employed. Not because you need to write compilers all the time, but the techniques are useful and timeless. Unix will probably stick around, too. And I'd be willing to bet on strongly typed functional programming (but I might be biased there).
- copergi 13y agoAs someone who strongly dislikes perl (I'm being generous there really), I really don't think python or ruby do a better job at all. Python's selling point seems to just be "the syntax is different", and I honestly can't tell how ruby is supposed to be better than perl at all. It is barely even different.
- mavdi 13y agoAs others have pointed out here, diversification of skills is the closest you can get to a guaranteed job as a programmer. Back in the day, when Flash was the cool thing and you would get an AS3 library for every .js library that you see today, Many AS3 developers looked invincible. Me being one of them. Until Flash died. It just died in a month. Two things happened. A group that didn't diversify and didn't want to move out of their comfort zone, lost jobs, some became pizza delivery guys. I know a few. They had time, but they didn't leave things behind. Another group of developers, moved on. Not only away from Flash, but away from anything that seemed slightly in trouble. And you know what? All of these guys are doing brilliantly.
- joncooper 13y agoHere is the answer: simple supply and demand. If you enjoy and are skilled at something, you should be able to productively contribute to many different organizations. You'll need to take the set of organizations that you'd like to work at, reduce it to the set where you can get an interview, and then sample the interviewing process until one instance produces a positive result. Every choice that you make which constrains the addressable set of interviews makes it more difficult to get that positive result. In my case, when I returned to SF after working in finance for ~7 years, I spent a very difficult year or two trying to find a trading job. The problem is that there are a tiny number of firms at which one might work trading in SF, and a huge number of applicants. At one interview I was told, "You're a great fit but there are a ton of folks out there. I'm going to interview a different person every day for the next two months and then make a decision." At this point I decided to go back to my roots and become a software developer again. Surveying the market I identified iOS and Rails as having favorable supply/demand imbalances. So I spent 3mo learning Objective-C, Cocoa, Ruby, and Rails, as well as the rudiments of CSS. I very quickly found work, enjoyed it very much, and have now made my way back to finance, this time as a technologist.
- gtirloni 13y agoDid you use any specific technique to identify this imbalance? It's often so difficult to get a realistic picture.
- Legion 13y agoGo to local meetups. You'll see the supply and demand play out right in front of you. How many employers are there, and how big of a group of potential employees are they talking to?
- joncooper 13y agoI didn't, it was pretty hand-wave-y. But I do know a fairly large number of people in the Bay Area tech scene so I took stock of what they were saying, in particular around hiring difficulties. Also, I did some tinkering with the things that seemed to have merit from a supply/demand perspective and stuck with the ones that I enjoyed most. One other thought: Coursera classes are an excellent way to give yourself an additional bit of edge in terms of getting the interview. Taking and doing well on Andrew Ng's Machine Learning class, for example, doesn't necessarily mean that you can do ML vocationally, but it does speak to your willingness and interest in continuing education.
- deleted 13y ago[deleted]
- marukokinno 13y agoHELP, I just got infected by clicking in the top article of HN, the one named 2048, when I clicked it automatically downloaded a file with extension .patch, when I try to delete the file, the OSX says "finder wants to make changes". what should I do?
- marukokinno 13y agoHELP, I just got infected by clicking in the top article of HN, the one named 2048, when I clicked it automatically downloaded a file with extension .patch, when I try to delete the file, the OSX says "finder wants to make changes". what should I do?
- georgeecollins 13y agoIn my experience as a worker bee (not an entrepeneur), after ten years or so you don't really get the best jobs from what is on your resume. You get jobs from people you know and have worked with. Chances are you will be a better fit if someone who knows you recommends you. So when you think about what you should be doing mid-career: think about what people you have liked working with are doing.
- latj 13y agoIf he thinks he has it hard, trying being a mid-aged Perl programmer who ISNT chromatic. ;)
- singingfish 13y agoI'm a middle aged perl programmer who definitely isn't chromatic, and it definitely doesn't suck. On the other hand I spent a decade struggling through working inthe health system, then another decade through the university system (for whom I have turned down several pices of work over the past week), so I have a frame of reference. Having said that, as a perl programmer, I seem to be hugely in demand for flashy javascript at the moment.
- aryastark 13y agoThe problem Perl has is that it is the language tied to the first dot-com crash. Prior to the dot-com crash, there was the AI Winter. This is where Lisp died, for almost identical reasons. When a major tragedy happens, someone or something has to take the fall. SV needs to continually reinvent itself, so that VCs can sell their smelly IPOs on Wall St. They needed a new paradigm, so we got Web 2.0. Enter PHP. What is PHP? It's pretty much Perl. In fact, it is Perl. Just a highly shit version, done by monkeys that don't have a clue. Perl 2.0. Facebook, the shining star of Web 2.0, is built on it. But Web 2.0 isn't new, either. The story of Web 2.0 is how advertising prevailed over technology. Now we're entering a mobile post-web period, where we go back to proprietary lock-in with a cloud twist. It's the 1980s again. But it's fresh on Wall St. Better start learning Objective C. If you believe Android will remain relevant (I personally do not) then keep those Java skills dusted off.
- Pacabel 13y agoWhy is it that you see Android becoming irrelevant? And when do you see this happening by?
- aryastark 13y agoGoogle has a Samsung problem. I think they are in a bad position, such as Sun was with Java or IBM with the PC. They own the platform, but they aren't getting much from it that I can tell. I'm no psychic. But I can easily see Google dropping Android in a few years or Samsung forking it. Won't be good for developers or users.
- spiralpolitik 13y agoAndroid is the new Symbian/J2ME. 7 years ago Symbian looked unstoppable, but look at it now. The same will eventually happen to Android, especially if Google continues down its current path of forced integration with Google+.
- raiph 13y agoOne thing that's interesting in this context is the Firefox phone and its 100% FOSS web tech stack. I've seen projections of an additional 400 million smart phone users this year and maybe another 600 million in 2015. It seems plausible that Firefox phones will reach 10% of new smartphones by the end of 2015; if that happens I think it's highly likely that the game will change again.
- bpyne 13y agoI'm in mid-career now. While I still enjoy writing a really great app that people want to use, applications are mostly CRUD-based and a little dull. It's not the fault of my employer or any for that matter. It's just that fetching and posting data is a core of what organizations do with IT systems. For a while, fooling with new languages and frameworks made the work more interesting. But even that is getting old. I wonder now if there are more uses for computers than just CRUD-based applications. Unfortunately, organizations don't generally give a developer time to explore questions about software use. My answer is to work toward a doctoral in computer science. It seems the only way I'm going to get time to give vent to my own inquisitiveness. At the end, I get to do research and mentor the new generation of developers coming up.
- singingfish 13y agoI'm currently enjoying web-ui hacking as it's really the interesting part of the CRUD domain now that everyone expects js code to do interesting things.
- petit_robert 13y agoWeb UI is an interesting problem, but even just building a proper data structure can be very challenging, when the user's environment is complex and one needs to build a simple yet extensive enough tool. I see it a bit as rock climbing : I looks simple, but not everyone can do it right.
- bpyne 13y agoIf I stayed in application development, I'd probably move towards web design. I don't think enough has been done to make interfaces effective, pleasant to use, and intuitive. What interests me is research into education and learning. I'd like to develop a domain specialty there. Day-to-day I've lost interest in this or that build system, IDE, programming language, framework, etc. I'm more interested in the specific problem I want to explore. To do that, I feel like I need to pick one language and working environment, then become an expert in it.
- sly_g 13y agoWrote perl web apps since 1998. Now I'm seriously considering "selling everything and living on a beach in Thailand or Belize for a year". Programming altogether, regardless of the language, lost it's magic touch for me. Sometimes it almost as funny and interesting as it was, but it's just glimpses from the past. Suppose this is what mid-life crisis looks like. Or maybe it's what "burning out" looks like. Worked for my project for the last 8 years now and had too few holidays. Or maybe people do change and I need to do something completely different from now on. I just have to figure out, what exactly I wish to do. It's unpleasant and scary situation with no one to get help from.
- muraiki 13y agoSee if you can find a way to try out other things. After working in IT for many years as a sysadmin, I too thought about baking. I have a friend who works at an established artisan bakery, so he let me come in and work for a bit (payment was in bread, which I had no problem with!) I quickly realized that it wasn't the right path for me and that I had things going quite well for me after all. A few years passed and I began to become bored with being a sysadmin. So I started programming and took on some small side projects. I had a much better experience there, so I've been pursuing that path. I've also started taking some stats courses and realized that I love playing with and learning about data. It's something that satisfies my natural sense of curiosity. So what it came down to was making the time to try these things out. It's cost me a bit in terms of my social life, but I think that it will pay off in long term happiness. :) It doesn't hurt to explore, and you could either discover that your job isn't so bad after all, or you could find something new.
- squar1sm 13y agoI didn't like this bit: "The fact that my degree says Music and not "Computer Science" from Stanford, Berkeley, MIT, or CMU probably keeps me out of computer vision, AI research, and compiler design, however, just as much as it's garlic to the Google recruiters who want me to believe it's an honor to spend weeks answering questions about ping pong balls and sorting phone books for the opportunity to babysit a data center full of machines dedicated to slapping ads on the world's information." Wow. That's a really big sentence with some amazing accusations: 1. Google is full of vampires (garlic) 2. Datacenters are babies (babysit) 3. Information is owned by the world (world's information) even though it's scraped into a Google index which you can only get to by using Google. It also greatly bashes on all of Google for making adwords? Yay? I think this kind of snork-snork attitude is the kind of shit I don't miss about Perl Monks and the like. He just sounds hurt and mad.
- kbenson 13y agoI think we can find less negative interpretations of those. 1. Google is full of vampires (garlic) Garlic makes your breath stink. People may avoid you after heavy garlic consumption. 2. Datacenters are babies (babysit) As a metaphor, it's definitely possible to do worse. The systems within the datacenter will need attention. Constantly. People are on call to handle these and other issues. There are many parallels to watching children. Which is why, as a metaphor, it works, at least from his point of view. 3. Information is owned by the world (world's information) even though it's scraped into a Google index which you can only get to by using Google. What are you even trying to say here? I don't think Google would contradict that they take existing free information and present it to you. Their value-ad is that they make it easy to find what you are looking for, and organize it in interesting ways. That he sees Google as a marketing company that uses this ability to service ads is hardly controversial.
- squar1sm 13y agoWe can disagree. What I was trying to say with #3 is that it's just an index. You use the index by using Google. If you don't like the index, don't use Google. But they aren't stealing the world's data so ownership doesn't matter. They are indexing it and creating a new bit of information, they own that. You know what I mean? It's just an index and they respect ROBOTS.TXT just like other crawlers (but not all).
- kawliga 13y agoI've been programming for over 7 years now. Learning this and switching to that. I've grown very tired of it... very tired. With a bakery you'd at least have someone complement your hard work... and maybe come back in the next day for more. Programming has no rewards... other than the "lighting" instances. You spend your life in front of a monitor... typing. Yet, we all need money right?
- mfrager 13y agoI see no reason to ditch Perl. I've been using Perl for years and I use it at my company with little problems. For our SaaS web application Perl is a perfect fit and allows us to code very quickly. Also, Perl's CPAN gives us access to so much it's incredible. I think Perl is still ahead of it's time and the best days for Perl are still ahead.
- nightmedia 13y agoProgramming for the last 30-something years, and the last 20 mostly in Perl. Every few years I got a job with Java or Python, or something of the sorts, and learned new things, but returned to Perl. Every time I returned to Perl, I noticed that my code style changed, improved, and I felt better about my Perl skills. There was not one point where I thought "let's just leave this behind and go with the new kid on the block". There was never a point where I felt that Perl won't do the job. In fact, many times I came to replace some complex ball of wax written in some other language with simply written Perl code, and everybody slept better afterwards. Sure, there are many frameworks, and it seems easier to just write a little glue code on top of that - I always resisted that urge. I write my code as minimalist as possible, with the least amount of includes or dependencies. Things work, and my customers are happy. If there is one thing I am happy about later Perl releases is that they fixed threading and it works now as it should.
- spiralpolitik 13y agoPerl 5 is the software equivalent of duct tape or superglue. Great for thousands of tasks you never really thought of and for lashing stuff together but just like you wouldn't use duct tape for building a house, you need to make sure you use Perl for the things its good at. That said Python is now getting close to usurping Perl as software superglue.
- justinator 13y agoThe thing about metaphors is after awhile, they breakdown when you attempt to use them for all facets of a subject. Perl's used in large projects just fine, with similar problems found in all large projects. The solutions to those problems may be Perlish, but that's just rather than Rubyish or Python-ish, etc.
- spiralpolitik 13y agoIn my experience when Perl is used in large projects it quickly becomes unmaintainable once the original developers move on. A lot of the recent work I've been doing has been migrating Perl projects to languages that are much more maintainable in the long term. While you can get the same problems with other languages, its much easier for a Perl project to disintegrate into anarchy even when careful managed.
- kbenson 13y agoI suspect this is a problem with any project once the original developers move on and there's a break in institutional knowledge about the architecture and design reasoning behind a project. I also suspect it's more of a problem the more powerful the ability of the language to introspect and self-modify. Lastly, I suspect this is also paired with gains in efficiency in the design and implementation phase. If that's true, it's a matter of trade-offs, not a clear negative, and it becomes a matter of recognizing those downsides and dealing with them accordingly (whether that be avoiding certain features except where specifically called for, better documentation, or preventing that loss of institutional knowledge).
- peterwwillis 13y agoIncidentally, if you're a decent Perl [on Linux] programmer and work well with teams, my company is hiring in Columbia, Maryland. It's been fairly difficult to find qualified candidates.
- marincounty 13y agoI can give my take on the bakery idea. I worked at a Bagel shop for a little over a year. It was a horrid job; but I think my emotionally stunted, wacko, sexually frustrated boss made it worse than it really was? If you took that waste of space Boss out of the question, running a bakery might be a good move. 1. If you are not a morning person--forget about it. Getting up at 3:30 a.m. is something beyond jarring, especially if you are a night owl. 2. Look for a long term lease. 3. Buy all used equipment. 3. Keep your prices low. 4. Give away product--get your name out there; product ingredients are dirt cheap(Sysco). 5. This next line of advise is more important than the rest. Treat your employees like you would like to be treated. Your average employee will most likely be young, strong, and a hard working--if treated right. If you treat them right--you won't need to put two hidden cams over the registers and back door. You sound like a nice guy, so I don't think being nice will be hard. I would be interested in opening a bagel shop in the Bay Area. I have all the recipes, and working knowledge, and some cash to invest. Respond to this post if you want to talk about a partnership? (If Roger ever reads this; you were my boss and treated me horrid. I'm not quite sure what I did, but I think you thought I was the reason the girls despised you? I took a lot of crap from you, but I got more than my fair share out of that hell hole. Yea--It was one for you and one for me. Your attitude helped pay off my student loan--thanks!) Inside Joke--Unrelated to this Perl Programmers predicament. To the Perl Programmer--good luck what ever you do. You have a good perspective on life, and seem genuinely nice.