Beefy Boxes and Bandwidth Generously Provided by pair Networks DiBona
"be consistent"

Advancing oneself personally and professionally as a programmer (discussion)

by deprecated (Priest)
on Aug 29, 2001 at 00:20 UTC ( #108582=perlmeditation: print w/ replies, xml ) Need Help??

I've made some rumblings in the past about feeling "stuck" where I am, like I am not learning any more. Let me say that I've done a lot of thinking on this, and realized that what is going on is I have stopped learning as quickly as I did when I was first grasping the language. So I'm still progressing, and learning some new tricks.

My contract is coming up here soonish, and I'm faced with an interesting situation. I am at the top of my "field." In this case, I mean that I'm finding myself unchallenged, and I am unable to reasonably expect to make more money than I'm making now. I've ascertained this by checking out salary surveys on a national and local scale.

So call me snotty and ungrateful, call me what you will. I'm 23 now, and I don't see any window for progression unless I change careers. I don't want to make this much money and do this kind of work for the rest of my life. I want to move on and do more interesting stuff.

When I was in college, I studied engineering. I always liked the sciences, but I found that I was making much more money doing IS/IT/Programming stuff, and never bothered to finish my bachelors degree. I once read an article that complained about a shortage of college-educated IT people because they had all gone a similar route, but I digress.

So I've been thinking about what to do about this hypothetical "situation" I've found myself in. It occurs to me that the best way to get around this is to become skilled at something other than programming, and make perl/unix a useful facet of what I do, rather than my sole purpose for employment. The way I see it, scientists make more money, and have more opportunities for advancement.

That might seem like a gloomy prognosis -- go get a masters or doctorate in some field of science and become a perl-hacker-on-the-side... But the truth of the matter is, like any curious geek, I've always been interested in these things. Two of my major fields of interest are Bioinformatics and Nuclear Physics. This is neat, since those are probably two of the most high-tech fields to be a researcher in (let alone programmer for). ASCI White for example, is a nuke-simulator. One of the perl hackers I most admire out there, Lincoln Stein, is an MD/PhD scientist, who, as I understand it, also "hacks perl on the side." Furthermore, my current employer will pay me to go to school. So it seems I have the means to do it, even cheaply.

It seems that there are limited opportunities for advancement as a pure programmer. It also seems that there are opportunities to be a programmer out there that are actually facets of lucrative, challenging careers.

I'd like to hear from <!- everyone but you, tilly... -> both seasoned programmers who have been doing this for > 10-15 years, and also the scientists among us (Masem and merlyn come to mind). Does this seem to be an accurate assessment of our field? Is there some occupation (I have deliberately excluded management from possible career changes) involving programming I have missed?

brother dep

Laziness, Impatience, Hubris, and Generosity.

Comment on Advancing oneself personally and professionally as a programmer (discussion)
Re: Advancing oneself personally and professionally as a programmer (discussion)
by scain (Curate) on Aug 29, 2001 at 00:53 UTC

    Hopefully, you will get many useful answers to this question, as I get the feeling there are many scientists here who also program in Perl. I am one of those. I am trained as a PhD Chemical Engineer, but I now call myself a bioinformaticist, after working in this field for the past 5 years. My entrance to this field was one of convience: I didn't really want to be a "real" engineer, and I liked coding and had a biology background by virtue of some of my research.

    It seems to me that you do have a pretty good picture of our field; the question for you is what to do about it. Since you already have some engineering background, it might not be a bad idea to go back and finish it (especially if you can get someone to pay for it). Once you have a BS, you can further evaluate where you want to go. For instance, there are now graduate programs in Bioinformatics (UPenn and Stanford, for example (I think)). The Stanford program might even be entirely online, at least I believe that they (have|used to have) a bioinformatics "certificate" program that was entirely online.

    Whatever you deside to do, it will be much easier to do it with the BS. You are still young (wippersnapper), eh, so taking the time to get a BS shouldn't prove too painful.

    Good luck,

      Whatever you deside to do, it will be much easier to do it with the BS. You are still young (whippersnapper [sp]), eh, so taking the time to get a BS shouldn't prove too painful.

      At the risk of having this sound like a flame, I don't think it's fair to say that, at least not across the board.

      While it is most certainly true in most other disciplines, the computer field is, I believe, unique in that the luminaries are not necessarily all degreed, let alone in their area of computer expertise (those in the Perl world perhaps more so than in other computer-related areas).

      In my own limited experience (I've only been doing this for eighteen years), the best people I've ever worked with were, if at all, degreed in areas OTHER than computers. Of these, the ones with just an ABD (All But Degree) were no less capable or well respected as technologists.

      Programming: it's in the blood or it isn't. A degree (or lack thereof) makes no difference in this regard.


      Just call me the Anti-Gates ...
        Not to worry; it doesn't sound like a flame to me. In fact, your observations are (probably) largely correct. Except for the fact that dep has indicated that he is interested in scientific computing. I guarantee that a degree will be a necessity here, or people won't take him seriously. Heck, look a few nodes down where toma indicates that he believes that a PhD is necessary to do anything interesting in bioinformatics. While I disagree with him on that point, it is clearly true that a demonstrated understanding of science will be necessary to do scientific programming, at least the interesting stuff. And the best way to demonstrate scientific understanding is to complete a science or engineering degree.

        As a side note, I do disagree somewhat with toma, as I am the only PhD in my group, and we are all doing interesting things. The others in my group have BS degrees in biology or computer science, sometimes both.


Re: Advancing oneself personally and professionally as a programmer (discussion)
by scott (Chaplain) on Aug 29, 2001 at 01:48 UTC

    I'm currently a graduate student in physics at Purdue working in Scanning Probe Microscopy. My perl hacking is mostly for fun, although I am, from time to time, actually paid for it (and wouldn't mind being so again :)

    Judging from the ads I see, programming is likely to be more financially rewarding than a career in physics, especially for the first decade of employment. On the same subject, the American Physical Society has various recent studies of salaries online. I don't have the link offhand but it shouldn't be too hard to find.

    If you're looking to maximize cashflow while programming you should consider writing Perl code on Wall Street. Those guys also have recently acquired a hankering for physicists so you could get your scientific degree, code Perl, and make lots of cash, all at once.

    <pause> <blink> Hmmm ... <scott wanders off gazing into the distance>

Re: Advancing oneself personally and professionally as a programmer (discussion)
by MadraghRua (Vicar) on Aug 29, 2001 at 04:28 UTC
    I went the academic route into Bioinformatics - BSc in Biochemistry, then a PhD in Molecular Neurobiology. The fields of Bioinformatics that I'm familiar with are DNA/protein sequence analysis, expression analysis, genome and genetic analysis, protein protein interactions/pathway analysis and 3D structure analysis. I have been using bioinformatics since 1988 so I was lucky enough to be in before bioinformatics was thought of as a buzz word.

    After 7 years of postdocing I found a job with a reasonably well known bioinforamtics company that produces both desktop and enterprise level bioinformatics software. To do all that I had to pick up a lot of Maths, a reasonable amount of Perl and skills in *nix, relational databases and diverse other computer/techie things

    Finding folk with these skills sets is not easy. Most of my hires have a Batchelors and a Masters, PhD or Masters and PhD combination. The main reason for the heavy educational background is that to be a competent bioinformaticist, you need to have the experience in doing the biology as well as the computers - this takes time. I also tend to look for actual real projects, eg show me your source code/database schemas, where are your papers, etc. For me this is the main way to screen out folk who can do it, not just talk about it. You might look into certification programs - the best one that I know of is in Montreal - the Canadian Bioinforamtics certification program It has an excellent combo of hands on training and theoretical background that you will need to pursue bioinformatics usefully. Otherwise pick a course that allows you to carry out projects that have real goals/results and hopefully publish papers. This is really the best way of getting your foot in the door for this field.

    I am thinking of taking a Masters in Maths at this point - I find this a lot more interesting and difficult than doing a Masters in Computers/IT, but that is my personal bias. Part of that bias is that I'm not too impressed with the product of many 2 year Masters level IT programs in Colorado - they are rather too cooky cutterish and produce folk with some knowledge, a lot of not very grounded opinions and little practical application in tackling real problems. A Maths degree is (hopefully) less popular so I hope it will be a bit more applicable to my current needs.

    If you want a starting reading list, try the following:
    Biological Sequence Analysis Durbin, Eddy, Krogh, Mitchison excellent introduction
    Computational Molecular Biology Pevzner - the first text book on bioinfo algorithms
    Bioinformatics the Machine Learning approach Baldi Brunak - neural networks and machine learning
    Molecular Modelling Leach - 3D structure analysis, the sexy topic of the first decade of the new millenium
    Computational Analysis of Biochemical Systems Voit - actually a more difficult and interesting probem to my mind
    Information theory and Molecular Biology Yockey - an alternative view of informatics that doesn't rely on neural networks and hidden markov models
    Bioinformatics Sequence and Genome Analysis Mount - pretty good but expensive text book
    Society of Mind Minskiy - not strictly bioinformatics but it does have interesting ideas on the mind which I tend to look at as issues of bioinformatics, again a personal bias.
    Analysis of Human Genetic Linkage Ott - the book on genetic linkage analysis. Combine it with Liklihood by Edwards or the Calculation of Genetic Risk by Bridge and you can cover both simple inherited diseases and complex non-mendelian inherited diseases.

    Good luck.

    Update Two other titles that might be entertaining:
    Algorithms on strings, trees and sequences Gusfiled - probably the text book on string manipulation and pattern matching problems, this one may be of general interest to most Monks
    Time Warps, String Edits and Macromolecules: The theory and practice of sequence comparisson Sankoff and Kruskal - this one is the ur-textbook on sequence comparisson, agin it may bge of general interest to Monks. MadraghRua
    yet another biologist hacking perl....

Re: Advancing oneself personally and professionally
by pmas (Hermit) on Aug 29, 2001 at 06:36 UTC
    ++ MadraghRua for mentioning bioinformatics. S/he has all technical info - so motivation is what was left for me to talk about.

    I came into bioinformatics from other side than monk MadraghRua: I came from computer science/databases/application development background. And I am telling you, genes/proteins/databases looks like next hottest thing. Think about all gene research coming for designer drugs, and what you need: excellent string matching capabilities (think perl), web-based tools for collaboration between teams all over the planet (think perl and CGI), HTML-based (browser as thin client) database presentation (think perl and DBI), Image procesing (free ImageMagick in perl), web agents, web crawlers, web robots querying/collecting info from other databases (think LWP and perl again), duck tape to link all this together (guess what language), and also language simple enough to teach biologists so they can collaborate, but powerfull enough to handle huge projects (and this one you can guess, too).

    Salary might be less in university environment, but quality of life is much better, believe me on that. Basicaly you are doing most of the work in open-source environment.

    And after you dig deep enough, you may even get into smart start-up, to retire at...or not.

    And I promise you, it will be enough challenging and much more fun that programming Yet Another Accounting System(tm). Check CPAN how much modules are bio-related. Can you see the wave coming? Enjoy the ride!

    To make errors is human. But to make million errors per second, you need a computer.

Re: Advancing oneself personally and professionally as a programmer (discussion)
by Anonymous Monk on Aug 29, 2001 at 09:38 UTC
    Think about the longer-term fate of humanity, "civilization," and "the World." Fuck those damnable patent mongering bastards and each and every last one of their ilk.

      Off Topic

      OK so you've damned them all & let's say they're all in Hell now...

      Now what?

      Civilization & The World would be a VERY EMPTY PLACE indeed.

      Be a 1%'er but try not to be elitist while you're doing it.

      BTW, I don't waste votes on anonymous nodes, so consider this your duly earned --, IMHO, if you have nothing to offer or contribute beyone "F those bastards..."

      Grow up. This is a conversation about professional concerns & the fate of one of our bretheren. Don't send him down a road potentially leading to poverty if you're not already setting a viable example.

      And don't go anonymous just because you feel like mouthing off. Bad taste...If you thought your opinion was so important, why not let us know where it's coming from?

      Wait! This isn't a Parachute, this is a Backpack!
Re: Advancing oneself personally and professionally as a programmer (discussion)
by toma (Vicar) on Aug 29, 2001 at 10:40 UTC
    I get to do some perl programming in my job, which is electronic engineering (EE). I like EE because I like to build things, I love math, and I like things that are difficult and complex.

    You can get a good job with a four-year EE degree. Biology-based jobs seem to be doled out to an insider's club of PhDs, while many highly-educated people do an inordinate amount of low-level work. EE isn't like that.

    For the past 20 years I have had assignments that were primarily EE hardware design, embedded system firmware, software design, and system design.

    Currently I am doing hardware system design. Perl programming is a fun part of my job because I can use it to help automate my design tasks. I also use perl to glue together disparate tools, and I invent new tools for my own use. Without pesky users, software is quicker, easier, and much more fun to write! I learned this the hard way when I had an assignment writing commercial CAD software.

    If you are tired of software, avoid pure digital design. It is too much like writing software in a proprietary language with a really lame compiler.

    The most important thing is to find something that you can really enjoy. A hot market in a particular area will not last as long as you would like your career to. There are many reasons not to chase a quick buck. For example, when a job market cools down, you're left to compete with people who are there because they are passionate about their work.

    Right now the EE job market is poor, but it has always been a cyclical business, so I expect that it will come back.

    When I was in school, chemical engineering was *hot*. Oil companies offered high salaries just like dot coms did recently. The whole future of civilization itself revolved around the oil supply! Six years later it was a distant memory. Many hot careers burned brightly for a short time.

    It should work perfectly the first time! - toma

Turn to drugs!
by mugwumpjism (Hermit) on Aug 29, 2001 at 10:57 UTC

    What to do when you're making bags of money, and life's no fun anymore?

    Follow the path of many imminent scientists and artists of our time and investigate the wonderful world of psychedelics. First, check out Erowid and Have a read around until you find the types of experiences that sound like the most fun or most interesting. Read up on that substance (or combination of substances), being on the lookout for book recommendations to arm your mind before engaging in these experiences. Make sure you read Fear and Loathing in Las Vegas.

    Magic Mushrooms are legal in many countries and are a great start. After that, morning glory (LSD) is a great mindbender, and I must recommend entering the K-Hole. But why stop there? There's still Peyote, Datura, Ayahuasca, Amanita Muscaria, Kava, Ibogaine, Salvia Divinorum, and that's before we even start to look at the synthetic breed, or substances found whilst in other dimensions!

      Bah! Most good hackers possess rigid and sadistically logical minds which tolerate poorly the cognitively disorienting effects of strong psychedelics. For talented programmers, powerful psychedelics induce a state of mental nausea.

      Imagine, for instance, knowing that something was wrong with your actual process of reasoning and logic, then realizing that you shouldn't have been capable of coming to that conclusion in the first place if this where so, and furthermore, not comprehending if this where a valid conclusion due to the problem originally stated, and well, you get the idea...

      And besides, dreams are wierd enough, no? The shit that my own twisted mind invents at around 2am is trip enough for me, thankyouverymuch.

      Life's short. Feel good. Stick to E, oxycontin (and its opiate friends), and perhaps meth, if you can handle it...

      Remember kids, just say NO to (soft) drugs.

        That's where you're wrong. The best hackers know, understand and can control non-ordinary states of reality.

        Yes, dreams are very interesting. Did you know that during REM sleep, your body is converting melatonin to DMT, "the most powerful psychedelic known to man"?

        All of the drugs you recommend have a strong addiction potential and definite physiological side effects. Have you actually read anything about them?

      Actually, morning glory seeds don't contain LSD (lysergic acid diethylamide), they contain one of a group of related substances called LSA (lysergic acid amides). Can't tell you what the difference is, personally, but that's why we have hyperreal.
Re: Advancing oneself personally and professionally as a programmer (discussion)
by perigeeV (Hermit) on Aug 29, 2001 at 13:05 UTC
    We are all lucky to have such a forum that you could receive the quality answers given above (well, maybe not mugwumpjism's drug propaganda). Allow me to submit a more holistic viewpoint. You say that you seek new intellectual challenges. A fine path. Your post also seems to suggest what you seek is, perhaps, value.

    Pushing bits and editting .conf files can become a bit pedestrian, no? So you seek a way to push bits that has a more substantial purpose? Again, a fine path.

    Return to college, please. The degree you receive is the least valuable thing you will get there. Find a nice large institution where you may dabble in all aspects of science. And art, literature, music, etc. I submit that you do not know how much you do not know.

    You will change careers many times in your life. That shouldn't frighten you. What should frighten you is choosing a career because it has been "sold" to you by the media.

    A final suggestion. What are you worst at? Painting? Speaking? What have you never tried? Try it.

Re: Advancing oneself personally and professionally as a programmer (discussion)
by OzzyOsbourne (Chaplain) on Aug 29, 2001 at 16:35 UTC

    It doesn't seem like money is the issue, but if you are making $100K at 23, my congratulations. It seems like you are looking more for a challenge than money.

    You could switch into a programming-related field like network administration. It would ease you into a new set of challenges, while allowing you to utilize your current skill set. There is also no upward limit to your progress with the amount of specialties inside networking. And don't forget: Like the kid behind the counter at Burger King, you have all the power.

    Or you can drive a big rig accross country, or run heavy machinery, or work on an oil rig, or charter tours on a boat to Fantasy Island, or be a pilot, or become an electrition, or an FBI agent (they use programming a lot), or a nameless drifter, or a kissing bandit...or a sea, no, a PIRATE! Yea. Wait, no, a Viking! Yea! Oh, with your mighty axe and pilaging horde, work would not seem like work. There are tons of places to plunder. Heck, Vikings haven't attacked the Americas in nearly a thousand years. The field is wide open! You can define your own challenges and salary range. I rue the day when Deprecated becomes Deprecated the Red!

    Sorry, got off track. Opportunity is all around you. There are a million jobs that you can take in a million fields, if pay is not the issue.

    Unfortunately, this may not be enough for you. You seem to be leaning toward the sciences. If you want to be Stephen Hawking, you have to go back to school and get started (although Hawking didn't take a math course past the age of 17).

    Please allow me to impart these 4 points, though:

    1. Life is not your job. It is a means to pay for your life. You can have a very boring job, and do what you really love in your spare time. Einstein worked in a patent office, when coming up with his work.
    2. There is dignity in all work. A carpenter is not less valuable than a scientist. The janitor is not worth less than the CEO. Without either of the two, garbage piles up. So, don't limit your choices of jobs based on what society appears to value.
    3. Education is never a bad thing, but there are many types of education. Formal is not required, but it can be helpful. Sometimes the piece of paper can give you an edge, but informal education can be more rewarding, and should not be neglected.
    4. Don't take advice from OzzyOsbourne. His interests are too wide, and pull him in too many directions at once. He will never really be successful, as barely any of his interests have anything to do with his job. He also thinks that when people ask for advice, they are merely looking for confirmation for the opinions that they already hold. He's nuts.

    Good luck, and sorry for the tirade.


Re: Advancing oneself personally and professionally as a programmer (discussion)
by coreolyn (Parson) on Aug 29, 2001 at 18:04 UTC

    Get the degree! I'm 41 and for many reasons did not finish getting my own. IT wasn't a real option in 78 (unless you found COBAL/FORTRAN appealing). I have survived and know that I can figure a way to keep the money coming in, but what I don't have, no matter how articulate, creative, or acurate I am, is the type of validation that comes from the degree. When I enter into conversation with my peers my opinion is always a little less and never quite as valid. Not because of any lack of perception or intelligence, just simply because I don't have the damn piece of paper. I can monetarily compete, but always from a weaker social position. It may take 20 years but you will regret not getting as much schooling as possible. Your life may take turns that deny you the wonderful pleasure of recieving knowlege in a good environment. Get it while you can as it is one of the few things that can't be taken from you once you have it.

    Sidenote: One big reason I didn't finish my degree was due to indulging in Castenadas philosophy and checking out Shroons, Peyote, LSD, and whatever. While fascinating and makes for adding color to my life it sure the hell wasn't worth the 20 years of uphill climbing I've spent since those days having to prove that I'm a valuable member of society

      (1) Just say NO to drugs. Recent research revealed that evn one-time use of drugs will change chemical reactions of neuro-transmitters. Do not make yourself out of stupid curiosity less resistant to wrong temptations.

      (2) Get a degree, it is a good thing. Anecdotal evidence: my friend in Silicon Valley, smart and expensive IT consultant has PhD degree from Stanford. Nobody ask about the Major - and it is good, because it was Music. He just changed careers. You quite possibly may want to change career, too, and with degree (any degree) it will be easier.

      Also, formal education will give you solid fundament for life-time learning. When you build a house, you start from fundament, right?

      I have nothing against programmers who learned on job (I did it myself for many subjects - when I was in college, structured programming was new thing, and object oriented was rather experimental...), but still it helps to learn it in structured environment, where you think out and discuss all facets of the problem to go behind gut feeling what is good - to have solid understanding what - and why.

      To make errors is human. But to make million errors per second, you need a computer.

      >> One big reason I didn't finish my degree was due to indulging in Castenadas philosophy ...

      I was reading Castaneda books around '78 too and what I remember is advice that Don Juan gives to Carlos (quoting approximately from my memory):

      Don't indulge in self-pity. Drop your self-importance.
      Take full responsibility for everything you do, feel and decide.
      Live every day fully, as if it were your last day on Earth.

      I still think it is a sound advice, so I pass it on. It is somewhat lacking on warmth and generosity, but there are other places for that.

      As for mushrooms, teleporting, mind reading and similar Don Juan's stunts, I did not take these seriously. Did I miss something?


Pure programming & job satisfaction
by petdance (Parson) on Aug 29, 2001 at 18:10 UTC
    It seems that there are limited opportunities for advancement as a pure programmer. It also seems that there are opportunities to be a programmer out there that are actually facets of lucrative, challenging careers.

    On "pure programming": Yes, there's only so far you can go as just a programmer. If all you know is programming, eventually you'll be replaced by some snot-nosed kid fresh outta college (or high school, for that matter).

    The wise programmer will learn as much as he can about the business he's in, over and above the coding aspects. Maybe he writes code for a gravel company, so he learns everything he can about gravel, the gravel business, and so on. The programmer who knows business, and the specific business he's in, is far more valuable to his employer than the pure code jockey. He probably also cares about and enjoys his job more than the guy who walks through his career with blinders.

    On what makes me happy: The key for me is to be happy in what I'm doing, and why I'm doing it. I spent 10 years working for Follett Software Company, a company that makes software for school libraries. It was very rewarding, but I wanted a change. So I went to a financial services company that traded options and derivatives. My job was basically "Help rich guys make more money using the web." I lasted two months. So I came back and got a job for sister company Follett Library Resources, where I'm working on a website that helps school librarians select & buy books. It pays about 20% less than the financial company, but I'm happier than I've ever been.

    I see that job at the financial company as a blip in my history. If it weren't for the excellent learning experience, I'd be embarrassed. I don't even list it on my resume.

    My point is really that I have to be able to come home at the end of the day and say "I feel good about what I did today". Perhaps the same is true for you.

    <megaphone> Throw down the gun and tiara and come out of the float! </megaphone>

Re: Advancing oneself personally and professionally as a programmer (discussion)
by gregor42 (Parson) on Aug 29, 2001 at 18:11 UTC

    I am currently 31. I have been in your position & I understand completely what you are dealing with. It would seem that you have hit that plateau where your miopic focus on Perl programming has become a path of diminishing returns.

    Now I will point out to you that I believe that you are incorrect thinking that you are at the 'top' of your field, and that there are no programmers who make serious moola. There are many programmers I am personally aware of that make upward to $200k/yr. by coding alone. However, in order to do that you need to go back to school & finish up. Remember, the business world doesn't push programmers. Academia does, which I believe is why a lot of us come to this site, to push ourselves & try to learn more.

    (BTW most of those guys came out of MIT)

    I want to point out to you something else also that you're blatantly overlooking: Management

    Now I know that you specifically said that you don't want to go that route. I want to ask you to ask yourself: why? I'm going to point this out to you because it's a mental block, not a real problem, as I came to realize.

    By getting involved with management you do not need to stop programming. In fact, you can do MORE. I took a position of Manager of Web Development & had 3 Perl coders working for me, maintaining a financial information web site for 100,000+ unique users/month.

    I took this position & then realized that I was still doing the same work, but had helping hands to dole out the grunt work to. I took on the meat of any assignment. Call me a micromanager if you will, but I would keep what I perceived as the most difficult parts of the project for myself to do. I did this because I was worried that I wouldn't hit my deadlines & found it easier to ask myself to work harder than it was to ask others to do so.

    So what I'm saying here is that in programmer circles, you can be a manager & lead by example.

    I have since gone the track of Director of Web Engineering, and then finally, after a LOT of VERY HARD work, I became a Corporate Technology Officer.

    In these capacities I have served as every single person operating under me in times of need. Having gone the route of coming up from a lowly tech in the first place I had the experience & know how to get things done. This meant occasionally doing desktop support when the normal guy was out sick & the CEO has a virus on her laptop, and acting as the primary Software Architect. I was able to flex my tech-saavy every minute of every day. I can say that I found the experience extremely rewarding, both mentally and money-wise.

    Unfortunately my wife passed away & I needed to give up the position after several months to deal with personal issues. But now I am a consultant, which is the best of both worlds. I get paid hourly equally for sitting & writing code or sitting & talking to/teaching people.

    My advice to you is this: You are not at the end of the road, you are at the beginning.

    Also, don't base your expectations of salary on national surveys or even local ones. Base it on how Good you are. What do you deserve? Look at the benchmark & judge yourself against the mean. You claim to be at the top of your field, so take the highest salary you find & double it. Then negotiate yourself downwards.

    Also, get yourself a placement agent. A real one. A honest to God headhunter is a good thing working on your side too. These people are paid on a percentage of the salary you will be making. It is in their best interests to get you as much as you're worth, if not more. Tell them exactly what you want & don't let them waste your time sending you on pointless interviews. Only do the ones YOU WANT.

    I will point out to you also that you are much farther along in a university education than I am. I don't have a single college credit. I went directly to work after school. Oh sure I have 2 dozen certifications from this company or that company, but I got those along the way.

    I didn't go to school at all because at the time I would have been going they were teaching COBOL & FORTRAN where I saw that all of the new software being release was written in C. It seemed like a great waste of time & money at that time. Of course it's never too late & I could probably still learn a lot now.

    Broaden your perspective. The best thing we all have going for us is that we can get jobs ANYWHERE. If you feel like moving too, then find a place that you like, that's cheap to live in & go get a monster salary to go with it.

    Good Luck!

    Wait! This isn't a Parachute, this is a Backpack!
Advancing oneself in life. (Don't pigeonhole yourself!)
by dragonchild (Archbishop) on Aug 29, 2001 at 18:37 UTC
    Programming isn't a end in and of itself. Every single programming assignment you've ever done has been for a purpose, and usually it's a business purpose. Now, I could generalize and say that all my programming has also been on medium-sized tools/apps, but that's the type of programming. The actual job itself was always a business project.

    What does that mean? It means that programming isn't an end-goal. Yes, I know we all talk about artistic programming and good programming style and the like. And, that's very important, because what we bring to the table for a given project is the construction part of it. We're essentially the carpenters and brickmasons of the Information Age. And, carpenters do take a great deal of pride in their work.

    However, I would be willing to bet that most carpenters don't really define their complete self as "carpenter". I know that I don't think of carpentry as a career, though it certainly could be, I suppose. The question is why would you, a byte carpenter, define yourself as that, and only that?

    When I graduated from college at 23, I made a decision that I would not be programming for more than 10 years. Preferably, I would be in a completely new field by the time I was 30. What the field could be ... I have no clue. I have a huge number of interests that I'd love to pursue:

    • Mathematics / AI theory
    • Linguistics
    • Philosophy (of Religion, Ethics, Social Behavior, etc)
    • Social Work/Counseling
    • Teaching
    • Massage Therapy/Homeopathy (as a practitioner)
    • Full-time parenting
    • Literary Writing
    • Game design (Board games and RPGs, ie - non-computer games)
    And, that's just a very abbreviated list. Could you come up with a list like that? And, if you look carefully, you'll notice that every single one of those career choices could involve programming. It may not be the focus of that career choice, but I can still use the skills I've learned. Maybe I don't even touch a keyboard, but the organizational skills, the problem-solving skills, and the capability of decomposing a problem are all very important skills I learned as a programmer. This is one of the very few professions that emphasizes on-the-fly problem-solving as one of its primary attributes. (The only other one I can think of is military special forces.)

    Instead of focusing on programming, look at what you want to do with your life. I've been in the job market for 2 1/2 years and my desire to switch careers in 5 years hasn't changed all that much. It's not a dislike of programming, but an intense desire to experience more than just a cathode-ray tube under fluorescent lighting for the rest of my life. And, my fiancee supports my desire to do so (especially as she wants to switch into programming). Depending on how we can support the kids ... who knows?

    /me wants to be the brightest bulb in the chandelier!

    Vote paco for President!

Re: Advancing oneself personally and professionally as a programmer (discussion)
by FoxtrotUniform (Prior) on Aug 29, 2001 at 20:01 UTC

    Now, granted, I'm neither a seasoned programmer (especially by your definition :-) nor a scientist, but...

    How about something completely different, like emergency medicine? Around here (AB, Canada), a basic EMS certification takes about two months of training, IIRC. If you like it, cool; if you don't, it's hardly a big waste of time, and you come out with plenty of useful knowledge.

    And to bring this post back on topic, you might find that programming becomes more fun when it's not your Real Job.

      It's funny, I also thought about Emergency Medicine about third area (after programming and military) where you need to solve real problems quick for living. So try it, if you are inclined.
      Another area is Daytrading or DayGambling, but now is obvious why to avoid it... ;-)

      If money are not an issue, and you want to feel good what you are doing, you may want to help some non-profit organization. I can tell you, it's very rewarding...

      To make errors is human. But to make million errors per second, you need a computer.

Re: Advancing oneself personally and professionally as a programmer (discussion)
by cadfael (Friar) on Aug 29, 2001 at 20:19 UTC
    Where does one begin?

    I am 49, with a M.S in zoology and about 23 years of computing experience beginning with an Apple 2+.

    After several years of teaching at the 4 year college level, I found myself involved in a genetics research laboratory. Since I was one of the few who was computer literate at the time, it fell to me to program record keeping applications.

    As this evolved into a large, well-funded project, I was asked to set up a Unix network and a relational database server to handle the increased data that were flowing into our flat-file database. Years later I am still with the same research group with enhanced responsibilities and a comfortable salary.

    Some factors that made all this possible:

    • Money is far less important to me than where my 9-year-old son lives and goes to school. Having said that, I never turn down a raise... And my salary is quite adequate, thank-you.
    • I have pushed the edges of my capabilities many times, but the "Peter Principle" has not claimed me as a victim.
    • I have grown in my abilities, and am able to provide support to others in similar situations.
    • I discovered Perl 5 in 1994, and have never looked back.
    • I gratefully accept advice, collaboration, and the sense of community provided by such groups as Perl Monks
    Bottom line: Pick a field you like and work you enjoy and make a career of it. Don't let your job dominate your life. There IS a life outside of work. Soak up all the knowledge you can. Pass it on to others.

    "Computeri non cogitant, ergo non sunt"

Re: Advancing oneself personally and professionally as a programmer (discussion)
by robsv (Curate) on Aug 29, 2001 at 21:07 UTC
    brother dep,
    Like pmas, I got into bioinformatics "backwards" - from the comp. sci. end of things. It's been a helluva ride so far, and it's only getting better. MadraghRua has got a great list of references for you to start with, but I'd like to add some web-based resources you might find useful: A lot of the bio-related Perl modules are no longer on CPAN - you can find a comprehensive set of bioinformatics tools at On their page, they also provide links to the "other" bio* projects: bioxml, biojava, and biocorba.

    Good luck!

    - robsv
Re: Advancing oneself personally and professionally as a programmer (discussion)
by dmmiller2k (Chaplain) on Aug 30, 2001 at 01:32 UTC

    I was astounded, reading your post, how amazingly similar your background is to mine. What amazed me even more is that such an experience as mine could be duplicated seventeen years later (I'm 40). After all, I went through it during the "bad, old days" before there was much in the way of formalized programming discipline.

    I, too, majored in Engineering (in my case, Electrical), and, like you, eschewed finishing school in favor of making money; to wit, I was working as a Junior Electrical Engineer when I discovered programming and quit my engineering job (and degree program) to take a job doing just that. My first job? Writing 6502 assembly language for Apple ][, Commodore 64, and Atari machines. Eventually, this led to Pascal, then C, then Windows (version 1.04!), and the rest.

    Another similarity: I have been a contract programmer for most of this time (fourteen years now), except for one or two dry spells when I had to take full-time jobs just to work.

    This is rather a long-winded lead-in to my point, which is that every couple of years or so, I find myself with exactly the same dilemma as you've described. I feel that there is nothing new compelling enough to get involved in. And every time this happens (poof!), something comes along which brings back the excitement of learning again.

    As a result, I've (so far) been able to remain pretty much a pure programmer. I attribute this, in part, to a combination of luck and perhaps instincts in choosing which technologies to focus on (know any successful IBM OS/2 programmers? Amiga? Gupta SQL Windows? Not many, I'd wager).

    Several years ago, as a so-called C++ "expert" (mainly in Windows-based systems), I had an opportunity to start working with perl. A long-time "structured" programming proponent, I found perl to be a bit quirky and idiosyncratic (unlike now, where I know it is entirely quirky and idiosyncratic -- I love those quirks and idiosyncracies -- but I digress), but I was able to become reasonably handy with it.

    At the time, the only place to go with C++ on Windows was to delve into COM (then called OLE2).

    I was trying to decide whether the potential returns of programming COM seemed to justify devoting my energies for the next two years, when Java started appearing on the scene, to much media hoopla.

    I agonized over the OLE <=> Java decision for the better part of a year before I realized that I was really enjoying programming in perl. Perl 5 had just started taking hold and it offered enough of an improvement in readability over its predecessor that its utility seemed to jump by an order of magnitude or so in comparison. So, I did an end-run around the COM-Java decision and started looking for perl work.

    Lo and behold! Suddenly, almost everywhere I looked were potential clients who needed perl expertise comingled with C++ and database. Of course, if you've worked with perl with databases (Sybase, DBI, etc) for any length of time, you know that perl only makes it easier to manipulate data, so I found myself becoming pretty handy in Sybase too (not Oracle, you say? The NYC financial community exists in its own little world).

    My point is that every couple of years some new (or not so new) paradigm takes hold and makes life as a programmer interesting (for me) again. Perhaps the trick is finding something you actually like doing in the meantime, so you can ride it out.


    Just call me the Anti-Gates ...
Re: Advancing oneself personally and professionally as a programmer (discussion)
by fmogavero (Monk) on Aug 30, 2001 at 19:37 UTC
    Brother dep,

    You have reached a place that is difficult to inhabit. It's what I call the "What do you want to be when you grow up?" place.

    If you are 23, making good bucks as a programmer and don't think you have any farther to climb, then you are ready for a little groundbreaking.

    IMHO what I think may be helpful to you is to find out what you LOVE and do it. I love to make music. How do I know I love to make music? I forget about things. Things like going to the bathroom, eating and sleeping. I love playing (use that term loosely please)with computers.

    look here please

    I still don't know what I want to be when I grow up. I have been a network administrator. A developer. A QA analyst. A phone tech support drone. A repair tech. An assembler in a computer factory.(ZEOS) I don't regret a minute of it because it was computers. The greatest tool that man has ever invented. The thing that will make the paradigm "Do more by doing less" a reality. I just love computers!

    My computer at home is a digital studio where I create masterpieces of music. I love computers AND music!

    I don't know what the future holds for me, but I am excited by that mystery.

    Maybe YOU can help ME. Should I compose all of my music on the computer and distribute it solely over the Internet? Should I press CD's of my masterpieces and let them rot in my basement? Should I try to find all the combinations of notes and copyright them all? Should I go to a maintenance company and become a janitor?

    1. What fires up your soul to change mankind?
    2. What inspires you?
    3. What makes you forget about going to the bathroom, eating and sleeping?

    If you do what you love the money will follow! However in the meantime you may have children to feed or a house to pay for or some other financial obligations. What can you do that is tolerable?

    Just like a development project a plan is neccessary. Have you thought about what you want and how you intend to get it? Have you prioritized your life?

    All the questions I ask are because there is only one person responsible for you, and that is you.

    I hope that this rant has sparked a different viewpoint from which to solve your problem.

    Good luck Amigo!

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: perlmeditation [id://108582]
Approved by root
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others rifling through the Monastery: (15)
As of 2014-04-18 11:45 GMT
Find Nodes?
    Voting Booth?

    April first is:

    Results (466 votes), past polls