Slashdot Mirror


Ask Slashdot: What Do You Wish You'd Known Starting Out As a Programmer?

snydeq writes: Most of us gave little thought to the "career" aspect of programming when starting out, but here we are, battle-hardened by hard-learned lessons, slouching our way through decades at the console, wishing perhaps that we had recognized the long road ahead when we started. What advice might we give to our younger self, or to younger selves coming to programming just now? Andrew C. Oliver offers several insights he gave little thought to when first coding: "Back then, I simply loved to code and could have cared less about my 'career' or about playing well with others. I could have saved myself a ton of trouble if I'd just followed a few simple practices." What are yours?

548 comments

  1. What to know by amicusNYCL · · Score: 5, Funny

    What Do You Wish You'd Known Starting Out As a Programmer?

    How to program, I guess.

    --
    "Our two-party system is like a bowl of shit looking at itself in a mirror." - Lewis Black
    1. Re:What to know by Anonymous Coward · · Score: 1

      How to program *properly*, I guess

    2. Re:What to know by Anonymous Coward · · Score: 0

      starting out i'd settle for at all
      properly comes with experience, just being fluent in the syntax would get most people past the more tedious and frustrating part of getting started.

    3. Re:What to know by Anonymous Coward · · Score: 1

      What Do You Wish You'd Known Starting Out As a Programmer?

      Precisely when the .net bubble was going to pop, and also that big stock market crash at the end of the Bush area. I could have cleaned up if I could have known about those, for sure, in advance.

    4. Re:What to know by FearTheDonut · · Score: 1

      I didn't realize the .NET bubble popped. In the mid-atlantic area, there are a lot of people looking for SEASONED .NET Developers, commanding 6 figure salaries. I know the start-up community shies away from .NET (which is an understatement), but the corporate world has a lot of use for .NET, and appears to do so for the time being.


      Your mileage may vary.

    5. Re:What to know by Anonymous Coward · · Score: 0

      Selective brain damage to remove that like and instead learn something that actually makes ME money.

    6. Re:What to know by Wootery · · Score: 1

      Does that really count as a popped bubble?

    7. Re:What to know by cytg.net · · Score: 1

      Community. I knew plenty others with vic-20's and above but I was the only one programming it. I wish I had a community to share code and ideas with. Didnt really get that until 10-15 years later.

    8. Re:What to know by ObsessiveMathsFreak · · Score: 4, Insightful

      Your outdated "value-adding" "service provding" skills are so 20th century. 21st century careerism is about networking. Networking. Networking. Netowrking.

      Look at item number one on TFAs list.

      1. Take names. ...

      In five to 10 years, that will all be different and the person who you ignored because they were boring and couldn't help you will be the person who could have won you an important opportunity.

      Network! Impress people! Dress right! Booze people up! This is how successful companies are made. You will not attract the rright venture capital with your simple abilities. Most companies won't even use those anyway.

      2. Problem solving. .....

      Problem solving is essentially the same thing you learned in abstract in seventh or eighth grade or whenever you learned simple algebra.

      See! Look at this! The people this guy is writing for don't even know how to solve problems. They just code stuff nobody really needs -- and they're still successful! You think your ability to analyse and abstract is something all the cool kids will pay for? Think again. Your geek/nerd/hipster/bro-grammer cred wil matter far more.

      6. Work more than 40 hours per week.

      Profession? You think programming is a profession. Get back on that hamster wheel and like it code monkey. And get some hair dye. First sign of a grey hair or stress line from yellow packs like you and we sack you and hire a fresh young grad to suck into a husk.

      5. Think in terms of a career, not a series of jobs.

      Translation: "You can either join the fed-money, app-cloud bullshit wagon, or you can learn to love foodstamp lines. Either way, it'll still be a superior outcome to any science-fiction fantasy you imagined programmers were capable of making in a rational universe. The Market wants fart-buttons, not robots, so drink the kool-aid or join the lowest caste of contract workers you, you, you..... Loser."

      No wonder so many programmers go into management.

      --
      May the Maths Be with you!
    9. Re:What to know by Anonymous Coward · · Score: 0

      Yeah, had I know the following I'd be retired right now...

      dot-com bubble in March 2000

      Sept 11, 2001

      financial crisis due to sub-prime bank crap in Sept 2008

      worst intra-day point loss for the Dow - May 6 2010 (actually just knowing this one I could have shorted my way to retirement)

      Oh, just a nit....there was no "crash" in the Bush era, it was an extended Bear market. The difference has to do with daily losses vs 2+ month downturns....

    10. Re: What to know by moosehooey · · Score: 1

      I don't know about the .net thing, but by having a buy, hold, and rebalance portfolio strategy, I was anole to profit from it even without knowing about it in advance.

    11. Re: What to know by VTI9600 · · Score: 1

      Ah yes, because you were a hedge fund manager as a kid, right?

      Regardless of what you think you "know" about the markets, it takes lots of cold, hard cash to actually make money off of it.

    12. Re:What to know by Anonymous Coward · · Score: 0

      I wish I'd had more math, which leads me to wish I'd had some decent math teachers who could have put math into a context that related it to the real world well enough so I could see it was a tool, rather than just a pain in my rear.

      I had to catch up on it later, without an instructor, on the fly and while working, and that was a very rough time indeed.

      --fyngyrz

      posting anon because of mod points and stupid /. restrictions

    13. Re:What to know by Anonymous Coward · · Score: 0
      Really?

      I'd settle for knowing the winning numbers of a multi-million dollar lottery so I wouldn't have to go through the dreary process of coding for a living.

    14. Re:What to know by DamnOregonian · · Score: 2

      Fuck, that was heart breaking to read.

    15. Re: What to know by Anonymous Coward · · Score: 0

      I am in infrastructure. I like IT but I do sometimes think I'm more of a developer in my love for complex, larger projects to sink my teeth into as opposed to break/fix servers all day and have considered switching. Am I foolish?

    16. Re: What to know by Paradise+Pete · · Score: 1
      I knew one very talented programmer in the 90's who was taking every short-term consulting job he could find. There was a shortage of talent and he had built a great reputation for reliability, so he often took on several jobs at once and was good enough to get them done properly and on time. He commanded crazy-high rates and sunk everything he made into the markets.

      Then one day in late 1999 he said "You know what? I have enough." He cashed out everything and retired at 39. He readily admits there was no foresight in it, he just got lucky and cashed out at the top.

    17. Re:What to know by Grishnakh · · Score: 1

      >In the mid-atlantic area, there are a lot of people looking for SEASONED .NET Developers, commanding 6 figure salaries.

      Yeah, but then you have to live in the DC area. Who the hell wants to live there?

  2. get more involved in open source contributing by jjn1056 · · Score: 4, Insightful

    I think the main thing I'd change is I wish I had started becoming active in the open source community around the tools I commonly use. I spent the first 10 years of my career mostly working on my own, or with a few people on the job and was not connected at all with the greater community. I think if I had done so earlier I'd be a better programmer today

    --
    Peace, or Not?
    1. Re:get more involved in open source contributing by Jason+Levine · · Score: 1

      I was the same way. When I started out in web developement, I'd stubbornly insist on building everything myself from scratch. Of course, this meant I was putting a ton of extra effort into each project when I could have been using pre-written components to speed up my development. In addition, my custom code was trickier to support. (Pre-written components from other sources that have hundreds of eyes looking at can be debugged a lot easier than custom code that has one or two pairs of eyes looking at it.) Not that pre-written is always the answer, but they should be considered, not dismissed out of hand.

      --
      My sci-fi novel, Ghost Thief, is now available from Amazon.com.
  3. C++ is not the language you start with by Anonymous Coward · · Score: 4, Insightful

    On my CS track, you start with C++, learn data structures and algorithms, and then learn assembly on a 68k.

    I can't think of a better way to discourage someone from learning how to code.

    1. Re:C++ is not the language you start with by Lilith's+Heart-shape · · Score: 5, Funny

      Going by my wife's experience, I can suggest a better way to discourage somebody from learning to code. It's called Java.

    2. Re:C++ is not the language you start with by gnupun · · Score: 1, Offtopic

      Python, or even BASIC, are better than C/C++ for beginners.

    3. Re:C++ is not the language you start with by Anonymous Coward · · Score: 0

      If you can't figure it out, you're a mere loser who has no business programming. You should be able to learn any programming language. We don't need more mediocre programmers who don't understand what's happening in the background, or people who can't handle C++ or assembly from the very beginning.

    4. Re:C++ is not the language you start with by ArcadeMan · · Score: 4, Funny

      Assembly on a 68000 is easy. In my days, we had to build our own opcodes from rocks, uphill, in the middle of winter. Good thing we had onions on our belt though, because that was the "in" thing back in the olden days. ...what was I talking about?

    5. Re:C++ is not the language you start with by Lilith's+Heart-shape · · Score: 2

      Sure we do. Do you want to code shitty social apps that separate fools from their personal data?

    6. Re:C++ is not the language you start with by Anonymous Coward · · Score: 2, Informative

      C is a very fine first language. I started with BASIC on C64.

    7. Re:C++ is not the language you start with by Skidborg · · Score: 1

      That kind of psychotic elitism isn't helpful in any field. Imagine if doctors were trained with that philosophy. "You better buckle down and jump straight into brain surgery. Only losers learn how to deal with scraped knees and basic principles of infection prevention first."

      --
      Supporter of the +1 Over Dramatic mod option. In memory of apk.
    8. Re:C++ is not the language you start with by Anonymous Coward · · Score: 0

      The problem with C is that people are just tought C. It's completely different when you combine it with GLib/GObject. Java OO, native speed.

    9. Re:C++ is not the language you start with by Spazmania · · Score: 1

      Python is a terrible choice for learning. C++ is not a great choice either. You want a learning language to be highly structured so that you're pushed away from sloppy programming practices that less structured languages allow.

      Pascal was a good choice of learning language. Now that OOP has proven out, Java is a good choice. Stay away from the rest until you're competent in one of those two. Like Picasso said: Learn the rules like a pro, so you can break them like an artist.

      --
      Moderating "-1, Disagree" is simple censorship. Have the guts to post your opinion.
    10. Re:C++ is not the language you start with by NotDrWho · · Score: 1

      You spoiled kids. In MY day we had to make out own bits and logic gates out of Neanderthal bones!

      --
      SJW's don't eliminate discrimination. They just expropriate it for themselves.
    11. Re:C++ is not the language you start with by mariox19 · · Score: 1

      Actually, from everything I can gather, medical school is damn hard to begin with—and you only get to experience that after getting in to medical school, which, from everything I can gather, is damn hard to get into.

      --

      quiquid id est, timeo puellas et oscula dantes.

    12. Re:C++ is not the language you start with by plopez · · Score: 1

      Why should we encourage people to code? Is it always a good thing to do so?

      --
      putting the 'B' in LGBTQ+
    13. Re:C++ is not the language you start with by Assmasher · · Score: 1

      That's like saying that the way to learn how to swim is to dump everyone in deep water and see who takes to it naturally...

      --
      Loading...
    14. Re:C++ is not the language you start with by plopez · · Score: 3, Informative

      If I get paid for it.

      --
      putting the 'B' in LGBTQ+
    15. Re:C++ is not the language you start with by zieroh · · Score: 1

      That's like saying that the way to learn how to swim is to dump everyone in deep water and see who takes to it naturally...

      Agreed. That's an apt analogy. Except -- speaking as someone who has had a long career as a programmer and is now a hiring manager -- I think that's a good thing.

      --
      People who say "sheeple" have about as much sophistication as an AOL user, and in fact are probably actually AOL users.
    16. Re: C++ is not the language you start with by Anonymous Coward · · Score: 0

      Bingo. C, where half the functions are macros, tracking down libraries is part of the fun, and some projects don't have a main(), because that part Is written in assembly to bootstrap the whole thing.

    17. Re:C++ is not the language you start with by Wootery · · Score: 1

      Really? You'd rather teach this pile of macros than Java?

      The boilerplate's so bad they built Vala, a whole new C#-like programming language, to escape it.

      If there's a good reason they didn't just go with C++, I'd be interested in hearing it.

      That whole thing about 'necessary complexity'...

    18. Re:C++ is not the language you start with by rthille · · Score: 1

      You had bits? Back when I started, zero hadn't been invented yet, so we just had to pile up stacks of 1s in unary!

      --
      Awesome furniture, accessories and cabinetry in Santa Rosa, CA: http://humanity-home.com/
    19. Re:C++ is not the language you start with by Assmasher · · Score: 1

      You cynical old bastard ;).

      I know what you mean though. It is incredibly difficult to assess the valuable from the detritus.

      --
      Loading...
    20. Re:C++ is not the language you start with by mwvdlee · · Score: 1

      Exactly.
      First learn assembly.
      Only then, when you understand what a computer actually does, move onto to gradually higher level languages.
      Until you finally end up with a popular language like Java or C# and can still understand what's going on instead of simply rote learning APIs.

      --
      Slashdot social media options: AIM, ICQ, Yahoo, Jabber and Mobile Text. Why no MySpace?
    21. Re:C++ is not the language you start with by Tablizer · · Score: 1

      We still use Neanderthal bones...to pound Windows 8.1.

    22. Re:C++ is not the language you start with by Skidborg · · Score: 1

      Medical school is still just an incremental learning experience based on things learned previously. In fact, you will /never/ get into medical school without building on a solid base of existing elementary and high school knowledge.

      --
      Supporter of the +1 Over Dramatic mod option. In memory of apk.
    23. Re:C++ is not the language you start with by Rinikusu · · Score: 1
      --
      If you were me, you'd be good lookin'. - six string samurai
    24. Re:C++ is not the language you start with by awshidahak · · Score: 1

      Ah yes. I also have heard of Minecraft.

    25. Re:C++ is not the language you start with by Anonymous Coward · · Score: 0

      Yep, I rather teach them that pile of macros rather than Java. It's not that complicated after all and it teaches you how object orientation really works. You can play around in Java and have no idea what a virtual method is, with GObject it's going to be obvious because you can see how it's all implemented.

    26. Re:C++ is not the language you start with by Anonymous Coward · · Score: 1

      The first hint it sucked was:

      system.io.outputManager.output.printManager.print("Hello Bloated World!"):

    27. Re:C++ is not the language you start with by Darinbob · · Score: 1

      BASIC is a bad choice for beginners. Either early style BASIC or the newer Visual thing. Too many bad habits can be formed. Beginners need a language with more strtucture and discipline.

    28. Re:C++ is not the language you start with by Anonymous Coward · · Score: 0

      huaehuaehuaeuheahae

      Java is great as a first language. My CS curriculum started out with that, then later courses added C++, Prolog and Haskell.

      Most practical work was done in Java or C++.

    29. Re:C++ is not the language you start with by Actually,+I+do+RTFA · · Score: 4, Insightful

      Pascal was a good choice of learning language. Now that OOP has proven out, Java is a good choice. Stay away from the rest until you're competent in one of those two.

      If you don't start out dealing with hand-managed memory, you don't learn how memory works. Which means you do stupid shit later.

      --
      Your ad here. Ask me how!
    30. Re:C++ is not the language you start with by CosaNostra+Pizza+Inc · · Score: 1

      Um, why? I don't find it difficult. It may not be the best language to start out with if you are in high school and want to learn object oriented programming but it is easier than say...C++. It has garbage collection, the JVM compiler is mature, its multi-platform, it has libraries and frameworks for whatever you need and its prolific in the enterprise space. Also, its used in Android applications (in addition to C). Java is not going away any time soon.

    31. Re:C++ is not the language you start with by lgw · · Score: 1

      Nah,
      First learn assembly, so you know how a computer works
      Then learn Scheme and the lambda calculus, so you know what a computer does

      Really, though, the most important thing to move past "coding for fun" is to completely grok the call stack, pointers, recursion, and lambda. You should have no fear, uncertainty, or doubt about these foundations, or you'll write ugly hacks where none are needed, or be unable to properly debug.

      --
      Socialism: a lie told by totalitarians and believed by fools.
    32. Re:C++ is not the language you start with by david_thornley · · Score: 1

      Depends. C++, properly taught, isn't a bad beginners' language. However, as far as I can see, it's not usually properly taught.

      If you're going to concentrate on the C aspects, and use C-style strings and arrays and such, teach C. Don't encourage people to use such things in C++.

      --
      "When you have eliminated the unacceptable, whatever is left, however improbable, must be the truthiness" - Holmes
    33. Re:C++ is not the language you start with by david_thornley · · Score: 1

      There's one thing C# has that C++ doesn't: easy parsing. That leads to a lot of good things.

      Not that I want to use C# when I can use C++, but that's me.

      --
      "When you have eliminated the unacceptable, whatever is left, however improbable, must be the truthiness" - Holmes
    34. Re:C++ is not the language you start with by tompaulco · · Score: 1

      I learned Fortran, then Pascal, then C, then 68000, then 6802. Well, in school anyway. I had already learned Basic when I was in 5th grade at home. When I first started working with C++, I was lost and confused and couldn't figure it out.
      I went into Java with some trepidation, owing to my previous experience with C++ as an OOL. However, the OO model in Java was so much easier to understand that after having learned Java, I was able to go back to C++ and this time around it made sense.

      --
      If you are not allowed to question your government then the government has answered your question.
    35. Re:C++ is not the language you start with by Wootery · · Score: 1

      And compile-once-run-anywhere, and garbage-collection, and memory-safety...

      But yes, they certainly both have their pros and cons.

    36. Re:C++ is not the language you start with by cerberusti · · Score: 1

      Why would you try to use some random macro library to get objects in C?

      Use C++ if you want objects, or make your own custom and perfect for your task objects with structures (and maybe some functions pointers.)

      --
      I'm a signature virus. Please copy me to your signature so I can replicate.
    37. Re:C++ is not the language you start with by Wootery · · Score: 1

      GObject has the advantage that it's what GTK/Gnome use, and it's what Vala compiles to, so it's not quite a 'random macro library'. Also, it does the tedious work for you.

      As crazy and awful as it is, there are advantages to using C. Small, simple language, easier to parse/analyse/compile/build an IDE for, etc.

      I'm not sure how portable GObject is, though - if it's easy to use outside the Unix/autotools world. For instance, my understanding is that GTK on Windows is a 'go and install mingw' affair - how simple it is to use Visual Studio instead, I don't know.

    38. Re:C++ is not the language you start with by Wootery · · Score: 1

      But it wraps it away in macros. That's the whole point. I agree that it might be a good way to learn OOP to first learn C and then learn vtables etc, but I imagine you'd be best off having the student develop such a system themselves, not have them dig through GObject's implementation.

    39. Re:C++ is not the language you start with by Spazmania · · Score: 3, Insightful

      I disagree. Learn how to program in a well structured manner that other programmers have some hope of following when they read your code. THEN learn how to juggle memory while programming in a structured manner.

      If you haven't written code in C and assembly, you're not yet a computer scientist. But don't start there! Learn addition and subtraction before you learn algebra and learn Java or another learning language before you learn C.

      --
      Moderating "-1, Disagree" is simple censorship. Have the guts to post your opinion.
    40. Re:C++ is not the language you start with by thieh · · Score: 1

      Java the beverage doesn't seem to discourage people by much. Or are people addicted to it to the point that they can't open their eyes without it?

    41. Re:C++ is not the language you start with by Anonymous Coward · · Score: 0

      >I can't think of a better way to discourage someone from learning how to code.

      I can. COBOL programming using an editor like EDLINE on a Cyber mainframe :(. Or, any programming language using punch cards. Yes, I old ... get over it!

    42. Re:C++ is not the language you start with by Anonymous Coward · · Score: 0

      you lucky bastard I got Cobol then Pascal

    43. Re:C++ is not the language you start with by Anonymous Coward · · Score: 0

      Ha in my class you had to build your own op codes from Pico codes and the electrical engineers still laughed at us because they had to build them from signals on the bare wire

    44. Re:C++ is not the language you start with by Anonymous Coward · · Score: 0

      And yet most doctors are barely competent and no smarter than the brighter people who hang out
      on Slashdot.

      Medical school and all that comes before it which allows someone to get a medical degree proves one
      thing above all else, and that is the ability to absorb and regurgitate large amounts of information. Honestly,
      you are a fool to trust your life to most doctors.

      By the way I AM a doctor and have been in practice for 37 years. I've seen a lot and I can tell you that the field
      of medicine is no different from any other field : the majority of practitioners are not very good and they are in it
      for the money, just as with lawyers, pilots, or engineers.

    45. Re:C++ is not the language you start with by Anonymous Coward · · Score: 0

      Assembler first, so you know what is actually going on, understand stacks intuitively, alltogether so you develop a mental map that will sucessfully relate the MLL or HLL to the real job being done.

      Then c, because it's easy to relate that to assembler. I'd say forth, as it is *very* close to assembler, but forth is sadly quite opaque in its syntax.

      Then Python, making sure to teach not only the vanilla stuff, but the class and object end of things.

      After that, anything you like. Except Java. Because java sucks like a pump that could pull an overfed elephant through a mostly-plugged garden hose.

      --fyngyrz

      Posting anon due to stupid, unnecessary slashdot restrictions on moderators. Alas, I have mod points.

    46. Re:C++ is not the language you start with by Anonymous Coward · · Score: 0

      Python, or even BASIC, are better than C/C++ for beginners.

      What do you mean "even BASIC?" Most of us began programming because BASIC was readily available on our 8-bit personal computers during the 1970s and 1980s. Even as late as 2001 I was developing programmes in BASIC, not Microsoft Visual BASIC but Microsoft QBasic, that were used for collecting configuration information about Microsoft Windows Operating System running on servers and workstations, as audit tools for network configuration, and even data analysis. These days I would recommend beginning programmers (hobbyists) learn Python as a first programming language. Python us far from perfect especially it's inconsistent semantics w.r.t. procedural programming and object-oriented programming. Some things which should be implemented as object-oriented programming constructs are instead done in the procedural manner. Guido has an opportunity when releasing Python 2.0 to address all the inconsistencies, instead he apparently "was too important for such minor details."

    47. Re:C++ is not the language you start with by Anonymous Coward · · Score: 0

      Leaving a college CS track and learning to program on one's own can be the best damn way to do it.

    48. Re:C++ is not the language you start with by Anonymous Coward · · Score: 0

      You don't have to bring in new languages. He should just have switched it around, 68k-assembly is one of the best languages there is to start out with.

      Unlike most high level languages out there assembly doesn't have obscure syntax for using pointers or whatnot and unlike some other CPU's the 68k doesn't have a bunch of large obscure instructions with strange side effects.
      Add to that a healthy amount of equivalent registers to use and support for pretty much every addressing mode on every instruction there are very few things on the 68k that can bite a beginner.

      The only thing I can think of that might require extra explanation is that the topmost address register is used as a stack pointer so any subroutine jump will need it to be intact. Most assemblers allows to use either sp or a7 as a symbol for it so as long as you decide that a7 doesn't exist and sp is the stack pointer you should be fine.

      The main benefit I see with starting out with assembly is that you will never have problems with pointers. The reason so many programmers have problems with them is only because of high level languages having bad syntax for them and textbooks claiming that they are tricky. To anyone starting out with assembly it is just an address loaded into a register/variable.
      It also helps if the API to the OS is somewhat reasonable.

    49. Re:C++ is not the language you start with by Anonymous Coward · · Score: 0

      Assembly on a 68000 is easy.

      This can't be stressed enough.
      Having an almost infinite amount of registers (8 data + 8 address) and instructions that supports all addressing modes makes it so that programming for 68000 is easy as basic but with the benefit of making it possible to structure your code.

    50. Re:C++ is not the language you start with by Anonymous Coward · · Score: 0

      Well, I started with C, and we had to implemented OO structures in it, containers etc., before we had the LUXURY of C++.

      I loved it to be honest. And it helps me in my career. A lot of young developers my age will run away screaming if they have to handle just the tiniest bit of memory by themselves. Or can't implement a simple container concept, because they never wondered what the built-in libraries in Java did.

      I'm happy that I can handle memory, write containers and write algorithms. It serves me very well, and lets me focus on the important parts, instead of stumbling over CS essentials :-)

    51. Re: C++ is not the language you start with by Anonymous Coward · · Score: 0

      There are no "bright people" on Slashdot. Only loveless, friendless rejected nerds who hang around because it's the only facsimile of a social life they will ever have. Them, and those who derive a small measure of mirth by reminding them how low on the social ladder they are.

    52. Re:C++ is not the language you start with by coxymla · · Score: 1

      You stacked up piles of 1s? How barbaric. We simply used the letter 'O' instead.

    53. Re:C++ is not the language you start with by Fallso · · Score: 1

      Coming from someone who learnt Java primarily and then moved to C and C++, I completely agree. Not having to try and comprehend programming fundamentals made it significantly easier to get my head around the complexities of memory management...

    54. Re:C++ is not the language you start with by Anonymous Coward · · Score: 0

      On my CS track, you start with C++, learn data structures and algorithms, and then learn assembly on a 68k.

      I can't think of a better way to discourage someone from learning how to code.

      You want to be another random disposable code monkey, go to a trade school or just read a few "Programming for Dummies" books. You want a shot at being a pro (just a shot, mind you; most people waste their degrees), then you want a CS program that teaches you how a computer works from the ground up.

    55. Re:C++ is not the language you start with by Anonymous Coward · · Score: 0

      I learned C as one of my first languages (after a little pascal and basic) - and never really understood memory well until I learned about hardware architecture and compiler construction.

      C forces you to deal with memory, but the language doesn't tell you why. Learning how to deconstruct a language, compile it into machine code & understanding what the hardware is doing with that machine code reveals the answer.

    56. Re:C++ is not the language you start with by Anonymous Coward · · Score: 0

      Rocks? Rocks just lying around that anyone can pick up and use? Luxury!!! In my day we had to program our own rocks fro pieces of card that we'd punch out using our FISTS!!! If your fists were too big we'd whittle them down with volcanic larva!

    57. Re:C++ is not the language you start with by gameboyhippo · · Score: 1

      I'd recommend getting a refund from whomever taught you Java.

      It's just,

      System.out.println("Hello World");

      Or if you statically import System.out...

      out.println("Hello World");

    58. Re:C++ is not the language you start with by cerberusti · · Score: 1

      I am not arguing the advantages of C for some tasks, it is my favorite to this day. I really only use other languages when I want to be able to hand maintenance off to someone else (if I think I will end up maintaining something anyway, I nearly always use C.)

      While I have a fair amount of code running on Linux at work, none of my servers have the X window system installed. UI stuff is usually win32 or web based (if it can be.)

      I still think the answer to the "I want to use C, but also want built in objects." problem is "Use C++."

      --
      I'm a signature virus. Please copy me to your signature so I can replicate.
  4. Pick a different job. by Lilith's+Heart-shape · · Score: 5, Insightful

    I wish I had known to pick a different trade instead of programming. Programming isn't a profession like law or medicine. It's a skilled trade like plumbing, masonry, or electrical work. But unlike plumbers and electricians, programmers aren't smart enough to unionize, and so they get fucked in the ass by management. If you have to live in the United States, don't become a programmer. There are better ways to earn a living.

    1. Re:Pick a different job. by GameboyRMH · · Score: 1

      Came here to say this!

      And it sucks everywhere except NYC/SF/Austin/Boston

      I probably should have gone into some kind of engineering.

      --
      "When information is power, privacy is freedom" - Jah-Wren Ryel
    2. Re:Pick a different job. by MAXOMENOS · · Score: 4, Interesting

      I work in a unionized software shop. It's awesome during bad times. In good times one is tempted to think it's better in fast-and-furious start-ups, but then one compares one's salaries and benefits and realizes, "no, actually, union shop is still better."

    3. Re:Pick a different job. by roman_mir · · Score: 4, Interesting

      Programmers are smart enough not to unionise, which allows newcomers into the field without these insane artificial barriers of entry.

      Unions are barriers to entry into the field to any newcomers, unions are also horrific from point of view of price setting and prevent people who actually excel in the job from making significantly more than those who only coast by. Your complaint is a complaint of somebody who shouldn't have become a programmer in the first place, but also it is a complaint of a horrible person, who wants to prevent others from entering the field freely.

      People shouldn't be licensed just to try and make a living, all professional government dictated licenses and participation in various organizations are a huge economic mistake but more importantly they are a huge impediment to individual freedoms.

    4. Re:Pick a different job. by sinij · · Score: 5, Insightful

      If you mean the quality of code that gets churned by your average coder, then yes, it is just like plumbing.

    5. Re:Pick a different job. by Anonymous Coward · · Score: 0, Troll

      Get out of my trade. Unions are not your friends. I've watched as union workers fucked me over at trade shows. If you feel that unionizing is what you need, then I submit that, as a developer, you aren't capable enough keep a real job.

    6. Re:Pick a different job. by pscottdv · · Score: 2

      Chicago is pretty good.

      --

      this signature has been removed due to a DMCA takedown notice

    7. Re:Pick a different job. by Lilith's+Heart-shape · · Score: 1

      Get out of my trade. Unions are not your friends. I've watched as union workers fucked me over at trade shows. If you feel that unionizing is what you need, then I submit that, as a developer, you aren't capable enough keep a real job.

      Pay me enough, and I'll happily GTFO of the programming trade. $50,000/year will do.

    8. Re:Pick a different job. by Anonymous Coward · · Score: 0

      Because those two things are totally related.

    9. Re:Pick a different job. by Rinikusu · · Score: 4, Insightful

      One of the most difficult things I've had to come to accept as a developer is: If you see a 'clever' way to solve something, STOP. The sad fact is most programmers work on programming teams and you need to absolutely view yourself as expendable. Embrace mediocrity and find another outlet for your creativity. This could be personal projects outside of the workplace, or other hobbies altogether.

      --
      If you were me, you'd be good lookin'. - six string samurai
    10. Re:Pick a different job. by Lilith's+Heart-shape · · Score: 0, Troll

      Save the right-wing talking points for somebody who gives a shit. And stop conflating unionization with government-mandated licensing. If you're smart enough to code for a living, you're smart enough to know better.

    11. Re:Pick a different job. by Lilith's+Heart-shape · · Score: 1

      As somebody who started working in the trade in 2000, what do you mean by 'good times'? :)

    12. Re:Pick a different job. by Lilith's+Heart-shape · · Score: 1

      I write SF, but it's hard to let go and not give a shit at my day job because I'm still enough of a Randroid to want to give people their money's worth.

    13. Re: Pick a different job. by Anonymous Coward · · Score: 0

      Kind of similar, I would point out to my younger self that most business people want you to work you as much as they can to make them wealthy, and most developers are boring people who care far too much about a lot of shit that doesn't really matter.. Yeah scifi is fun, but it's just passive entertainment, not something you should base your life on. I struggle to get my coworkers interested in going out for a few beers once in a blue moon, because they'd rather sit at home watching TV. I should've travelled the world, drinking the night away on far flung beaches. Instead I spent two decades staring at a screen in a lab.

    14. Re:Pick a different job. by Lilith's+Heart-shape · · Score: 1

      Can you get manage a 40 hour workweek as a coder in NYC/SF/Austin/Boston or Chicago (as another reply mentioned)?

    15. Re:Pick a different job. by Anonymous Coward · · Score: 1

      Bang on. Applies to the trades. Always consider that the person fixing whatever you built is a first year apprentice and you'll build it right the first time!

    16. Re:Pick a different job. by Anonymous Coward · · Score: 1

      Save the right-wing talking points for somebody who gives a shit.

      Ditto to your left-wing criticisms.

      I'm sick of hypocrites who soap-box about partisanism in an obviously partisan way.

    17. Re:Pick a different job. by Anonymous Coward · · Score: 0

      I've done it both in Chicago and SF - it's by far worse in SF. It's a sweatshop industry in SF. A programmer earning in the top tier here has pretty low standard of living here and most jobs will try to get you to work 80 hours a week. In Chicago, there was a *little* less pressure, but wages are better as the entire world doesn't flock there willing to work for peanuts.

    18. Re:Pick a different job. by Khashishi · · Score: 4, Insightful

      It's not unionized because conditions aren't bad enough to warrant it, as much as programmers like to complain.

    19. Re:Pick a different job. by slashdice · · Score: 5, Funny

      SF still sucks, depending on which side of the glory hole you sit.

      --
      Copyright (c) 1990 - 2014 Dice. All rights reserved. Use of this comment is subject to certain Terms and Conditions.
    20. Re:Pick a different job. by Lilith's+Heart-shape · · Score: 1

      You think talking union is left-wing? Man, your perspective is fucked. I haven't even started talking about work-for-hire alienating developers from their work.

    21. Re:Pick a different job. by Lilith's+Heart-shape · · Score: 1

      I assume the guy succeeding me has nastier anger issues than I do, lacks my reluctance to initiate violence, and knows where I live.

    22. Re:Pick a different job. by LessThanObvious · · Score: 1

      Is it really that bad out there? Are programmers outside of the big geographic technology growth areas really undervalued?

    23. Re:Pick a different job. by udachny · · Score: 3, Interesting

      Of-course unionization is government mandated licensing, show me a union in the USA and I will show you a special class of people protected by government from free market competition.

      I do not have 'right wing talking points', I do not fit into your 'right/left' ideology. My belief system is based on a very basic principle of individual freedoms. Individuals are above the collective, the mob cannot have special privileges at the expense of individual rights. A society where a mob can steal rights of an individual has no right to exist.

    24. Re:Pick a different job. by Anonymous Coward · · Score: 0

      One of the most difficult things I've had to come to accept as a developer is: If you see a 'clever' way to solve something, STOP. The sad fact is most programmers work on programming teams and you need to absolutely view yourself as expendable. Embrace mediocrity and find another outlet for your creativity. This could be personal projects outside of the workplace, or other hobbies altogether.

      A common enough occurrence during my tenure @ Yahoo was using clever ideas to start side companies, quitting Yahoo to focus on that, then selling the company to Yahoo and coming back as a consultant before starting all over again.
      If you think about that for a minute you see the real awesomeness of it: They're working on the exact projects they want to work on. And they get rich doing it.

    25. Re:Pick a different job. by iceman480 · · Score: 1

      Ignoring naysayers like this.

      "Programming isn't a profession like law or medicine"

      You mean like medicine with huge student debt and lower payments from the insurance companies? You mean like law with huge debt and a law school bubble with too many lawyers?

      Every industry has it concerns. Every parent would tell there child not to major in what they did. Pilot, doctor, teacher, even investment bankers (long hours) etc. What makes you think programming is any different. If you cant work around managements annoying nature in programming, than I don't think you can manage it in any other industry.

    26. Re: Pick a different job. by Lilith's+Heart-shape · · Score: 1

      And drinking beer is a basis for a life? Look, AC, I started writing because I wanted something in my life that was wholly my own. I gravitated toward SF because I OD'ed on Judas Priest albums and thought androids on nuclear-powered motorcycles were cool.

    27. Re:Pick a different job. by Anonymous Coward · · Score: 1

      But unlike plumbers and electricians, programmers aren't smart enough to unionize

      The problem being of course that they all think they're too smart. Every single one believes he is the exceptional "rugged" individual who can do better on his own than with the support of his fellow man.

    28. Re:Pick a different job. by geekoid · · Score: 3

      For you? Jan 2000 - June 2000

      --
      The Kruger Dunning explains most post on /. http://en.wikipedia.org/wiki/Dunning%E2%80%93Kruger_effect
    29. Re:Pick a different job. by udachny · · Score: 2

      You do not have to accept a job if you do not like the contract, maybe you should actually try and live by some of those principles you espouse here.

      Whether union left or right wing is irrelevant, unionization that gets special government privileges is wrong and unconstitutional but of-course it exists due to the politicians buying votes with stolen money.

    30. Re:Pick a different job. by Lilith's+Heart-shape · · Score: 2

      Is there a threshold value at which conditions do become bad enough to warrant organization? Private-sector unionization is on life-support, and the public sector isn't much better. Meanwhile, wages for the average worker in constant dollars have stagnated while prices and corporate profits continually increase. It's not like the government gives a shit about us, so maybe it's time we banded together and started looking out for ourselves and each other.

    31. Re:Pick a different job. by NoImNotNineVolt · · Score: 4, Informative

      I was a cashier at the local supermarket in high school. Of course, all supermarkets are unionized. Do you have any idea how hard it was to get this job?

      Not hard. I applied. I was working that same week. If the union was a barrier to entry, it wasn't one big enough for me to have noticed. What the fuck are you talking about?

      --
      Chuuch. Preach. Tabernacle.
    32. Re:Pick a different job. by Matheus · · Score: 4, Insightful

      Sorry it sucks where y'all live.

      Minneapolis here. Getting 40 hours or keeping to 40 hours (whichever is your issue) is not a problem. Wages easily put you in a high standard of living. Of course cost of living is much lower here than any of the cities mentioned but that's part of the appeal of living here... more bang for your buck. Well that and everything else.

      If you really think it sucks everywhere that is not NYC/SF/Austin/Boston then you need to pay more attention.

    33. Re:Pick a different job. by Lilith's+Heart-shape · · Score: 2

      But corporations getting special privileges is fine with you? You think you're going to be rich someday, don't you.

    34. Re:Pick a different job. by Anonymous Coward · · Score: 0

      I think this is sage advice. If you "like computers" or "like to program" and are actually more intelligent than most people, then get an MBA and tell other people what to do and get paid more than them. If you like to program chances are then you will be able to tell shit coders from good coders and be able to tell BS code that is there to give a particular coder job security from good solid code meant to be maintainable by anyone. That is a leg up on most managers who don't give a shit about more than the tactical day to day stuff and couldn't manage a software project from Hello to World. Of course there are more code monkey jobs than there are managers or technical leads, so this assumes you are in the top 10 or 20%. If you are not in the top 10 or 20 percent (in anything), or if you really just want to code, then I suggest either striking it rich with an IPO or cool game app before you are 25 or after that start hunkering down with a stable career path where you can actually focus on things that are important in life like a stable income for raising a family and stop worrying about measuring the length of your code against the next fella's. Or become an electrician and get paid better after your apprenticeship is done.

    35. Re:Pick a different job. by geekoid · · Score: 3, Insightful

      Coppea.

      "Individuals are above the collective,"
      That's moronic, and you don't actually believe that even if you think you do. Do you think my right as an individual means I can drive the wrong way down the freeway? dump toxic chemicals into your ground water? cut in front of you in line? PLay music at 140 db at 4 am?

      I can go on and on.
      It's a balance.

      --
      The Kruger Dunning explains most post on /. http://en.wikipedia.org/wiki/Dunning%E2%80%93Kruger_effect
    36. Re:Pick a different job. by Anonymous Coward · · Score: 2, Insightful

      You think talking union is left-wing?

      Yes. So does the rest of the world.

    37. Re:Pick a different job. by Anonymous Coward · · Score: 0

      I'd actually tell people thinking of entering the field that they should be prepared to move to a "Low cost geography" (I think that's the current buzzword bingo term management uses) if they want to stay employed in the field. It used to be India. These days it is likely the Phillipines.

    38. Re:Pick a different job. by geekoid · · Score: 1

      No, it's rife with abuse.
      Many programmer are salary, when they shouldn't be. Many are denied OT, even though they are not management. They are expected to be available all the time without compensation, many are worked to exhaustion, regularly.
      Funny how when you pay people for there time, suddenly there aren't a lot of last minute emergence that make you stay at work and work 60+ hour weeks.

      --
      The Kruger Dunning explains most post on /. http://en.wikipedia.org/wiki/Dunning%E2%80%93Kruger_effect
    39. Re:Pick a different job. by sinij · · Score: 1

      I think you are fairly safe, programmers in general are less prone to violence than general population. The over-sized neckbeard makes it hard to accurately throw punches.

    40. Re:Pick a different job. by Anonymous Coward · · Score: 0

      You think talking union is left-wing? Man, your perspective is fucked

      *Sigh*. So young, so angry, so liberal. Don't worry son, you'll grow up eventually.

    41. Re:Pick a different job. by Anonymous Coward · · Score: 0

      prevent people who actually excel in the job from making significantly more than those who only coast by

      The problem being of course that every programmer thinks he is the former category, but in reality only a handful actually are, by definition. Unions would thus benefit the vast majority of programmers.

      Oh and speaking of "barriers to entry", if you're an American, you've benefitted from them throughout your career without realizing it. But don't worry, a tiny handful of billionaires are working to change that. Good luck proving you're the exceptional one who deserves to be paid well when the market is flooded with millions of minimum-wage foreigners who will do anything to get a green card, including working basically for free for years on end.

    42. Re:Pick a different job. by Lilith's+Heart-shape · · Score: 1

      If your ideals actually meant anything to you, you'd despise corporations and government itself with the same fervor with which you speak against unions. Instead, you're a typical secular Republican: you rail against any form of collectivism that helps workers, but rally around all forms of collectivism that serve to preserve the privileges and wealth of America's ruling classes.

      Get rid of corporations and government, show me a real free market, and I'll happily compete without seeking recourse from a union of my fellow workers.

    43. Re:Pick a different job. by Stormy+Dragon · · Score: 4, Insightful

      Unions are themselves corporations. Private sector unionization has stagnated because being in a union to often just means you end up with two corporations screwing you over.

    44. Re:Pick a different job. by ArcadeMan · · Score: 3, Funny

      Unions are not that hard to understand. You see, unions have layers, just like ogres.

    45. Re:Pick a different job. by Matheus · · Score: 5, Insightful

      Oh and PS: To a few layers up poster...

      "programmers aren't smart enough to unionize" are you kidding me? To be clear I am not anti-union by any means but for my job not on your life. I'm sure life is different in the valley or big code farms elsewhere but honestly I am better equipped to negotiate as an individual than within a group. The world changes and as development becomes more commoditized this situation may change as well but I don't see that anywhere in the near future. (read my employment lifetime) when my threat as an individual to walk away carries as much weight as a union making the same threat there is no perk to the tradeoffs.

    46. Re:Pick a different job. by Lilith's+Heart-shape · · Score: 1

      I was busy clawing my way out of indentured servitude back then. :)

    47. Re:Pick a different job. by Lilith's+Heart-shape · · Score: 4, Insightful

      Last time I checked, the USA isn't the rest of the world, and in most Western countries the Democrats would be a right-wing party.

    48. Re:Pick a different job. by Matheus · · Score: 1

      I know servers making double that so... don't let the door hit you in the ass on the way out!

    49. Re:Pick a different job. by nine-times · · Score: 3, Funny

      It seems like it might work better to say, "San Francisco still sucks-- which might not be so bad, depending on which side of the glory hole you sit."

    50. Re:Pick a different job. by Lilith's+Heart-shape · · Score: 1

      I can dodge a punch. Dodging a bullet is just a bit tougher.

    51. Re:Pick a different job. by Lilith's+Heart-shape · · Score: 1

      I don't have the figure or the winning personality for that kind of work. :)

    52. Re:Pick a different job. by ChrisMaple · · Score: 0

      Your worldview blinds you to facts. "Dump toxic chemicals into your ground water" violates the rights of other individuals . "The collective" is a floating abstraction - a word referring to nothing in reality - used by professional frauds to mislead fools like you.

      --
      Contribute to civilization: ari.aynrand.org/donate
    53. Re:Pick a different job. by Lilith's+Heart-shape · · Score: 1

      I've been in a union, Stormy Dragon, and they were always there when I needed them. Unfortunately, I listened to my parents and my culture and got a "real job" because cleaning toilets was "beneath me".

    54. Re:Pick a different job. by jimbolauski · · Score: 1

      No, most programmers are not undervalued, their pay rate is the same as other stem field graduates.

      --
      Knowledge = Power
      P= W/t
      t=Money
      Money = Work/Knowledge so the less you know the more you make
    55. Re:Pick a different job. by Lilith's+Heart-shape · · Score: 1

      I only chose it because I was young, bitter, directionless, and had some natural talent with computers despite not growing up with a programmable computer at home. I decided I wanted to be a writer, and thought I needed a "respectable" day job and my own apartment instead of just working a couple of part-time jobs and sharing a place with an amiable stranger or three.

    56. Re:Pick a different job. by Anonymous Coward · · Score: 0

      And your career is over when you turn 40 and you are stuck at the same company until pension. They used to use the term "rockstar programmer" and that is really how it is, either you get lucky and make a fortune and retire early or you get snake eyes and have to end you career at the software equivalent of a Las Vegas piano bar.
       

    57. Re:Pick a different job. by ChrisMaple · · Score: 1

      Unions have membership fees that come out of the employees' pay and ultimately make the unionized company less competitive. Please explain how getting less money or having the employer go broke benefits the employee.

      --
      Contribute to civilization: ari.aynrand.org/donate
    58. Re:Pick a different job. by JRV31 · · Score: 2

      I found that a programming job ruined a good hobby. I went back to CNC machining.

    59. Re:Pick a different job. by jimbolauski · · Score: 1

      It may just be you, I'm a programmer and a make a good enough wage that my wife can stay home and kids can go to private school. The job offers that I have seen were competitive with my current position.

      --
      Knowledge = Power
      P= W/t
      t=Money
      Money = Work/Knowledge so the less you know the more you make
    60. Re:Pick a different job. by Anonymous Coward · · Score: 2, Interesting

      I've had quite the opposite experience. I've worked multiple union and non-union shops, and the only thing the union shops had going for them was slightly more pay. The culture sucked. The managers really sucked and were sexist dicks. The waste of resources was astounding. Few people put in more than three hours of work a day (I don't consider this to be a positive thing)... and, most importantly - all the most skilled people who were the most enjoyable to work with quit because the culture was so shitty.

      Now I work non-union and it's a bit more stressful, yes, but I don't feel the us-against-them nonsense between managements and underlings, and I don't have to put up with idiot incompetent co-workers and managers to the same degree. Oh - I also have better benefits and a pension plan than any union shop around here.

    61. Re:Pick a different job. by CodeArtisan · · Score: 1

      Yep. I'm sure all those multi-millionaire left wingers in the NFL and MLB unions agree.

    62. Re:Pick a different job. by Mysticalfruit · · Score: 1

      I like Minneapolis as a city... except for the winter. Around the end of Nov. it becomes a really brutal place to live.

      --
      Yes Francis, the world has gone crazy.
    63. Re:Pick a different job. by Lilith's+Heart-shape · · Score: 1

      I object to corporations as currently constituted in the United States for the same reason I look askance at the Federal government: concentrated power is dangerous to those who lack power. It doesn't matter if that power is political, religious, or economic.

    64. Re:Pick a different job. by Anonymous Coward · · Score: 0

      It's awful for me. They only pay $65/hour and only 1.5x for OT. And, sometimes, managers make me trade off my pursuit of aesthetic purity in order to meet deadlines. Horrible I tell you.

    65. Re:Pick a different job. by pigiron · · Score: 2

      "Programming isn't a profession like law or medicine. It's a skilled trade like plumbing, masonry, or electrical work."

      I worked under the impression that it would be something akin to being a skilled tool & die maker when I learned to code Fortran, circa 1973, for an upper division class for statistical analysis of econ data. I was subsequently proved right when I started working professionally as a financial analyst in 1980 using Fortran, SAS, and an early relational database management system.

      I made a ton more money in my career than any tool & die maker ever did though I moved around a lot like a professional welder might.

      As for the OP's original question, my first big mistake was not modularizing my early long Fortran programs into subroutines. Fave languages are fully functional interpreters with dynamic typing and code that in itself can create immediately executable code like a LISP 1. PS - HTML are really just a special case of S-expressions and rows in relational normalized tables map pretty easily to lists too.

    66. Re:Pick a different job. by Lilith's+Heart-shape · · Score: 1

      Good for you, bro. A lot of us aren't so fortunate.

    67. Re: Pick a different job. by Anonymous Coward · · Score: 0

      Kind of similar, I would point out to my younger self that most business people want you to work you as much as they can to make them wealthy,

      This is true across every profession, and in virtually every example, especially once you get above 'mom & pop' levels, and usually even then.

      ...and most developers are boring people who care far too much about a lot of shit that doesn't really matter.

      Unsupported statement, and a non-sequitur.

      Yeah scifi is fun, but it's just passive entertainment, not something you should base your life on.

      Opinion, unsupported claim, non-sequitur.

      I struggle to get my coworkers interested in going out for a few beers once in a blue moon, because they'd rather sit at home watching TV.

      News flash. Other people have other interests. That your interests are *yours* doesn't innately make them *better* than others'.

      I should've travelled the world, drinking the night away on far flung beaches. Instead I spent two decades staring at a screen in a lab.

      Sounds more like you should live less in the past, and rely less on other people's habits validating your choices.

    68. Re:Pick a different job. by Anonymous Coward · · Score: 1

      "concentrated power is dangerous to those who lack power"

      Like... unions...

    69. Re:Pick a different job. by Anonymous Coward · · Score: 0

      And yet you already refuse to compete because you obviously suck at finding reasonable programming work, which either means you have no clue how to find a good job, or you suck at it. Neither of those points speaks to the supposed high intelligence you claim for yourself as part of the programmer crowd. If you're not easily making 6 figures writing code, then you definitely should get into a different profession. That last thing I want is to have my earnings undercut by a bunch of mediocrity of which you seem to be a shining example.

    70. Re:Pick a different job. by Anonymous Coward · · Score: 0

      I got 40k straight out of community college to be a windows admin. Maybe go back to school and expand your knowledge base a bit.

    71. Re:Pick a different job. by fbumg · · Score: 1

      Ditto from Omaha.

      --
      I know I don't know what I don't know.
    72. Re:Pick a different job. by Anonymous Coward · · Score: 0

      "A society where a mob can steal rights of an individual has no right to exist."

      Good luck with that.....

    73. Re:Pick a different job. by Anonymous Coward · · Score: 0

      "..If you have to live in the United States, don't become a programmer. .."

      Oh yeah....it's WELL known that being a software developer/engineer in the US is just a tragic, tragic profession. Constantly under-compensated and under employed..er I mean...NO! What in god's name are you talking about?

      I've been a developer for 20 years and have NEVER been out of work our out of multiple work options. Haven't made less than 6 figures for many, many years...and haven't worked more than 40 hours a week average for that same time. I have never been afraid that I couldn't quit my job today and have a new one in a week. I really have no clue how you can possibly have an experience that is so opposite. Lemme see, it has afforded me all the travel I wanted, multiple homes, and I will retire very early with rental homes as income, raising a family, and time to pursue fitness/sporting hobbies. Oh yeah..I'm totally screwed by management. And guess what..I did it all without ever being in a union? How did I do it? I mean..how could I possibly have been successful without a union. I must be the only guy on earth that could figure that out, right? Yeah.....

    74. Re:Pick a different job. by Spazmania · · Score: 1

      programmers aren't smart enough to unionize

      What would a union require of management that would make an unacceptable programming job acceptable?

      Would you enjoy the work if only the boss didn't demand you work Saturdays? You would not.

      Would the union be able to get rid of the office fool who screws up your otherwise beautiful code while convincing the boss its your fault? It would not. That's not what unions do.

      Would you be paid more? Programmers who are any good are in high demand. If your boss isn't paying you fairly, find the next job. If no one is willing to pay you more despite the high demand for talented programmers and you're not willing to start your own business and take on the risks yourself then you're already paid what's fair for your level of talent and the level of risk you're willing to accept.

      Unions are for folks whose labor is trivially replaceable. Work that most anybody can be "trained" to do. Programmers are artists. Instinct is not trainable and talented programmers are not easy to hire. Managers who think otherwise don't last long as managers of software development projects.

      --
      Moderating "-1, Disagree" is simple censorship. Have the guts to post your opinion.
    75. Re:Pick a different job. by waspleg · · Score: 2

      Wish I had mod points for you.

    76. Re:Pick a different job. by Assmasher · · Score: 1

      Atlanta too.

      --
      Loading...
    77. Re: Pick a different job. by Anonymous Coward · · Score: 1

      The guys at google seem to be doing well....

    78. Re:Pick a different job. by Assmasher · · Score: 1, Troll

      Apparently wisdom doesn't come with age...

      --
      Loading...
    79. Re:Pick a different job. by plopez · · Score: 1

      CO also is dreadful. I am glad I am not coding much anymore.

      --
      putting the 'B' in LGBTQ+
    80. Re:Pick a different job. by Anonymous Coward · · Score: 0

      Yes. I'm in a software engineering position in Chicago. I typically work a 35-hour work week (any time beyond that is voluntary, not expected or demanded), and I'm pulling in $150k.

    81. Re:Pick a different job. by Spazmania · · Score: 1

      I'm 41. I started my own software consulting business this year. I had plenty of job offers. I even interviewed at Google a couple of times. But I wanted to do my own thing. And I'm doing quite well at it.

      If your programming career was over at 40, what did you do that caused you to miss while I kept on hitting?

      --
      Moderating "-1, Disagree" is simple censorship. Have the guts to post your opinion.
    82. Re:Pick a different job. by Anonymous Coward · · Score: 0

      Programming isn't a profession like law or medicine. It's a skilled trade like plumbing...

      As a plumber-turned-programmer, I feel qualified to point out that your comparison of programming to plumbing suggests you lack an understanding of one profession or the other.

    83. Re:Pick a different job. by xeio87 · · Score: 1

      Your worldview blinds you to facts. "Dump toxic chemicals into your ground water" violates the rights of other individuals . "The collective" is a floating abstraction - a word referring to nothing in reality - used by professional frauds to mislead fools like you.

      Ok, so you own a bit of land down river from the bit of land I own. What right is dumping chemicals onto my bit of the river violating? What about damming the river on my land? How about if I catch all the fish swimming down-river so you can't fish any?

      You're going to have to create some really nifty right to cover scenarios like that because it doesn't currently exist.

    84. Re:Pick a different job. by Anonymous Coward · · Score: 0

      Programming is 10-15% of software engineering. The rest is requirements analysis, design, testing, integration, and deployment. If you want to be the little cog in the machine, stick to coding like it was a trade. I've remodeled my basement, so I learned to sweat copper pipes and install code-compliant wiring. Even if I didn't work in software I'd rather be a general contractor than a plumber or electrician. Narrow focus on work leads to constant work and minimal thinking; and also meager wages. Broad focus on bringing the world solutions to important problems leads to never doing the same work twice, and substantially more $$. It's a choice between two careers in the same space.

    85. Re:Pick a different job. by cbhacking · · Score: 1

      That's *significantly* less than I made as a no-benefits intern (if you had extended said internship to a full year) with 3/4 of a Bachelor's degree six years ago. It's about 2/3 of the entry-level salary for a developer around here even if you aren't working at the good places, about half if you are, and that doesn't include benefits.

      Are you sure that union is helping out? I mean, I assume your cost of living is a lot lower than mine - I'm in Seattle - but that is a seriously mediocre amount of money for this field. Are you saying that would make up the difference between what you make now and what you would be making working some other field?

      Note that I'm not opposed to unions in theory. I just tend to think their implementation tends to have problems and sometimes is a significant net negative. There are fields where unions make a lot of sense - construction comes to mind, for example, and mining, and other dangerous jobs where one worker is largely interchangeable with another and consequently the workers have no power - but IT in general (be it support, development, consulting, or so on) are not such a field. I work 40 hours a week, have four weeks paid vacation a year plus paid sick days and holidays, can work from home when needed, make six figures plus bonuses, have a generous training budget, and get benefits. I'm 4.5 years out of college with an Engineering bachelor's, and took a six-month break in the middle of that. What would a union have gotten me that could possibly be worth its dues? That's ignoring the risk of the union making it hard to get rid of the people who sincerely need to go, and other such potential problems.

      --
      There's no place I could be, since I've found Serenity...
    86. Re:Pick a different job. by Anonymous Coward · · Score: 0

      I was young, bitter, directionless,

      It would appear you're using the past tense because you've gotten older.

    87. Re:Pick a different job. by Anonymous Coward · · Score: 0

      On the plus side, they aren't going to last long anyway with that attitude. The reality is that they probably suck at it but are wholly incapable of taking responsibility for their place in life; thus, their desperate desire for someone to subsidize their failings. Most likely they went into it because they "heard it was a good paying job" and not because they had any ability or desire. They'll get weeded out soon enough.

    88. Re:Pick a different job. by Anonymous Coward · · Score: 1

      " I am better equipped to negotiate as an individual ..."
      "when my threat as an individual to walk away carries as much weight"

      See programmers are too stupid to unionize.
      If not stupid, then egocentric and narcissistic

    89. Re:Pick a different job. by geekoid · · Score: 0

      " individuals "
      Plural, which would be a collective.

      " a word referring to nothing in reality"
      Nope:
      http://en.wikipedia.org/wiki/C...

      Are you ignorant or too stupid to apply context?

      --
      The Kruger Dunning explains most post on /. http://en.wikipedia.org/wiki/Dunning%E2%80%93Kruger_effect
    90. Re:Pick a different job. by geekoid · · Score: 1

      Because it's really a means for the owners to avoid responsibility for their actions.
      You see this in any country where corporation do not have a built in shelf life.

      Did you know corporation where almost banned in the constitution? They grow large and then manipulate the government. Something seen in the British Empire. The only reason it wasn't was because that had, for all practical purpose, a life of 20 years.

      Now they live forever and can take an active role in the government.

      If it was simply what you say, then I wouldn't have a problem.

      --
      The Kruger Dunning explains most post on /. http://en.wikipedia.org/wiki/Dunning%E2%80%93Kruger_effect
    91. Re:Pick a different job. by fwarren · · Score: 2

      As a child my dad taught me what to know about unions. He was a union stone mason in his youth.

      Unions do not foster excellence. If you excel, you make everyone else look bad. My dad was a hard worker. He would get up at 4:00am and be laying brick by 5:00am, and some night had his truck lights on working till 8:00 or 9:00pm.

      He said with the union job, you spent 4 hours working and 4 hours doing other things, like dropping your trowel off the top of the building. Then you had to wait for a supervisor to show up, explain you dropped your trowel. The supervisor then had to go down in the elevator, walk by the trowel, find a journeyman hod-carrier tell him to get the trowel and bring it up to you. 30 to 60 minutes wasted doing nothing, And by the time the trowel got back to you, you could stop to go to the bathroom.

      I like doing good work. I don't want a union that protects me from my boss abusing me like it is 1910 again, but makes me a slave to mediocrity and not standing out from the crowd because it makes them look bad.

      --
      vi + /etc over regedit any day of the week.
    92. Re:Pick a different job. by geekoid · · Score: 1

      Like cake? Cake has layers.

      --
      The Kruger Dunning explains most post on /. http://en.wikipedia.org/wiki/Dunning%E2%80%93Kruger_effect
    93. Re:Pick a different job. by geekoid · · Score: 1

      Can't explain something that doesn't actually happen.

      --
      The Kruger Dunning explains most post on /. http://en.wikipedia.org/wiki/Dunning%E2%80%93Kruger_effect
    94. Re:Pick a different job. by geekoid · · Score: 1

      You just need to hear the sound of their flexor tendons as they squeezed the trigger.

      --
      The Kruger Dunning explains most post on /. http://en.wikipedia.org/wiki/Dunning%E2%80%93Kruger_effect
    95. Re:Pick a different job. by Anonymous Coward · · Score: 0

      I believe what the GP is referring to is abuses such those outlined in this article. $600 to have a booth vacuumed, having to pay a union electrician to plug into an electrical outlet, etc.

    96. Re:Pick a different job. by Anonymous Coward · · Score: 0

      Your right your work life would be better without any of those worker's rights that it brought you, management obviously has always had the best interest of the workers at heart.

    97. Re:Pick a different job. by geekoid · · Score: 3, Insightful

      My Dues, 30 a month.
      I get 6 weeks vacation, great sick time, and fantastic benefits.
      I make 6 figures.

      I work 4 tens, any after hours work is billable, being on call is billable. If I give a profession opinion or fact I can't be fired is it happen to be contrary to what some VP wants. Yes, I was fired for explaining why something wasn't possible to a VP. With facts and number and even maths. Yes, I was polite. Hell, once I was reprimanded for putting people in the wrong order in a cc in an email when I worked in the financial sector.

      Working 40 is the minority of programmers schedule.

      "That's ignoring the risk of the union making it hard to get rid of the people who sincerely need to go,"
      I seen people let go. There is a process here, and it's a reasonable one. Warning, write up, write up with correction plan, fired.
      It prevents people for getting fired for political reasons, and it also lets people know when their performance has dropped.
      As a side note, I got a warning for my performance dropping. Since I normally evaluated as high as possible for my work, this lead e to finding out I was suffering from depression.
      I've seen people join the union and think it's like the urban myth of the union. They don't last long.

      --
      The Kruger Dunning explains most post on /. http://en.wikipedia.org/wiki/Dunning%E2%80%93Kruger_effect
    98. Re: Pick a different job. by geekoid · · Score: 1

      "...thought androids on nuclear-powered motorcycles were cool."
      That's only because they are cool.

      --
      The Kruger Dunning explains most post on /. http://en.wikipedia.org/wiki/Dunning%E2%80%93Kruger_effect
    99. Re:Pick a different job. by geekoid · · Score: 1

      Of course its beneath you. Where the hell would you go were the were over you? :)

      --
      The Kruger Dunning explains most post on /. http://en.wikipedia.org/wiki/Dunning%E2%80%93Kruger_effect
    100. Re:Pick a different job. by Anonymous Coward · · Score: 0

      Being a developer in Nebraska and helping with a start up remotely in Missouri it depends on where you look and how motivated you are. I'll bring home over 100k this year and my house payment is lower than renting in a big market so for me its a win. A bigger market would absolutely be more fun as far as quality of life but then most of my pay would get eaten by housing costs. To each their own.

    101. Re:Pick a different job. by Oligonicella · · Score: 2

      Said the commenter who equated being anti-union to being right wing. I programmed/designed/analyzed for an entire career without the need for someone to represent me. I represented myself. If you're smart enough to code for a living, you're smart enough to do the same.

    102. Re:Pick a different job. by TXG1112 · · Score: 3, Insightful

      enough of a Randroid to want to give people their money's worth.

      Oh the irony.... Your individual contributions have negative value if they cannot be used and leveraged by the entire project/team. No one is an island. Software development is a team sport and there is nothing more useless than a cowboy who doesn't believe they have to follow standard process and methods.

      --
      I will not be pushed, filed, stamped, indexed, briefed, debriefed, or numbered. My life is my own.
    103. Re:Pick a different job. by geekoid · · Score: 0

      That's not correct at all.
      Forming a group for you interest is the most constitutional thing you can do. Not allowing people to do that would be unconstitutional.

      I wish idiots like you would stop saying everything they don't like is unconstitutional just because they don't like it. You're using tepa party logic and you should be ashamed.

      --
      The Kruger Dunning explains most post on /. http://en.wikipedia.org/wiki/Dunning%E2%80%93Kruger_effect
    104. Re:Pick a different job. by Darinbob · · Score: 1

      Engineering is the same as it's not unionized either. As a programmer I work along side engineers every day on the same projects as equals. I'm not the grunt, I'm doing more than just a skilled trade.

    105. Re:Pick a different job. by Darinbob · · Score: 1

      If you care about being merely average...

    106. Re:Pick a different job. by ArcadeMan · · Score: 1

      I don't care what everyone else likes! Unions are not like cakes.

    107. Re:Pick a different job. by Kjella · · Score: 1

      One of the most difficult things I've had to come to accept as a developer is: If you see a 'clever' way to solve something, STOP. The sad fact is most programmers work on programming teams and you need to absolutely view yourself as expendable. Embrace mediocrity and find another outlet for your creativity. This could be personal projects outside of the workplace, or other hobbies altogether.

      I don't write mediocre code, I write smart code which is something else entirely than being "clever". With a certain amount of hubris I'll say that I don't think I've ever written really bad code at the micro-level. However, I used to write a lot more code which disregarded encapsulation, separation of concerns, side effects, poor function and variable naming, anti-patterns and so on. And if I wrote enough of it then it resembled spaghetti code, it lacked the structure, abstractions and layers to make it clean and easy to maintain. I still suck at writing high level documentation but at least when people jump into my code they usually praise it for being easy to follow. That's much harder than it looks.

      --
      Live today, because you never know what tomorrow brings
    108. Re:Pick a different job. by Livius · · Score: 1

      Unions exist because in general an employer, especially a corporation, has far more bargaining power than the worker.

      Unions, regrettably, are a terrible solution to the problem, because unions abuse their bargaining power at least as much as any other quasi-monopoly.

      Sadly no-one has the courage to stand up to them and try to come up with a solution that could actually work.

    109. Re:Pick a different job. by Anonymous Coward · · Score: 0

      Its not about fortune. It is about decision making.

    110. Re:Pick a different job. by slew · · Score: 1

      If you mean the quality of code that gets churned by your average coder, then yes, it is just like plumbing.

      At least a plumber's work is often assembled from standard parts and inspected before it's sealed up behind a wall never to see the light again.
      Sometimes I wish the code I've had to troubleshoot was assembled from standard parts and gotten a minimal once-over before going into production...

    111. Re:Pick a different job. by david_thornley · · Score: 2

      Remember the Mariel boat lift, when Castro got rid of problem people by pushing them off on the US? There were a fair number of them in the Minneapolis area that summer, and my wife found them mildly obnoxious. Then winter came. Keeps the bugs down, also.

      Of course, now that I'm getting older, every winter I think about moving.

      --
      "When you have eliminated the unacceptable, whatever is left, however improbable, must be the truthiness" - Holmes
    112. Re:Pick a different job. by david_thornley · · Score: 1

      Unions vary widely. Some form around those hired, and aren't any sort of employment filter. Some try to control who works.

      Also, businesses in the US go to considerable lengths to avoid competition, including setting up artificial barriers to entry and attempting price-fixing. Why shouldn't workers get some protection from competition?

      --
      "When you have eliminated the unacceptable, whatever is left, however improbable, must be the truthiness" - Holmes
    113. Re:Pick a different job. by Anonymous Coward · · Score: 0

      If a union worker "fucked you over" then you deserved it.

      Or maybe at a trade show, where you are *required* to enlist the services of union electricians, a union worker destroyed $100K of equipment because he insisted on using a shaving kit style 110->220 voltage transformer he had in his van for a custom computer setup that had an old switcher rated for 220 50Hz, instead of the power brick we had especially shipped over from the UK. By union rules weren't allowed to touch any plugs nor even be present at all when he did the wiring before the show floor was open to exhibitors. Of course he turned the damn thing on when we weren't there and fucked over our whole trade show...

      When we complained, we found the next day they had removed all the equipment from the booth (and was later found in dumpsters outside). All we got from floor security was "sorry". While we were at the security office, one of the union electricians passed by and gave us the finger and said, that's for dumping on me...

      I guess I deserved it, but it had nothing to do with reasonable working conditions, or lazy workers...

    114. Re:Pick a different job. by Darinbob · · Score: 1

      It's a hard thing to learn for newer employees, that idealism is a luxury. If you want perfect software then write open source, but if you have to ship on time with limited resources and remaining 100% backwards compatible with decades of products, then you have to be pragmatic instead of idealistic. However even with open source you're going to have to deal with pragmatism.

      Ie, in the first job they will have a different programming style than the fresh graduate is used to. So step one is to deal with it! If the new hire starts saying things like "my professor says..." or "in my last job we did it the other way..." or "this book that's popular says..." then this starts things off on the wrong foot and it will go downhill from there.

      And your first job will be cleaning up after people. That may be your last job too. I think 95% of my career has been maintaining other people's code. Writing new code from scratch is extremely rare.

    115. Re:Pick a different job. by Anonymous Coward · · Score: 0

      That's a good point. However, I think programming degrees require fewer years of schooling and hence less debt than law/medicine degrees. My coworker is a programmer and his fiance studied medicine, but he's well ahead of her financially.

      For what it's worth, the web programming field in NYC is really hot right now.

    116. Re:Pick a different job. by Darinbob · · Score: 1

      He'll know where your cube is. Projects don't wait to get handed off until you leave the company. Most of these problem arise when a prima donna does a first pass at a half assed job then moves on to the next cool thing and lets the junior grunts clean up after it. Then when the grunts try to clean up the mess they're told that they can't change any of the API or behavior except for the specific reported bugs, so they slap on a bandaid. Next time a bug shows up a different set of junior grunts now have to fix it plus the bandaid. Ten years laid you've got so many bandaids that the original mess is no longer visible. That's when you need to start dodging bullets.

    117. Re:Pick a different job. by pspahn · · Score: 1

      You must be looking in the wrong places.

      Colorado is white-hot right now. The developer jobs will soon follow. I spoke with my dad last night and he mentioned business is up 30% over last year (he sells trees/shrubs/etc). That means people are moving here and buying houses again. Two neighbor houses in Denver were on the market for over a year each and both sold within a week of each other. Be damned if they didn't get what they were asking.

      I just interviewed yesterday for a job and was told that the salary would be "quite a bit higher" than my previous salary from 2 years ago. Heck, with all the government agencies here, even the old dinosaur coders can still find work. I think it's a great place to work as a developer. Of course, those days are numbered as all these graduating kids from the East Coast move in and saturate the market with developers. Really, it hasn't been very difficult to differentiate yourself here in the past. There are generally more people interviewing for jobs that have no business being there than there are qualified candidates.

      This also not to even mention all the newly wealthy pot vendors that are having to refine processes and invest in their own software tools.

      --
      Someone flopped a steamer in the gene pool.
    118. Re:Pick a different job. by Anonymous Coward · · Score: 0

      I write SF, but it's hard to let go and not give a shit at my day job because I'm still enough of a Randroid to want to give people their money's worth.

      You claim to be a Randroid, but you speak the language of the parasite! Giving someone "their money's worth?" Are you a captain of industry? A Capitalist? A producer of wealth? Or are you a parasite, feeding off the largess of your betters? Pick yourself up by your bootstraps. Go forth and produce capital! That is the only thing which matters!

    119. Re:Pick a different job. by cerberusti · · Score: 1

      I would refuse as well, there is no personal benefit to me. Most of what stops any attempt to unionize programmers dead in its tracks is that the ones who write the vast majority of the working code out there have no desire to join a union.

      The people who want it are usually fluff, and would be no great loss anyway. Then again I always insist upon partial ownership, so maybe I would be considered part of the other team these days.

      --
      I'm a signature virus. Please copy me to your signature so I can replicate.
    120. Re:Pick a different job. by Anonymous Coward · · Score: 0

      +1 I've been in both union and non-union shops, and prefer the latter, even when there are layoffs. (union shops don't magically keep their budget, they just cut in very odd ways)

    121. Re:Pick a different job. by Prien715 · · Score: 4, Informative

      Do you understand the benefits of a union?

      Classically speaking, unions existed to drive up benefits through threat of strikes or walkouts. In the 20's and 30's, unions were responsible for the 40 hours workweek, Saturdays off, and a living wage -- by preventing things like random firings and unpaid work (see 80 hour work weeks in the game industry).

      To be clear, if individuals were better at negotiating wages, we'd see a rise in salary in the field, but according to statistics this is quite simply not the case. "Ah, but salary went up from 80K to over 100K you say", to which I agree, but if you adjust for inflation, you'll see that that $80K in 2004 is equivalent to $100K in 2014 (26.1%). In the same period, the tech heavy Nasdaq grew 143%. While some of this can be attributed to there being more people employed in the field, I doubt there 2.5x more CS graduates than there were ten years ago.

      So while pay is still decent, there's still no rise in salary despite what many consider an obvious shortage in the field. If more CS majors studied those useless fields like "history", we'd have a union and there wouldn't be a bunch of indentured servants known as H1Bs driving wages down (by artificially inflating the labor pool with people who can't quit).

      --
      -- Political fascism requires a Fuhrer.
    122. Re:Pick a different job. by Anonymous Coward · · Score: 0

      I'm 51, make six figures, work at most 40 hours/week, never on call, don't work nights or weekends, benefits are very good, and I get good raises. If you're settling for less, either you're not very good or you're willing to settle for less (or, more likely, both).

    123. Re:Pick a different job. by Lehk228 · · Score: 1

      A union would require that programmers be paid for their time and paid for overtime, no more 30 day death marches and 70 hour weeks. A union would require objective disciplinary procedures so you can't get railroaded just because the boss's knobgobbler does not like you.

      --
      Snowden and Manning are heroes.
    124. Re:Pick a different job. by Anonymous Coward · · Score: 0

      noooooooooooooooooooooooooooooooooooooooooooooooooo!

      and if you see your name in all caps JOHN S. HOLIDAY

      that is your "person", the equivalent of a corporation, but without all the protection, and all the liability.

      when the corporations are screwing you over, they are screwing over your "person", which then spills over into the flesh and blood world, known as you.

    125. Re:Pick a different job. by Anonymous Coward · · Score: 0

      If you are a programmer and can't earn 50K a year, then YOU are the friggin' problem idiot. 50K???? Seriously? I haven't less than double that in a decade..and I'm not a particularly stellar programmer.

      50K? If you can't get a job making that...you are DEFINITELY the problem. Get out now!

    126. Re:Pick a different job. by Anonymous Coward · · Score: 0

      by fortunate, you really mean "fit for duty"...

    127. Re:Pick a different job. by udachny · · Score: 2

      the only idiot here is you, it is not about the group itself that is unconstitutional, it is about government creating laws that give privileges to one group by destroying rights of another.

      A free union is not the problem, the problem is government enforcing entitlements of a union and destroying rights of an individual (for example of the company owner).

    128. Re:Pick a different job. by Anonymous Coward · · Score: 0

      Last time I checked, the USA isn't the rest of the world, and in most Western countries the Democrats would be a right-wing party.

      Which alludes to the problem - there is a right wing party and a super right wing party in the USA. They don't keep each other in check. To the USA, the Dems seem left wing but only because the only comparison is to the other party. No objective benchmark to compare both is allowed to exist - money is just dumped in to drown the benchmark out so we keep believing what we are told - that there is no 'red-shifting' of the political spectrum.

    129. Re:Pick a different job. by dlingman · · Score: 1
    130. Re: Pick a different job. by Anonymous Coward · · Score: 0

      I work for a medical device company as a developer, working on completely proprietary software. I have completed two major projects, one of which has hundreds of thousands of dollars running through it. I am the only developer in the organization. My salary kind of sucks (80) but I am basically getting paid to learn as i was hired on 6 months of experience. The reason i have this unique position as an island is because i decided a long time ago to excuse myself from all the organizational bullshit all you donkeys are talking aboot. Wayne Gretzky!

    131. Re:Pick a different job. by wezelboy · · Score: 1

      It could be worse. You could be a sysadmin.

    132. Re:Pick a different job. by Anonymous Coward · · Score: 0

      Is it really that bad out there? Are programmers outside of the big geographic technology growth areas really undervalued?

      As always, it's about supply and demand. Case in point, me. I recently graduated college and entered the barren hellscape we call the post-2008 economy. Took me four months of sending out resumes before I found a job, but I wound up with a pretty nice job with a company you may or may not have heard of in a small town you definitely haven't heard of.

      Turns out they were interested in my open source development background from some hobby coding I did in school. They were in need of people with my exact skill set, and they were having a hard time finding people both qualified enough to do the job and willing to relocate to the area. So now I'm making nearly what I would make in a much larger city, but living in an area where the cost of living (housing, taxes, food, etc.) is 3 or 4 times lower. (And I'm saving and looking at houses and investment options while laughing at my classmates in Silly Valley who can barely afford their several-thousand-dollar-a-month apartments the size of my bathroom).

    133. Re:Pick a different job. by Anonymous Coward · · Score: 0

      As a level 3 support tech (not even a programmer) working in a regional school in a country with a long history of a healthy union movement, I'll keep my $56,000 pa job and stay in the industry, thank you.

    134. Re:Pick a different job. by swillden · · Score: 1

      Embrace mediocrity and find another outlet for your creativity.

      This is among the worst advice for programmers I've ever read. And it's pointless advice because it's where the majority of programmers already are.

      Oh, I certainly agree that clever code is a bad idea, but you should never stop thinking creatively about how to make your code better. Focus it on finding ways to structure your code that are elegantly simple and obvious, on finding the perfect name for that variable, function or class, one that precisely captures the meaning and intent -- and if there is no such perfect name, focus it on finding ways to refactor your code so that there is a perfect name. Programming -- done right -- is an inherently creative task, and the scope for beneficial creativity is vast.

      This even applies at the micro level. It's almost always the case that any handful of lines of code that contains branching logic can be structured in several different ways. Take the time and try each of them! See which is most concise, which is most readable, which highlights one aspect of the logic flow or another... and then spend some time deciding which aspect will be most important for the next programmer to read it. Think about how you can write code a little bit differently to eliminate -- and visibly eliminate -- important classes of functional or security bugs.

      One of the more important insights I received, after nearly 20 years as a professional programmer, was that comments are evil. Comments are a hack to work around the failure to write code which is sufficiently clear and expressive (note that I'm talking about inline comments, not comments used to generate documentation). When I find myself typing a comment, I step back and look for ways to improve naming, or refactor, until the comment is no longer necessary.

      Those are just a few examples, there are many more. Programming, like any art, is a never-ending opportunity for learning and improvement, because perfection is unachievable. Doesn't mean you shouldn't try, though. I can already hear the complaints "But I don't have time for that crap, I have deadlines, and..." that's just another set of constraints to be optimized. When time is tight, I focus on simplifying and making absolutely sure that my code is bug-free and has thorough automated tests, because there isn't any time for extended debugging.

      Never, ever settle for mediocrity. One of my proudest days was when another programmer whose skills and code I highly respect called my code the cleanest and clearest he's ever read. I strive to impress my colleagues (and I work with some of the best) with clarity, simplicity and elegance. Sometimes I succeed, mostly I fail... but I always learn in the process. After 25 years, I think I'm learning more every day now than I did when I started. The lessons are more subtle and far less obvious, but I think they're more valuable.

      --
      Note to ACs: I usually delete AC replies without reading them. If you want to talk to me, log in.
    135. Re:Pick a different job. by sjames · · Score: 1

      Unions are individuals who choose to join together to push back against the corporate collective. Sometimes, they also work against other individuals who would hand all the power right back to the corporate collective.

    136. Re: Pick a different job. by jameshuckabone · · Score: 1

      Beautiful post, man.

      --
      http://www.accountkiller.com/removal-requested
    137. Re:Pick a different job. by mrchaotica · · Score: 1

      Sadly no-one has the courage to stand up to them and try to come up with a solution that could actually work.

      The problem is not lack of courage; the problem is that such a "solution" doesn't exist.

      --

      "[Regarding the 'cloud,'] ownership was what made America different than Russia." -- Woz

    138. Re:Pick a different job. by Anonymous Coward · · Score: 0

      People shouldn't be licensed just to try and make a living, all professional government dictated licenses and participation in various organizations are a huge economic mistake but more importantly they are a huge impediment to individual freedoms.

      Are you excluding or including doctors, lawyers, and PE engineers?
      I assure you that there are excellent reasons for placing barriers to entry into these fields.

    139. Re:Pick a different job. by omfgnosis · · Score: 1

      Turning novel programming problems into an implementation that is non-clever, simple and clear is absolutely a creative pursuit. The "cleverness" that is (and/or should be) lambasted in programming is that which hides complexity. It's an expression of lax creativity. Creative programming can be a combination of a keen application of solved problems and actually clever solutions for unsolved problems. That cleverness is expressed by arriving at solutions that are simple and clear.

      This is work that is a long way off from being expendable. It will come eventually, but until then a large subset of programming problems require deeply creative work.

      Any programmer who feels that their work does not fit what I said above is almost certainly working on solved problems.

    140. Re:Pick a different job. by Anonymous Coward · · Score: 0

      Over 40 here too, guess what the right people pay for experience. The hell holes are going to get the cheapest thing available. If your not serious about investing in continually learning its all over for you and you probably should have never started. I work less than 40 hours a week in the office 9 - 5 (hell I can show up at 11 and the boss won't blink an eye), but I am bored so I picked up consulting on side and I like new challenges. If you can't hack it your out by 40 apparently.

    141. Re:Pick a different job. by Jeremi · · Score: 1

      Do you understand the benefits of a union?

      A union is most beneficial when workers are easily replaceable -- because if management can replace worker A with worker B without a lot of overhead, management can (and usually will) use that to drive salaries down, approaching the lowest salary that they can find at least one worker to accept.

      The trick in programming is to make sure you are not so easily replaceable -- if the company knows that it would take 6-12 months to get a new hire up to your level of productivity, they will not be so quick to "value engineer" your salary and benefits. Then you don't really need a union to stand up for you, because you have leverage to stand up for yourself. (The right way to do this is to know the company's software inside and out; the wrong way would be to make the software so convoluted that only you can understand it... ;))

      --


      I don't care if it's 90,000 hectares. That lake was not my doing.
    142. Re: Pick a different job. by Dynedain · · Score: 1

      That doesn't require a union to fix. Get off your ass and leave. As plenty of other people have pointed out, there are tons of non-union shops that respect their employees and don't pull that crap.

      --
      I'm out of my mind right now, but feel free to leave a message.....
    143. Re:Pick a different job. by Anonymous Coward · · Score: 0

      Would you rather be a cashier or a programmer ?

      Now go apply for a good union job and get back to us.

    144. Re:Pick a different job. by Anonymous Coward · · Score: 0

      I couldn't get a supermarket job when I was young. Would have loved to have made that much back then. I worked with a guy who had to take a paycut from his supermarket job when he quit it after graduating college and getting his first "professional" job. A recent study showed that adjusted for cost of living, average pay is higher in right to work states than union controlled states. AND the disparity between the rich and middle class is narrower.

    145. Re:Pick a different job. by Anonymous Coward · · Score: 0

      >Classically speaking, unions existed to drive up benefits through threat of strikes or walkouts.

      In other words, blackmail. In that context, the notoriously common union ties with organized crime should hardly surprise anyone.

    146. Re:Pick a different job. by CosaNostra+Pizza+Inc · · Score: 1

      Came here to say this!

      And it sucks everywhere except NYC/SF/Austin/Boston

      I probably should have gone into some kind of engineering.

      After 12 years, I left electrical engineering to go back to school for a CS degree. There was just no work out there in the U.S. unless you had lots of experience with ASIC design or work in the power industry with a professional engineers license. Now, I'm an enterprise software application developer and loving it.

    147. Re:Pick a different job. by CosaNostra+Pizza+Inc · · Score: 1

      By the way, I work in Boston

    148. Re: Pick a different job. by Anonymous Coward · · Score: 0

      And the company you work for isn't a mob trampling over your rights?

    149. Re:Pick a different job. by ComputerGeek01 · · Score: 1

      Comments are a hack to work around the failure to write code which is sufficiently clear and expressive (note that I'm talking about inline comments, not comments used to generate documentation). When I find myself typing a comment, I step back and look for ways to improve naming, or refactor, until the comment is no longer necessary.

      Talk about misleading advice. I agree with your premise that the purpose of your code should be apparent through a the use of a meaningful naming convention but that does NOT eliminate the need for comments. Comments should be redundant, they are meant to confirm the obvious so that there is no room to second guess what that section of code is meant to do. Your code may be "clean" and "easy to read" but that means something between jack and shit to the poor PFY who has to bring it into compliance with a new standard. Who do you honestly think is better off? The intern who has the privilege of learning from your immaculate structure while basking in the glow of your brilliance; or the guy who can read what you've done and make the changes he needs to and make it out of the office in time to meet that new blonde from accounting out for drinks?

    150. Re:Pick a different job. by NoImNotNineVolt · · Score: 1

      I don't get it.

      And to answer your question: neither. I'd rather be a pizza delivery guy. Those aren't unionized either, though.

      --
      Chuuch. Preach. Tabernacle.
    151. Re:Pick a different job. by NoImNotNineVolt · · Score: 1

      I live in NJ, a right to work state. My employment at the neighborhood ShopRite and Pathmark came with union membership at both stores. I was paid minimum wage at both stores. All the cashiers were (to start). It wasn't possible for me to (legally) take a pay cut from there. I'm not sure what you're saying. Perhaps cashiering at a supermarket is the ticket to riches where you live, but it seems that unions are preventing the unreasonable escalation of labor costs here in right to work NJ.

      --
      Chuuch. Preach. Tabernacle.
    152. Re:Pick a different job. by Anonymous Coward · · Score: 0

      I've worked as a maintenance programmer and have a little different view: If you find out you write thousands after thousands of lines of bulk code, STOP.

      These don't necessarily conflict though. What you really need is the least 'clever' thing that accomplishes the task with reasonable amount of code. With 20-30 years of experience, this is sometimes possible.

    153. Re:Pick a different job. by Anonymous Coward · · Score: 0

      When the code evolves it will eventually conflict with the comment in a way where the code is right and the comment is wrong. Then, the intern will "fix" it, get out with the blonde and get called back to the office to revert the fix and manually correct corrupt database entries in the middle of romantic evening.

      The difference between comments and documentation is that the latter is about things that are supposed to be fairly static. You don't go changing interfaces randomly and if you do, the requirement of keeping documentation up to date is a good deterrent from that.

    154. Re:Pick a different job. by Spazmania · · Score: 1

      So the deathmarch would be acceptable if the boss further cut the quality control work in order to deliver on time? Really? 'Cause unions don't demand schedule changes, they only demand that workers get paid. And the kind of boss that requires a deathmarch places a priority on his uneducated concept of "good enough."

      Seriously, if that's acceptable to you I don't want you on my team or anywhere near my code. At any salary.

      Snowden and Manning are heroes.

      Manning is a vile, conscienceless poor excuse for a human being who thinks the world owes him something. The patriotism in Snowden's behavior is at least debatable but Manning? The guy/gal whose response to a bad month was to indescriminately dump every secret he could get his hands on? What's wrong with you?

      --
      Moderating "-1, Disagree" is simple censorship. Have the guts to post your opinion.
    155. Re:Pick a different job. by Anonymous Coward · · Score: 0

      That's basically my point. I have never had a single job where my employer considered me easily replaceable. Aside from whatever talents I may have that others may or may not posses a few little qualities like work ethic and not being a fscking jackass go a LONG way. Along that way I've had untold numbers of coworkers who couldn't get those two (very controllable) aspects down and frankly I have no sympathy for them. I have NO desire what-so-ever to lift up their boat when they have the power to do it on their own.

      Financially my wages have outstripped inflation by far every year I've spent in the workplace. Aside from the years I've been a pure contractor, my benefits have been fantastic and I've had guaranteed good raises. When I've switched employers that has generally meant an even bigger adjustment in pay. Aside from a couple jobs where some of my on-site trips ended up with some fairly insane hours, my average work week has been 45 hours/week on salary which has been in my control (see above comment on work-ethic... shiz needs to get done sometimes)

      There is nothing in the past couple of paragraphs that would be improved one iota if I had a union. If anything I'd be seeing a chunk of my paycheck go to them so immediate drawback there. At worst their "negotiations" may get a better average situation for my fellow coder BUT I've *never been "average" and will never aspire to that and so would instead face an employer who's bottom line got hit and is less likely to work with me as an individual to get what I want. As I said 2 comments ago, life as a software engineer is pretty sweet where I live. Someone who's myopic and thinks the world doesn't exist outside of the big 4 tech hub metros also doesn't have my sympathy much like the hundreds/thousands of writers who move to Hollywood every year and can't get a job (or get a crappy one). Sorry but you did that to yourself.

    156. Re:Pick a different job. by Anonymous Coward · · Score: 0

      ^ The cold does have its perks...

      Personally I love the cold. I'm a very warm blooded person who wears sandals (no socks) all winter long. I have an AWD vehicle that makes driving in the snow fun and there is a whole world of winter fun to be had. I know I'm the exception in that respect but honestly, while the rest of the people who live here may complain a lot more they all keep living here. At some point I would think an outsider might look at that one little fact and ask: Why do they put up with it? The answer to that question is something I'm glad SO many people don't find out because else it would be WAY too crowded here! ;-)

    157. Re:Pick a different job. by UnderCoverPenguin · · Score: 1

      I don't write mediocre code, I write smart code which is something else entirely than being "clever".

      ++ this. There is a huge difference between smart code and "clever" code.

      Disclaimer: My employer doesn't view me as a mere programmer. From my employer's official description (as given to the recruiters): "Associate Engineer, Electronics/Mechanical/Software/Systems/Validation: 1. Demonstrated ability to design and implement smart solutions to complex problems. ... 3. Work well in a cross-discipline team environment. ...." (I am currently a "senior engineer, SW") They pay me and my co-workers to come up with *smart* code (among other things).

      --
      Don't try to out wierd me, three-eyes. I get stranger things than you, free with my breakfast cereal. --Zaphod Beeblebr
    158. Re: Pick a different job. by udachny · · Score: 1

      Well, the company belongs to me, so if it is 'trampling my rights' at least I know it's not a mob but myself.

    159. Re:Pick a different job. by Lehk228 · · Score: 1

      there won't be many 70 hour weeks when they have to pay you for 85 hours if they want you for 70

      you have a real hard on for hating unions why is that? show me on the doll where the union touched you.

      --
      Snowden and Manning are heroes.
    160. Re:Pick a different job. by Spazmania · · Score: 1

      I'm not a fan of rules, of someone telling me how to do my job. Not a fan when the boss tries to do it. Even less a fan when the local 409 tries.to do it.

      Programming is a creative endeavor. If I'm not free to create then its just another suck job. And life's to short to spend it working a suck job.

      --
      Moderating "-1, Disagree" is simple censorship. Have the guts to post your opinion.
    161. Re:Pick a different job. by Anonymous Coward · · Score: 0

      The neighbour has the right to silence at 4am, etc. Countering individual freedoms provide the balance in any sensible argument.

    162. Re:Pick a different job. by badkarmadayaccount · · Score: 1

      And similarly, they are a lie!

      --
      I know tobacco is bad for you, so I smoke weed with crack.
    163. Re:Pick a different job. by plopez · · Score: 1

      So a landscaper says tech jobs are booming.

      --
      putting the 'B' in LGBTQ+
    164. Re:Pick a different job. by jwhitener · · Score: 1

      "big code farms elsewhere"

      That is the main reason to unionize. If you are just a replaceable cog in some giant company. Which is, I assume, a significant percent of total programmers. Hence why some people (smaller companies, unique skill sets and/or higher skill sets) seem baffled why anyone would want to unionize, and why other people (more common skill sets, huge companies) seem baffled why anyone could possible see a downside to unionizing.

    165. Re:Pick a different job. by jimbolauski · · Score: 1

      There's no luck involved in being good at your job. There is no luck involved in teaching yourself important skills to make yourself more desirable to employers. If you are not earning the wage you feel you deserve and you can't find anyone to pay you it then you are the reason you are not earning those wages.

      --
      Knowledge = Power
      P= W/t
      t=Money
      Money = Work/Knowledge so the less you know the more you make
  5. research what's in demand by mpicpp · · Score: 1

    I would have saved myself a lot of trouble if I had looked at job postings to see what was in demand and what was not. I'm also going to suggest at least an associates degree. If you have a master's, you get much more interesting projects to work on. Some people look at degrees and some people give technical interviews. A degree isn't mandatory, but you do get exposed to standards and how people expect your code to look, function, etc.

  6. Getting a job is not what you'd want by Anonymous Coward · · Score: 0

    My parents raised me with a pragmatic approach to life: study hard and then get a job. They should have said: "Study hard, so you can go and live a productive life while changing the world."

    1. Re:Getting a job is not what you'd want by slazzy · · Score: 1

      Yes, instead of looking for a great job, create great jobs for people.

      --
      Website Just Down For Me? Find out
  7. javascript: I read it instead by Anonymous Coward · · Score: 0

    Reading server up-time maintenance...

  8. Every day until I retire I would.... by Anonymous Coward · · Score: 0

    Every day (until I retire) that I would code boring stuff that other people (that can't make up their mind) want.

  9. History by TechNeilogy · · Score: 5, Insightful

    I would have studied more about the history of computers and computer science. It would have kept me from re-making so many mistakes and re-inventing so many wheels.

    --
    "The wisdom of the Patriarchs was that they *knew* they were fools." --Master Foo
    1. Re:History by Ronin+Developer · · Score: 1

      Or, you could just talk to the old guy in the corner - I am always willing to impart knowledge to those who ask.

      Have you seen my stapler?

    2. Re:History by Anonymous Coward · · Score: 0

      Yeah, I totally bet you've reinvented enough computer history to have made studying computer history worthwhile.

  10. Where to begin by MAXOMENOS · · Score: 4, Interesting
    • Project management, specifically the importance of not being a bottleneck.

    • How to design a solution on my own time before I code a solution on company time.
    • Differential diagnosis of bugs (see #2 of the link above --- although I learned this skill later in graduate school and have applied it multiple times since.)
    • Code for readability and correctness first, efficiency later. Code that is "too clever" will never be maintained (except by you).
    • I really enjoy programming as a way of automating tasks and not for other reasons --- which makes me better as a systems administrator than as a software developer.
    1. Re:Where to begin by preaction · · Score: 5, Insightful

      • How to design a solution on my own time before I code a solution on company time.

      Though I inevitably unconsciously think about work code during non-work time, I will never consciously spend time thinking about or working on work code during non-work time.

      They are paying for my brain, they can pay me to sit and think for a while. The actual typing of code is not what programming is.

    2. Re:Where to begin by Tablizer · · Score: 1

      Project management, specifically the importance of not being a bottleneck.

      Learning to not be a bottleneck seems more important in your case than project management in general.

    3. Re:Where to begin by k.a.f. · · Score: 1

      You wish you had always known "how to design a solution on my own time before I code a solution on company time"? Why?

    4. Re:Where to begin by Anonymous Coward · · Score: 0

      You get paid for coding on your own time?

    5. Re:Where to begin by Oligonicella · · Score: 1

      Agreed. Determining that solution is part of the job, not your home life. Besides, part of finding that solution yields documentation for the project if you do it properly.

    6. Re:Where to begin by Antonovich · · Score: 1

      I guess I'm like MAXOMENOS here. I'm also more of an admin than a programmer but have been doing precious little of either recently unfortunately. I also spend lots of time outside of work thinking about the solutions I create though. I can make something that works quickly but I don't want to make something that works, I want to make something that works beautifully. I want to make something that is stable, secure and behaves well under impossible loads. And also that I can look at later and think "dude, that's some fit code you've got there".

      My job is currently more internal consulting (business/data oriented) than anything else but the project technical lead has told me I can have no technical resources until the new version is out (they are already 6 months late and still several months from finishing). The problem is my job is made massively difficult by the utterly ridiculous current state of affairs on the production version. So, in spite of being told NO, I'm developing a new module (a lot on my own time) so we can move to a new external provider (who actually has the functionality we need and charges literally 1/5th of the price with better service) and then I'll actually be able to do my job... And I'm doing it in PHP CLI (YUCK) because that is what the current stuff is and for it to be accepted it has to be a drop-in replacement, and of course it has to be significantly more reliable than the current stuff or it'll get shot down.

      And you know what? I'm loving it. That is the advice I would give - if you don't love solving problems with code then become a project manager.

    7. Re:Where to begin by Anonymous Coward · · Score: 0

      The actual typing of code is not what programming is.

      When I'm working on my own projects at home, a good deal of my 'programming' time is often spent lying down on a futon, staring straight up at the ceiling. It looks like I'm taking a break or something, but I'm lying there calculating things and working things out. Wish I had a futon at work too - stepping away from the computer screen is often the best starting point in me figuring out a logic problem.

    8. Re:Where to begin by Anonymous Coward · · Score: 0

      They are paying for my brain, they can pay me to sit and think for a while. The actual typing of code is not what programming is.

      Good luck getting management to understand something when they have a vested interest in not understanding. If they can get away with treating you as a typist tacking dictation while claiming that's what they think you do, they can pay you less. They don't want you to think because you may have a good business idea that might make or save money - can't have that because that's why management is paid the big bucks.

      We can't have the proletariats threatening the bourgeoisie with thoughts that might shake up the status quo now can we?

  11. How to troubleshoot. by darylb · · Score: 4, Informative

    Knowing how to troubleshoot systems -- whether it's code, or things like cars and other physical machines or electrical wiring -- is key. Every programmer will spend time fixing his own code, and has a good chance of spending even more time fixing someone else's. Building the skill to understand complex systems quickly, and to apply fixes that are short of "re-write the whole thing", is essential.

    I've been a developer for over 20 years. Maybe 20-25% of my total time is spent writing new functionality. About 35% is fixing bugs (mine and others'), with the remainder spent on process documentation, design, etc.

    1. Re:How to troubleshoot. by Kiaser+Zohsay · · Score: 1

      Here, here. Also, maintenance is a good way to learn how things can break, and from that you can learn how to build things that are less likely to break in the first place. One thing that people who work with me hear over and over again is "Fix it so it stays fixed."

      --
      I am not your blowing wind, I am the lightning.
    2. Re:How to troubleshoot. by Anonymous Coward · · Score: 0

      I had an aircraft engineer diagnose a hardware fault with two questions.

      1. Which is the most expensive bit?
      Me no, that's working.
      2. Which bit is most difficult to get at?
      Ah... yes that's it.

      Replace expensive with "longest time to code", or "most difficult to get at" as the most heavily integrated bit of code and most trouble will need shooting there.

  12. How to write code by DudeTheMath · · Score: 4, Insightful

    Write like someone smarter than you will have to fix it ("Who wrote this crap? At least I can tell why he or she did that."), and like someone dumber than you will be adding features ("Bless him or her for making this easy."). You'll be both eventually.

    --
    You save only 59 seconds over 8 miles by going 75 instead of 65. Do you really have to pass that guy? Do the Math!
    1. Re:How to write code by Anonymous Coward · · Score: 0

      You save only 59 seconds over 8 miles by going 75 instead of 65. Do you really have to pass that guy? Do the Math!

      Ya sorry I'm late. I would have been here 3 seconds ago but the jerk in front of me had a bike rack!

    2. Re:How to write code by Jason+Levine · · Score: 4, Insightful

      The worst is when you handle old code and think "Who programmed this garbage", only to realize you did years ago.

      That's the bad part of growing as a programmer, you look back at your old code and see it as awful since you now know better. (It can also wind up making you think you're a horrible programmer because your old code looks so bad. It doesn't mean you ARE a horrible programmer, though, just that you are growing.)

      --
      My sci-fi novel, Ghost Thief, is now available from Amazon.com.
    3. Re:How to write code by DudeTheMath · · Score: 2

      Oh, yeah, that "someone smarter than you" is often future you! OTOH, I also get to look at the occasional bit of code I wrote ten years ago and think, "Well done, young padawan" (although maybe that means I haven't learned enough yet to know a better way).

      --
      You save only 59 seconds over 8 miles by going 75 instead of 65. Do you really have to pass that guy? Do the Math!
    4. Re:How to write code by Cro+Magnon · · Score: 2

      The scary thing is, I knew that the crap program I wrote when I started was crap at the time, but I was behind schedule, the requirements had changed 15 times, and I couldn't think of a better way to write it.

      --
      Slow down, cowboy! It has been 4 hours since you last posted. You must wait another few hours.
    5. Re:How to write code by Anonymous Coward · · Score: 0

      Naw, the worst is being amazed at code you wrote last week and forgetting that you wrote that code last week.

    6. Re:How to write code by Anonymous Coward · · Score: 0

      So true - I thought that only happened to me.

    7. Re:How to write code by slipped_bit · · Score: 1

      Future me? I don't envy him!

  13. Read a book by Anonymous Coward · · Score: 0

    If I had a time machine I'd tell old me to read even more. I spent a lot of time reading, but not enough since I'm still learning plenty of stuff that makes my life incredibly easier. And then go contribute to some stuff on GitHub instead of writing irrelevant subkloc crap all the time.

    But overall I did fairly well. Nice job, old me.

    Captcha : reread

  14. Quite simply... by NecroPuppy · · Score: 5, Funny

    That people who use spaces for indentation are just WRONG. :)

    --
    I like you, Stuart. You're not like everyone else, here, at Slashdot.
    1. Re:Quite simply... by Anonymous Coward · · Score: 0

      I do hope your being sjoking!

    2. Re:Quite simply... by pla · · Score: 1

      That people who use spaces for indentation are just WRONG. :)

      Don't make me come over there and physically remove your "tab" key, heathen!

    3. Re:Quite simply... by Wraithlyn · · Score: 5, Insightful

      OK, I'll bite. :)

      In a Perfect World, tabs would indeed be superior to spaces. No question.

      But in the Real World, tabs and spaces inevitably get mixed together as multiple people touch a project, and then indentation gets messed up.

      Standardizing on spaces helps mitigate this, as everyone sees the exact same thing regardless of editor (whereas tab spacing typically depends on local editor settings). And any editor should be able to "use spaces for tabs" so there is no actual impact on developer effort.

      --
      "Mind, as manifested by the capacity to make choices, is to some extent present in every electron." -Freeman Dyson
    4. Re:Quite simply... by Anonymous Coward · · Score: 0

      Says the guy that has his tab settings set to emulate 5 spaces...

    5. Re:Quite simply... by Anonymous Coward · · Score: 0

      Then standardize on tabs and standardize on tab display of 4 spaces then! It's very easy.

    6. Re:Quite simply... by Anonymous Coward · · Score: 0

      I worked with a quite brilliant developer once who thought code format should belong to the developer and as things were checked in and out of source control it should be formated in a style of the developers choosing - the same with compares etc.

    7. Re:Quite simply... by dotancohen · · Score: 1

      OK, I'll bite. :)

      Standardizing on tabs helps mitigate this, as everyone sees what they like to see (I se tabstop=4 in vim on my vertical monitor, my emac-using coworker likes tabs to look like 8 spaces on his widescreen monitor), yet indentation level 3 is represented by 3 of something, not 12 (as I would have it) or 24 (as Stas would have it) of something.

      --
      It is dangerous to be right when the government is wrong.
    8. Re:Quite simply... by Anonymous Coward · · Score: 0

      It doesn't work that way, in the long run. Tools change.

    9. Re:Quite simply... by omfgnosis · · Score: 1

      Standardizing on anything mitigates mixtures of non-standard things. Spaces aren't magically special.

    10. Re:Quite simply... by Anonymous Coward · · Score: 0

      I know this is some of the oldest flamebait on the net, but, it just bugs me that this got modded insightful.
      It's entirely circular logic at best and at worst it's "If you can't beat 'em, might as well join 'em".
      Which completely contradicts your statement of " tabs would indeed be superior to spaces. No question." Clearly you don't actually believe that.

  15. SmallTalk by angel'o'sphere · · Score: 1

    I wished I had known about SmallTalk and started with it rather soon.

    Perhaps I should have finished my studies quicker and made a PhD and should have went into research instead of programming in the industries.

    --
    Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
  16. Most programming jobs are complete shit by Anonymous Coward · · Score: 0

    Get ready to be told how to do your job by some asshole who read a "How to Program in 24 hours" book and thinks s/he can engineer a solution better than someone with 20 years of experience in the problem space, and then learn how to take the blame when it all falls to shit.

    The secret, of course, is to do this while being amiable and competent. As long as my paycheck is deposited on time and as long as that money spends, you can call me a mother-fucking incompetent fuckhead all day long.

  17. Hindsight is 20/20 by MagickalMyst · · Score: 5, Insightful

    I wish I had known how uninteresting and boring coding could be when working for a corporation. It was the ability to be creative and imaginative that made me fall in love with coding in the early eighties. Although I still work in IT, I generally don't code for companies anymore. And somehow coding has miraculously become very interesting once again!

    --
    Political correctness is really just herd psychology pushed by insecure people who desperately seek social conformity.
    1. Re:Hindsight is 20/20 by 91degrees · · Score: 2

      I've had a mixture. Developing a demo for a new game pitch was fun. Coming in late to an existing game was dull. Developing a trade show display using cool technology was fun, as was developing demo tools to show off a price of tech. Maintaining an established product with years of legacy code is extremely tedious.

      I do consider myself lucky to have been involved in the greenfield projects. Well over 90% of the work out there is pretty dull maintenance stuff, but it is possible to get interesting work working for a company.

    2. Re:Hindsight is 20/20 by Tablizer · · Score: 1

      It's kind of like how marriage ruins romance.

  18. Found a company by Anonymous Coward · · Score: 0

    Even if there is a big exit, employees get a bonus and founders get paid.

  19. Managment is populated by idiots by Anonymous Coward · · Score: 0

    and those are the good ones. They generally don't get in the way enough to prevent success. Then you get one that thinks they know enough to 'fix software development". That's when you're really in trouble.

  20. That an assembler was way easier than hex opcodes by mark-t · · Score: 4, Insightful

    When I first started programming the 6502, back in 1981, I was still in school, and I was manually entering hex opcodes for every machine language program I wanted to create... I was doing this for about 6 months before somebody pointed out that I could use an assembler. I honestly didn't understand what they were talking about until I used one to type in a program that I saw in Nibble magazine. I never looked back. An assembler would have saved me *loads* of time if I had known about it at the beginning.

  21. Kids These Days by Anonymous Coward · · Score: 0

    Newbie programmers these days are completely spoiled with the riches of memory and GHz available. I wish I'd known that a lot of the time spent hand-optimizing my code would be immaterial in a few years time when newer cheaper hardware made the improvements negligible.

    1. Re:Kids These Days by cerberusti · · Score: 1

      I still end up hand optimizing a lot of code. There are many tasks which are at the limits of current computational capacity, and require a lot of optimization in order to achieve a run time which is acceptable.

      That mindset, and the newbies who have no idea how to do it, lead to few people who can do so competently these days, and therefore make it a very valuable skill.

      --
      I'm a signature virus. Please copy me to your signature so I can replicate.
  22. Test driven development. by aeschinesthesocratic · · Score: 3, Informative

    Or just the proper applications of unit and regression tests.

    1. Re:Test driven development. by tonywestonuk · · Score: 1

      I think if I knew about TDD at the start of wanting to learn to program, I think I would have avoided it completely, and done something else with my time. Seriously, for all the advantages of TDD, the problem is it is just not fun at all.

    2. Re:Test driven development. by aeschinesthesocratic · · Score: 1

      Not so much just "fun" but necessary imho. And if you think TDD isn't fun, you should try refactoring or supporting code that has zero percent test coverage.

      I saw this while tutoring in college as well. Students would come to me with code and manually test changes that they made to it. It was a menial and numbing task, and one that they would do only occasionally because of that fact. They were frustrated by how their changes often broke the other parts of their code. If only there was a way to automatically check if the rest of their code was ok... GASP! Sounds like a job for unit testing...

      Insofar as fun, I don't know about the rest of you, but it does make me very excited to see all my tests pass. That means I'm getting somewhere!

  23. Grit by jones_supa · · Score: 4, Insightful

    I would have teached him grit. Oh god, how many unfinished little projects I had. Learn to concentrate on one thing and finish it properly. Just keep grinding on it.

    1. Re:Grit by Matheus · · Score: 1

      Combine this with the ability to, on a schedule, step away in such a manner that you can reliably get past whatever hurdle/writers block you are suffering from. If you're really good you can 'force' those a-ha moments when you don't have the time to wait for them to happen. Sometimes just blindly grinding on will get you nowhere.

      Back to the hell yeah tho: You don't get paid if you never ship. If you can't get the job done then it doesn't matter how great you were at starting it.

  24. Rewrite by ERJ · · Score: 1

    Sometimes re-writing something just because it uses older technologies or isn't how you would design it is not worth it. Your customers may live by the "quirks" of your system and those code work-arounds may be there for a reason.

  25. Re:I wish you'd know basic English... by Anonymous Coward · · Score: 0

    Yeah, I've seen this a LOT lately and it bothers me too. It's simple english. To say you could care less about something means literally that! This means that you DO care to some extent and that it could be neglected much further than it is currently.

    Why is parent modded down?
    Is it a new thing where we say the complete reverse to what we mean?
    Is it opposite day already? Or are some people really that dumb?

  26. I wish I had read Dale Carnegie by pscottdv · · Score: 4, Insightful

    How to Win Friends and Influence People

    --

    this signature has been removed due to a DMCA takedown notice

    1. Re:I wish I had read Dale Carnegie by Princeofcups · · Score: 0

      How to Win Friends and Influence People

      So you wish you were a sociopath? BTW, I gave A LOT of thought to the "career" aspect of programming when I started out, which is why I moved into systems and network administration.

      --
      The only thing worse than a Democrat is a Republican.
    2. Re:I wish I had read Dale Carnegie by pscottdv · · Score: 1

      You have never read it.

      --

      this signature has been removed due to a DMCA takedown notice

    3. Re:I wish I had read Dale Carnegie by Tablizer · · Score: 1

      It's why he's neither winning friends nor influencing people with that post.

    4. Re:I wish I had read Dale Carnegie by pscottdv · · Score: 1

      To be fair, Mr. Carnegie would hardly have approved of my post either.

      It occurs to me that Princeofcups may be confusing Dale Carnegie with Andrew Carnegie.

      --

      this signature has been removed due to a DMCA takedown notice

    5. Re:I wish I had read Dale Carnegie by Tablizer · · Score: 1

      He should have wrote an Anonymous Coward edition.

    6. Re:I wish I had read Dale Carnegie by Anonymous Coward · · Score: 1

      I read it. It's not double-speak for how to become a sociopath. In fact, it's the opposite.

      It may be a bit old and tired, but it basically is a manual of how to not be a jerk. It covers a lot of little details that a lot of people don't think are important; but, after the years go by, I realize that they have an impact.

      Basically, dress to be presentable in nearly any circumstance (which typically means business casual, minus the jacket and tie). Invest in knowing the people around you, including calling people by their name, saying please and thank you, and remembering their family, anecdotes, and the last non-business things they were talking about. Do what you promise, deliver bad news quickly (and without drama), deliver good news slowly (and without taking credit). Truly value the job you have (in a non-desperate way) and value the people you work with more.

      Unfortunately, many software engineers tend to underplay the importance of relationships. Building strong relationships is how you get stuff done. Being independently brilliant is just grandstanding in a way that gets less done.

  27. Important knowledge by Anonymous Coward · · Score: 0

    What a soul sucking career career it really is.

  28. Simple by geekoid · · Score: 4, Insightful

    put every god damn penny you can into a 401k.
    Oh, you mean programming wise?

    --
    The Kruger Dunning explains most post on /. http://en.wikipedia.org/wiki/Dunning%E2%80%93Kruger_effect
    1. Re:Simple by NoImNotNineVolt · · Score: 1

      Why a 401(k) and not a Roth 401(k) or Roth IRA? Is there some benefit to paying taxes on your gains?

      --
      Chuuch. Preach. Tabernacle.
    2. Re:Simple by Anonymous Coward · · Score: 0

      Why a 401(k) and not a Roth 401(k) or Roth IRA? Is there some benefit to paying taxes on your gains?

      Sometimes, yes. It's pay now (Roth) or pay later (traditional). Did you think the answer was the same for everybody?

    3. Re:Simple by NoImNotNineVolt · · Score: 1

      I'm talking about gains. Your gains "now" (pre-investment) are zero. Unless your money has a time machine.

      --
      Chuuch. Preach. Tabernacle.
    4. Re:Simple by Anonymous Coward · · Score: 0

      I'm talking about gains. Your gains "now" (pre-investment) are zero. Unless your money has a time machine.

      The amount you have to put in is less in a Roth. Because it is put in post-tax.
      e.g. if you're in a 20% tax bracket, and assuming a 10% return for three years: .8*1.2*1.2*1.2 (ROTH) == 1.2*1.2*1.2*.8 (401k)

      Now, when you first get a job, and are in a low or zero percent tax bracket, put it in a Roth. If your job matches, max out whatever they match in whatever they'll put it in.

      As to what I wish I knew, I wish I knew how much Amazon, Ebay, etc. would go up.

    5. Re:Simple by Anonymous Coward · · Score: 0

      AC here...above is assuming a 20% return....oh, well...

    6. Re:Simple by Anonymous Coward · · Score: 0

      The 401k is the root cause behind most our problems. It artificially inflates the stock market and gives a huge amount of power to it. Nothing wrong with investing your own money, but the fact that it's pretty much mandatory in a lot of places means we're just giving more money to people who's job it is to find ways to reduce costs.

    7. Re:Simple by Anonymous Coward · · Score: 0

      It mostly boils down to whether you think you will be in a higher or lower tax bracket when you start taking distributions from your retirement versus now while you are paying into it. Similarly, you might speculate about the tax rates at each bracket.

      With high income now, you might prefer to make the tax-exempt deductions to lower your effective tax rate. With lower income now, you might think it makes more sense to pay the tax now. Also, by paying the tax now, you effectively have less available to invest, which affects the compounding returns over the long term.

      It's a lot more complicated than the brochures would make it seem...

    8. Re:Simple by mrchaotica · · Score: 1

      And it still fucking depends. If you can get your AGI low enough (via tax-deferred, i.e., not Roth, 401(k) or IRA contributions) then you might suddenly become eligible for things like the Saver's Credit. You might even be able to get your AGI so low that you can put part of your money in a Roth and pay zero taxes now and later.

      Maybe it's irrelevant if you're single and making $100K in the Valley, but if you're married with one income and a couple of kids in a low cost-of-living area it's different.

      --

      "[Regarding the 'cloud,'] ownership was what made America different than Russia." -- Woz

    9. Re:Simple by Anonymous Coward · · Score: 0

      Roths can't be used if you earn a reasonable amount of money (100k+)

    10. Re:Simple by NoImNotNineVolt · · Score: 1

      The amount you "put in" is taxed either way. The only difference is when it is taxed. With a Roth, you're taxed only on the amount you "put in", immediately. With a traditional, you're taxed on both the amount you "put in" as well as any gains, but only after you withdraw it all.

      With a traditional retirement account, you're taxed on both the money invested as well as the gains from that money. With a Roth retirement account, you're taxed only on the money invested, and not the gains. This, to me, makes a Roth retirement account considerably more attractive, particularly since after a long time of accruing reasonable yields, a majority of most retirement accounts' values stem from capital gains, not principal. Is it not true that in the long term, the value of a retirement account is dominated by capital gains, not principal?

      Of course, I recognize that there's many variables here, so this may not be the case for everyone. For example, perhaps one somehow has a very high tax rate as a worker saving for retirement, and a very low tax rate as a retired person drawing from retirement accounts. In such a scenario, it might make more sense to pay the tax up-front and invest in a traditional retirement account, only paying (the lower rate) tax when drawing from these retirement accounts. However, since the bulk of most retirement accounts (at retirement) is from capital gains, not principal, I can't imagine a marginally lower tax rate compensating for a vastly larger sum of taxable income/gains in any ordinary situation. Another scenario is where the investor enjoys only miniscule gains. In this case, the retirement account would contain primarily principal, and the benefit of the Roth would likely be outweighed by the traditional account's (usually) better tax rates. However, I don't see either of these scenarios as especially likely. Am I missing some other (hopefully more likely) scenario where the traditional retirement account is preferable to a Roth?

      I am not an accountant. Your mileage may vary. Side effects may include nausea, stroke, or death.

      --
      Chuuch. Preach. Tabernacle.
    11. Re:Simple by NoImNotNineVolt · · Score: 1

      Didn't know about the Saver's Credit. In my native NJ, having an AGI of $60k for a married couple would land you square in the in-laws basement. No way in hell you'd have money to raise kids, let alone to put aside for retirement. I have trouble remembering that there's places in this country where that's not the case.

      --
      Chuuch. Preach. Tabernacle.
    12. Re:Simple by NoImNotNineVolt · · Score: 1

      Modified Adjusted Gross Income limits (2013):
      Single filers: Up to $112,000 (to qualify for a full contribution); $112,000–$127,000 (to be eligible for a partial contribution)
      Joint filers: Up to $178,000 (to qualify for a full contribution); $178,000–$188,000 (to be eligible for a partial contribution)

      Depending on how good your accountant is, this is more like $150k for singles, $200k for married couples.

      Also, while these MAGI limits apply to Roth IRAs, I can't help but point out that traditional IRAs also have MAGI limits as well:
      Single filers: Up to $59,000 (to qualify for a full contribution); $59,000-$69,000 (to be eligible for a partial contribution)
      Joint filers: Up to $178,000 (to qualify for a full contribution); $178,000-$188,000 (to be eligible for a partial contribution)

      Actually, it looks like traditional IRAs can't be used if you earn half as much.

      Citations: Traditional, Roth

      --
      Chuuch. Preach. Tabernacle.
    13. Re:Simple by Anonymous Coward · · Score: 0

      max out both

    14. Re:Simple by omfgnosis · · Score: 1

      Is there some benefit to paying taxes on your gains?

      Living in a society that isn't crumbling?

    15. Re:Simple by NoImNotNineVolt · · Score: 1

      I meant this from a purely self-interested point of view. Tragedy of the commons and all.

      Disclaimer: As a single and childless member of the middle class that doesn't take any deductions, I'm paying at least my fair share. I'm a communist at heart.

      --
      Chuuch. Preach. Tabernacle.
    16. Re:Simple by Anonymous Coward · · Score: 0

      Yes, if you expect that those taxes will be less than your current tax rate.

    17. Re:Simple by NoImNotNineVolt · · Score: 1

      Okay, so let's make up some numbers and say your current tax rate is a whopping 50%, and you expect that during retirement it will be a paltry 25%. Also, let's say that of the $500K in your IRA, $100k is principal and $400k is gains.

      Traditional IRA:
      You grossed $100k to get that $100k into a traditional IRA. You paid no taxes on it. You'll be paying 25% on the full $500k when you take disbursements. That's $125k in taxes, total.

      Roth IRA:
      You grossed $200k to get that $100k into a Roth IRA. You paid 50% tax on it. You'll be paying 0% on the full $500k when you take disbursements. That's $100k in taxes, total.

      So here we have a case where "you expect that those taxes will be less than your current tax rate", and indeed, the traditional IRA has a greater tax burden than a Roth IRA.

      Of course, I admit that it's possible that you won't see those types of returns in your IRA. Perhaps you started saving later in life. Perhaps you just really suck at investing. I'll freely admit that it's possible that most of your retirement fund is principal and not gains. However, as far as I know, that's not a likely scenario.

      Is my "80% gains / 400% growth" assumption unreasonable for a typical retirement account? I mean, you get this type of growth at 7.18% for 20 years; not exactly unrealistic. The S&P 500 has averaged 13.29% from 1980 through 2013. At this rate, it would take just over 11 years to get 400% growth. If anything, my assumptions are rather conservative.

      --
      Chuuch. Preach. Tabernacle.
    18. Re:Simple by Teckla · · Score: 1

      The size of the contributions you can make to Roth IRAs are very limited, making them useless as your sole retirement investment vehicle.

      401(k)s let you put in much bigger contributions, and grow tax free. Only withdrawals are taxed.

    19. Re:Simple by NoImNotNineVolt · · Score: 1

      The size of the contributions you can make to Roth IRAs are very limited, making them useless as your sole retirement investment vehicle. 401(k)s let you put in much bigger contributions, and grow tax free. Only withdrawals are taxed.

      The contribution limits for traditional IRAs are the same or lower than those for a Roth IRA. I don't know much about Roth 401(k) accounts, so I won't comment on how they compare against traditional 401(k) plans.

      You're comparing IRAs against 401(k)s. I was making a statement comparing traditional retirement accounts against Roth retirement accounts. Apples, oranges.

      --
      Chuuch. Preach. Tabernacle.
    20. Re:Simple by Teckla · · Score: 1

      I don't know what a "Roth 401(k)" is -- I've never heard of that before. My understanding is as follows:

      Traditional IRA: Pre-tax contributions; money grows tax free; withdrawals are taxed; fairly limited yearly maximum contributions.

      Roth IRA: Post-tax contributions; money grows tax free; withdrawals are not taxed; fairly limited yearly maximum contributions.

      401(k): Pre-tax contributions; money grows tax free; withdrawals are taxed; sometimes employers contribute extra as a benefit; much higher maximum yearly contributions.

    21. Re:Simple by NoImNotNineVolt · · Score: 1

      I don't know what a "Roth 401(k)" is -- I've never heard of that before.

      A Roth 401(k) is to a traditional 401(k) as a Roth IRA is to a traditional IRA.

      My understanding is as follows:

      Traditional IRA: Pre-tax contributions; money grows tax free; withdrawals are taxed; fairly limited yearly maximum contributions.

      Roth IRA: Post-tax contributions; money grows tax free; withdrawals are not taxed; fairly limited yearly maximum contributions.

      401(k): Pre-tax contributions; money grows tax free; withdrawals are taxed; sometimes employers contribute extra as a benefit; much higher maximum yearly contributions.

      For completeness:
      Roth 401(k): Post-tax contributions; money grows tax free; withdrawals are not taxed; employers are legally allowed to do the same things as with a traditional 401(k); same contribution limits as a traditional 401(k) [technically the contribution limit applies to the sum of all 401(k) contributions, traditional and Roth alike].

      Your portrayal focuses simply on when the tax is paid (prior to contribution or after withdrawal). Sure, you're likely to be in a higher tax bracket when you're young, working, and paying into a retirement account than when you're old, living on a fixed income, and taking withdrawals. However, this totally overlooks the fact that withdrawals include capital gains, which account for the majority of the withdrawn funds. That means that the difference in tax rates is not the dominant factor in our financial calculation; the growth of the account's value is. If your retirement account was following the S&P, it would only have taken the last 11 years for it to have grown 400%. That means that even after just 11 years (considerably shorter than the time most people spend saving for retirement), 3/4 of your withdrawals would be from capital gains, not principal. That means that taxes before contribution pale in comparison to taxes after withdrawals, even taking different brackets into account, simply because there's you're withdrawing so much more than you ever contributed. Note that this is the case for IRAs and 401(k)s alike. It's the traditional vs Roth distinction I was talking about.

      tl;dr Roth retirement accounts let you pay a 0% tax rate on all capital gains as long as you pay tax on "principal contributed" instead of "principal withdrawn" (because you're paying tax on the principal either way), unlike traditional retirement accounts, which make you pay tax on all gains. Why would the average person go traditional?

      --
      Chuuch. Preach. Tabernacle.
    22. Re:Simple by NoImNotNineVolt · · Score: 1

      I had a beer and realized I was not accounting for the opportunity cost of paying tax on contributions instead of investing the full pre-tax amount and letting the money that otherwise would have been sent to the IRS to appreciate alongside the rest of the principal. It's entirely possible that paying tax at withdrawal (on a much larger sum of money) might be compensated for by this otherwise uninvested money.

      --
      Chuuch. Preach. Tabernacle.
    23. Re:Simple by Teckla · · Score: 1

      A Roth 401(k) [wikipedia.org] is to a traditional 401(k) as a Roth IRA is to a traditional IRA.

      ...

      Roth 401(k): Post-tax contributions; money grows tax free; withdrawals are not taxed; employers are legally allowed to do the same things as with a traditional 401(k); same contribution limits as a traditional 401(k) [technically the contribution limit applies to the sum of all 401(k) contributions, traditional and Roth alike].

      Excellent information; thanks! I had no idea such a thing existed. I wonder how many employers offer Roth 401(k) plans. I don't think mine does; then again, 10 minutes ago, I didn't know that Roth 401(k) plans even existed. Thanks for educating me. I should have looked it up before assuming it didn't exist; I'm sorry about that.

      tl;dr Roth retirement accounts let you pay a 0% tax rate on all capital gains as long as you pay tax on "principal contributed" instead of "principal withdrawn" (because you're paying tax on the principal either way), unlike traditional retirement accounts, which make you pay tax on all gains. Why would the average person go traditional?

      Indeed. This merits more investigation. Thanks!

    24. Re:Simple by NoImNotNineVolt · · Score: 1

      I might have caught an oversight in my calculations. Roth retirement accounts may not be so much better after all. Sure, with a Roth, you pay no tax on capital gains. However, the principal you invest is less (since a good chunk of it went to pay taxes). The missing gains on this otherwise-invested money could compensate for the tax-free gains a Roth provides. In the end, it might all be a wash anyway.

      I'm a nerd, but I'm not a money nerd. Talk to a real accountant or financial advisor before acting on any of the potentially terrible suggestions you hear coming from me :P

      --
      Chuuch. Preach. Tabernacle.
    25. Re:Simple by Quirkz · · Score: 1

      I encourage you to reread the AC's post above this, because I don't think you're quite seeing his point. If the government's taking their cut, it may not really matter if they do it up front or later, it's likely to work out close to the same either way. Paying 20% at the beginning and then letting your money grow, or letting a bigger pile of money grow and then paying 20% at the end, you personally have the same amount. Yeah, you're correct that the 20% at the end is bigger (i.e., more total tax paid to the government), but the amount YOU get to spend is still the same.

      If you don't believe me, run some numbers to test it. A quick spreadsheet will demonstrate that it works out even.

      As the AC said, the reason to game the system is if you have reason to believe your future tax rate will be higher or lower than your current rate, then obviously pick whichever investment is favored. There's also issues like if you go all ROTH and then have no income at all upon retirement, you may be throwing away your annual personal tax deduction, whereas if you've got some small amount of theoretically taxable income, you may actually get it all tax free, or at a pretty low rate after deductions. Other reasons to choose traditional: a small tax deduction when you're young and struggling to get established may be more important than tax-free income later in life, when you're well established and (if you invested well) money isn't tight.

      I think for most people either option is likely to work out pretty close to the same. When in doubt hedge your bets and do half of each, if possible.

      Stray note: it's not capital gains inside a retirement account, you're taxed on your withdrawals as if they're income.

    26. Re:Simple by Quirkz · · Score: 1

      Based on your Sunday post I think you may have gotten it, but the issue with your comparison here is your contributions are mismatched, because you're contributing twice as much to your Roth as your Traditional. If you put the same $200k into the Traditional as you were throwing at the Roth, it would grow to $1,000,000, not just $500k. You then pay 25% in taxes, which leaves you $750k free to personally spend. This is much better than the $500k from the Roth.

      Yes, you have paid more in taxes overall ($250k for the Traditional versus $100k for the Roth) but that's kind of irrelevant. What is relevant to you is that you have $750k rather than $500k.

    27. Re:Simple by NoImNotNineVolt · · Score: 1

      Indeed, I caught that issue eventually. Perhaps this is yet another case of the Dunning-Kruger effect :P

      Also, good point about the gains in a retirement account being taxed as income. That makes this potentially more complicated. Reminds me why I went into engineering instead of finance :P

      --
      Chuuch. Preach. Tabernacle.
  29. Get on the right track by Mr.+McGibby · · Score: 1

    Once you've got experience in one language, technology, or area, it can be hard to get out of it. Employers look for people that already have experience in the field. If your first job isn't what you envision yourself doing for the rest of your life, then make efforts to get experience doing the things you want to do. Most any programming experience is worthwhile, but once you feel you've learned what you can, find another job.

    --
    Mad Software: Rantings on Developing So
  30. Find awesome coders and learn from them by Anonymous Coward · · Score: 0

    **Read their code**.

    Talk to them. E-mail them. Chat with them. Download open source software and challenge yourself to hack in a new feature.

    I spent a lot of my youth programming in a vacuum. I learned a lot, but I would have learned faster if I didn't re-invent (and fail at re-inventing) many things myself.

  31. Maybe he should consider learning a language by ScentCone · · Score: 2, Insightful

    Like, perhaps, English. So that he could - after all these years as a professional who types out strings of characters that very specific meaning - understand that when he says "could have cared less about my career," he means "could NOT have cared less about my career."

    Maybe he's been working all these years in languages that don't incorporate the concept of "not" or " ! " in evaluating two values. Are there any? I couldn't care less. Grown-ups who communicate or code for a living should be able to handle that one correctly.

    --
    Don't disappoint your bird dog. Go to the range.
    1. Re:Maybe he should consider learning a language by Anonymous Coward · · Score: 1

      While not the main message of the point, he touched on the edges of this in point 1 - you need to get out and interact with people, rather than cloistering yourself in your tech dungeon.

      People who interact with people through avenues other than technical manuals become aware of this advanced linguistic concept called an "idiom". For those who aren't aware, an idiom is a group of words that have a meaning other than their literal interpretation. (I know, shocking, right? Literal interpretation isn't the only way to understand things! What blasphemy will they think of next?) They get this meaning through repeated use by humans who are normally good a dealing with ambiguity and imprecision. "Cleave" can mean both "split apart" and "stick together", and brains do not segfault because of it. Likewise, there's no rule in English that says "could have cared less" and "could not have cared less" can't mean the same thing or that either (or both) have to have their literal meaning. It's an idiom. It means whatever people use it to mean. "It's raining cats and dogs" doesn't mean you need to beware of mammals falling from the sky.

      Since you're advocating for English lessons, here's one: English is not C++, or even Perl. Language does not necessarily follow the dictates of Boolean logic, regardless of how many screeds are posted to the Internet about it. Grown-ups who communicate for a living should be able to understand that.

    2. Re:Maybe he should consider learning a language by Anonymous Coward · · Score: 0

      You are not an asshole.

    3. Re:Maybe he should consider learning a language by ScentCone · · Score: 1

      For those who aren't aware, an idiom is a group of words that have a meaning other than their literal interpretation.

      And in this case, the idiom is "I couldn't care less." Most of the time it's not literally true, but it conveys the sense that the person using the idiom considers whatever it is being described as being at or near the very bottom of the list of things he cares about. So low on the list that in practical terms, he couldn't care less.

      So when someone says the opposite of that ("I could care less"), it's not even a nod to the actual concept - it's just someone making sounds similar to the sounds in the idiom, without actually thinking about the words they're saying. By your thinking, "I wooden flare lens" would also be an idiom because if you mutter it badly enough it also sounds like the real idiom.

      --
      Don't disappoint your bird dog. Go to the range.
    4. Re:Maybe he should consider learning a language by Kittenman · · Score: 1

      Like, perhaps, English. So that he could - after all these years as a professional who types out strings of characters that very specific meaning - understand that when he says "could have cared less about my career," he means "could NOT have cared less about my career." Maybe he's been working all these years in languages that don't incorporate the concept of "not" or " ! " in evaluating two values. Are there any? I couldn't care less. Grown-ups who communicate or code for a living should be able to handle that one correctly.

      Mod parent up. Totally agree - everyone in the profession should learn to write a document explaining something first. Grammar, spelling, getting an idea across, simple language, pitch to the audience, clear expressions... if you can do it in English (or whatever your native language is) then you're ready to pick up a "Learn to write {programming language du jour} in 10 minutes of your money back".

      And read. Read fiction, read essays, read the paper, read a magazine, read emails. Get better and expand your vocabulary.

      --
      "The greatest lesson in life is to know that even fools are right sometimes" - Winston Churchill
  32. A Programmer Competency Matrix by Deffexor · · Score: 5, Interesting

    This Programmer Competency Matrix has been instrumental in helping me "know what I don't know".

    1. Re:A Programmer Competency Matrix by jones_supa · · Score: 2

      I like it too, but it's kind of brutal. :) I'd say that even if you land somewhere between level 1 and 2, you're pretty good already. This is how I would interpret it:

      Level 0: Rookie
      Level 1: Competent for many programming jobs
      Level 2: Experienced guy competent for most programming jobs
      Level 3: A true genius competent for the most advanced tasks

    2. Re:A Programmer Competency Matrix by Nemyst · · Score: 4, Insightful

      I'd argue that while it's a nice table, there's one critical flaw with it: it doesn't matter this much if you don't know everything listed, provided that you can learn it on the spot in a fairly short period of time. For instance, I remember having read about red-black trees or how to treat hashmap collisions and I've already programmed in prolog and so on, but do I remember all those things so well that I could immediately, without looking at a reference, know how to implement/work with them? Hell no. There's way too much to learn in computer science to ever hope knowing everything at once, and claiming that this should be the case (or even, that it is achievable) only serves to demoralize and misguide people.

      In my mind, there are two core qualities in computer science (and really, in science in general): being adept at solving problems, and being able to learn new things all the time. The former lets you break down any specific problem in a set of more generic problems for which solutions can be found or designed. The latter means you're able to learn new solutions to problems you may be unfamiliar with.

    3. Re:A Programmer Competency Matrix by Matheus · · Score: 1

      Thanks... that was a nice ego boost! Level 2 or 3 in every category with at least 75% in Level 3.

      Unfortunately I know very well a lot of what I don't know or am not good at and this list doesn't begin to scratch the surface...

    4. Re:A Programmer Competency Matrix by angel'o'sphere · · Score: 3, Insightful

      Unfortunately his list contains a lot of "don't need to know"s and also has lots of flaws.

      E.g. "code organization within a file" highest level: each file has a license header ... erm, why?

      "Defensive Coding" ... highest level is bollocks, so is his view on version management, and on IDEs and APIs and the third level of "Scripting" makes me ROFL, 4th level of databases, all level s of "languages with professional experience", or all of "domain knowledge".

      Many fields in the matrix look like: "uh, what do I put here?" and then he put some random stuff into it.

      E.g. 4th level of "platform internals", erm seriously? I'm an "expert" if I write my own disassembler instead of using the platform provided one? WHY WOULD I DO THAT? Especially as writing a disassembler is not really a challenging task, it belong either into the tools section or the "systems programming" section, at level 2 at max.

      Ah, "systems programming" level 4, 'microcode' ROFL. That guy certainly has no idea what microcode actually is. I guess I rather black list that page then keep shaking my head about his strange views.

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    5. Re:A Programmer Competency Matrix by Anonymous Coward · · Score: 0

      What's a "matrix"?

    6. Re:A Programmer Competency Matrix by Tablizer · · Score: 1

      What's a "matrix"?

      Look up "instant fail" in the index.

    7. Re:A Programmer Competency Matrix by Anonymous Coward · · Score: 0

      Most things like that I at one point used or created something like it. Do I remember how it works? Not really. I am more like the prof who has to come in and look at the book for a few mins before teaching the class to remember how it worked.

      However, my communication seems to stink. "fill this drive array up with 2 tb luns". 3 days later I am still explaining it to him.

    8. Re:A Programmer Competency Matrix by Anonymous Coward · · Score: 0

      Unfortunately, no one can be told what a matrix is. You have to see it for yourself.

    9. Re:A Programmer Competency Matrix by Anonymous Coward · · Score: 0

      This list is basically shit. Just look at the API item: masters of the universe are supposed to be writing wrappers around API calls. HOW WRONG! This is in fact a rookie mistake, because it makes reading your program more difficult (you can expect people to be familiar with the API, but not with your wrapper).

      Also, who needs a frigging IDE? And IDE is like the training wheels for a bike. Professional cyclists are NOT those that can use training wheels effectively.

    10. Re:A Programmer Competency Matrix by Anonymous Coward · · Score: 0

      >E.g. "code organization within a file" highest level: each file has a license header ... erm, why?

      What kind of half-assed environment do you work in? A license header is mandatory in most organizations that build software.

    11. Re:A Programmer Competency Matrix by ustolemyname · · Score: 1

      Obviously you've never had to switch out a library or framework before, or done anything cross-platform. The author talked about writing libraries that sit on top of the API, not simple thin wrappers.

  33. Starting out programming in HS and college... by Anonymous Coward · · Score: 0

    ...I wish I'd known to spend less time hunched over the keyboard and more time getting laid.

  34. Contracts by Anonymous Coward · · Score: 0

    I wish I had known more about contracts and asserted my influence more in negotiating them. Decades ago, good programmers with domain-specific knowledge were hard to find. Verbal promises were easy to come by, as well as easy to break.

  35. Re:I wish you'd know basic English... by Anonymous Coward · · Score: 0

    Why is parent modded down?

    Probably because you're angry. You could have said the same thing without foaming through your mouth.

  36. Become A CEO instead by Anonymous Coward · · Score: 0

    mo money, mo perks and sales people will buy you drinks at strip clubs

  37. All the program language snobs out there by Anonymous Coward · · Score: 0

    Seriously if you learn VB, Java, and C# all the hipsters want you learn some play language with crazy features that I don't need for 99% of things.

  38. One Year In by Niris · · Score: 5, Informative

    I just had my one year anniversary as a full time Android developer, and it's insane how much I've learned after leaving school. Luckily there's two older guys (well, one now, the other moved on recently) on my team who are _awesome_ mentors.

    1. Pay attention to everything you can in the work place. You may be a client side developer, backend, whatever, but pay attention in every meeting or conversation that you can eavesdrop on. You may not understand everything going on with the teams you don't work in, but just being exposed to their terminology and _looking up what they're talking about_ will get you far. This doesn't go for just development, either - listen to the business and sales guys talk and try to understand your clients and what they need so you can build a great product by anticipating what will work for them before they have to ask.

    2. Write a blog. Seriously. I'm the first to admit that I don't really know anything when it comes to development, but I've been actively writing new posts to my blog and it forces me to grok whatever I'm writing about. Whatever you're doing, post the code on GitHub so others can read it (mine's here). Developers who read peoples code online tend to be awesome about making suggestions and asking questions that make you realize you screwed up without being jackasses about it.

    3. If there are tech meetups in your area, go to them. If you're in a decent sized city (I'm in the Denver/Boulder area, which isn't huge, but it's a lot bigger than where I'm originally from) you can find multiple meetup groups related to tech that you're interested in. It's a great way to learn new things and meet a lot of awesome people in your area.

    4. If there's hackathons in your area, no matter how small, go to them. You meet awesome people and learn how to work in teams that are different than the one you're in every other day. Plus there's usually free food and beer, so what's not to like about that?

    5. Pick up skills that compliment your work area by doing projects that aren't work related. It helps you understand what other teams are doing and how it affects you, plus it just makes you more awesome while keeping down the monotony. As a client side developer, I've been taking a Udacity course on using AppEngine to make backend APIs, and it's been fun.

    6. For the love of God, check for null pointers and other kinds of exceptions. You may not catch all of them due to inexperience in spotting them, but that's what senior devs doing code reviews are for. You don't want code going into the wild that crashes, even when data is bad. Getting a call on a Saturday saying something bad is happening is not what you want - the weekends are yours to do whatever you want, not put out fires that could have been avoided.

    7. Open source third party libraries are your friend. People way smarter than me have put together some amazing things that we use every day, like Otto and Picasso from Square. Try libraries out in a sample project, and if they will work for what you're doing, give it a shot. If you can make them better in the process, submit a pull request. Like I mentioned earlier, the open source community is awesome and if your pull request isn't up to par, they'll let you know what you can do to fix it.

    8. You're going to fail at some things, and it's alright. Fail early, learn what did and didn't work, and try again. Learning from mistakes is how you get better. Along this same line of thought, if you run into a roadblock that you can't figure out yourself via documentation/stepping back and evaluating the problem, StackOverflow is awesome.

  39. Two things.... by bobbied · · Score: 4, Insightful

    1. A copy of the "Mythical Man Month" by Fredrick Brooks and being told to read it.

    2. A set of closing prices for every stock on the NY exchange for the next 20 years with the advice to become an investment banker..

    If #2 isn't possible, then sitting down with somebody who could explain that you get what you negotiate, not what you deserve, so don't settle for what you get.

    --
    "File to fit, pound to insert, paint to match" - Aircraft Maintenance 101
  40. Learn the tools by MikeRT · · Score: 1

    The best tools in a language's ecosystem will free you to actually use the language as intended. With Maven that's certainly the case. Once I committed myself to spending a few days really learning how Maven worked and trying various scenarios with it, I almost cried at how much opportunity cost I'd incurred from sticking with Java IDEs in the past before Maven was built in everywhere. By freeing me from Jar hell, making testing as easy as following a convention and "mvn test" and stuff like that, it got 75% of the drudge work out of the way immediately, leaving me to actually learn Java.

  41. Hardware by TechyImmigrant · · Score: 1

    1) Screw software, hardware is where it's at.

    2) Hard topics pay well: DSP, information theory, crypto, information coding, etc.

    --
    I should use this sig to advertise my book ISBN-13 : 978-1501515132.
    1. Re:Hardware by Anonymous Coward · · Score: 0

      Indeed on #1.

      Hardware is tangible, your customer, boss, whatever can hold it in their hand, lean against it, have it blot out the sun when you stand next to it. It is a "tangible asset", you pay sales tax when you buy it, etc.

      People get awards for delivering hardware
      People do not get awards for delivering software that is embedded in or runs on the hardware.

      Apple has its valuation because it is a hardware company, even if a lot of that value is due to the seamless software.

  42. Re:I wish you'd know basic English... by Anonymous Coward · · Score: 0

    Valid point but the parent was not me. You should not assume that 2 Anons in 1 thread are the same person. Also,I don't know of a mod option that is -1 too angry.

  43. SW Engineering as a _trade_ is still maturing by Krishnoid · · Score: 1

    One thing that keeps coming up is the constant inflow of rookie (and intermediate-level) programmers making rookie mistakes. There seems to be an unwillingness to treat software creation, from the academic level onward, as a controllable process towards a working, reliable, secure, usable, maintainable result. It's still being treated from day one as a sandbox with a rigorous theoretical mathematical underpinning, but cowboy coders and fluid design-level rules in the day-to-day.

    Examples of this are that the nuts and bolts of code standards, defensive programming, code hygiene, technical debt, refactoring, and at a higher level, revision control, automatic builds, code review, and static analysis are considered best practices by some, but are nowhere near ubiquitous.

    It may not be an unwillingness as much as growing pains, or that the field lacks a requirement for a P.E. certification that can be used to push back on unreasonable business pressures. Don't assume that you're entering or working in a field that has a well-established set of rules that you can rely on, and if your gut tells you that cult of personality is overriding a technically-based meritocracy, that may very well be the case. The process of software creation seems to still be changing, evolving, maturing.

    You can still learn those best practices and apply whichever of them you have the power to in your own environment -- just don't assume everybody will abide by them, or even agree as to what they are.

    1. Re:SW Engineering as a _trade_ is still maturing by ErichTheRed · · Score: 1

      This is a big issue for me as well (I'm in systems integration, not dev, but we have very similar problems.)

      - There's no equivalent of an ABET accreditation for training standards. I know lots of awesomely talented self-taught IT guys, but I also know a lot of people who just don't have the troubleshooting skills or discipline. (I would qualify as self-taught, coming from a science background.)
      - Training is left up to vendors with an interest in selling products, as well as making IT professionals think their products are the only way to accomplish something. (Every OS, every packaged product, every database, is like this -- even for open source stuff.)
      - There's no professional standards. Standards are extremely hard to nail down in a fast paced world, but I'm talking minimum stuff like secure coding and the low-level plumbing of network communication.
      - There's no barrier to entry and no progression within the profession. It would be great if we could make sure people start out as technicians, then lead technicians, and THEN they start to get calling themselves senior, architect, whatever. How many Senior Systems Architects do you know who have amazingly huge gaps in their knowledge?
      - Because there are no standards, or professional qualifications, there's no basis on which to hold someone accountable for a bad design. Their responsibility ends with "sorry."

      I think some maturity and standards would do the software and systems worlds a lot of good. Employers wouldn't have to guess whether a candidate is lying to them regarding their abilities, professionals would be able to push back on stupid decisions based on a body of standards, etc. I think too many people think the equivalent of a P.E. is too much like a union, or they don't want the responsibility that a designation like that brings with it.

    2. Re:SW Engineering as a _trade_ is still maturing by geekoid · · Score: 1

      Yep, I've argue the industry need a P.E. many times.

      --
      The Kruger Dunning explains most post on /. http://en.wikipedia.org/wiki/Dunning%E2%80%93Kruger_effect
  44. 9-to-5 and documentation by Anonymous Coward · · Score: 0

    What do I wish I knew before becoming a programmer?

    The boss expects you to be in the office every day and be on-time at 8:30 am

    "The Boss" isn't a programmer himself

    The boss expects code to be documented and expects documentation to be written for the end user.

    WTF? I code when it suits me and the code speaks for itself, but the boss can't understand that because he's not a programmer.

  45. Programming is a tool by Anonymous Coward · · Score: 0

    And use of that tool depends on the problem space. It's like asking people in a hardware store what they wish they'd known before they started, um, screwing?

  46. My lessons by RobHostetter · · Score: 5, Interesting

    Here's my advice, been programming for 15 years. Write comments, one per block of code that does a step, then fill in code. You will then have well commented code, and forced yourself to think through the solution before you begin coding. This saves tons of time by avoiding thought errors before you code. When hunting a bug, don't just look at what's not working. Instead look at what was most recently changed, even if it seems it couldn't possibly be related. The times I didn't do it this way have cost me many days hunting down a really tricky bug. Sometimes it really is unrelated to recent changes, but not often. If you are stuck, take a break and do something mindless, like get some water, go to bathroom etc. your subconscious keeps working without the interference of your conscious mind. Preplan your work a few days ahead if possible. You can avoid many roadblocks by thinking through things ahead of time. Persistence pays off. I've worked through many "seemingly impossible" tasks, only to find the solution after failing a few times first. Visualize what the users interaction will be before coding. I like to draw it on paper and pretend to use it. Putting yourself in your users shoes allows you to see what might be difficult to understand. I rarely keep my first design, but since it's just a drawing I'm not invested in it. If you lay it out in software, it's much more tempting to keep a poor design. Ask a colleague if you are stuck. Often, articulating the problem out loud is sufficient to solve it!

    1. Re:My lessons by Anonymous Coward · · Score: 1

      Ask a colleague if you are stuck.

      I asked him if I was stuck but he said he didn't know.

  47. Memory Debugger and Profiler by jimmifett · · Score: 1

    This would have been so useful to know how to use back in the olden days of yore.

    What do the kids use these days for the various languages?

  48. Reusability by wzinc · · Score: 1

    Reusability and modularization - those would've saved me a lot of time.

  49. Easy by mseeger · · Score: 1

    I wish i had known that i knew nothing ;-). Because at that time i thought i knew everything...

    1. Re:Easy by Anonymous Coward · · Score: 0

      +1

      When in my last year of high school, I was seriously considering three choices:
      - software engineering
      - physics
      - business school

      I chose physics as #1, sw #2 and bs as #3. Did not get accepted to the physics programme (needed top grades), but got accepted to sw. Should have gone to business school instead...

  50. Assembly by Anonymous Coward · · Score: 0

    To start on a simple machine with assembly, not a powerful machine with BASIC

  51. If I had a timemachine by zwarte+piet · · Score: 1

    I'd be having a threesome with my younger self and older self

  52. 'weed out' classes by oneiros27 · · Score: 3, Insightful

    I wasn't a comp-sci major, so I don't know how common they are in that field ... but in engineering, you typically have a freshman class that's referred to as the 'weed-out' class.

    It's not supposed to be fun. It's supposed to be damned hard, so they can see who's got the fortitude to stick with it.

    Not all of life is going to be a cakewalk -- there are going to be times when you really have to knuckle down and study, and it's often better to get it over with early on than spend 3 years towards the degree and then find out that you can't cut it.

    --
    Build it, and they will come^Hplain.
    1. Re:'weed out' classes by Anonymous Coward · · Score: 0

      Intro to programming and Algorithms are the two weed out courses I recall going through. Computer architecture was a real bitch, too, but I think that was more the professor not knowing wtf to teach in that class as opposed to it actually being thought of as a "weed out" class.

    2. Re:'weed out' classes by Anonymous Coward · · Score: 0

      ...Not all of life is going to be a cakewalk -- there are going to be times when you really have to knuckle down and study, and it's often better to get it over with early on than spend 3 years towards the degree and then find out that you can't cut it.

      There have been very few times where I've had to "knuckle down" quite as hard as when I was cramming to learn the pointless shit that had nothing to do with my job while in college, so I'm not quite sure what that kind of caffeine and beer-induced learning haze is supposed to teach you about the real world.

      Not to mention the percentage of those teachings that are technically irrelevant and obsolete before you can even call yourself a graduate...

    3. Re:'weed out' classes by Assmasher · · Score: 1

      Ours was first semester of second year, computer engineering and assembly language. We used an old MIPS chip. Started with 27 people including 3 women, finished with 6. I had the highest grade in the course, a B-. It was rough, but not necessarily because of the topic - more that we covered so much so quickly.

      --
      Loading...
    4. Re:'weed out' classes by plopez · · Score: 1

      2nd semester when we had to learn 3 languages in 3 months + data typing. I will never forget when the 'aha' light clicked on with Lisp. ANd since then I have never been afraid of picking up new technology in an extremely short time frame. Which has kept me employed over the years.

      --
      putting the 'B' in LGBTQ+
    5. Re:'weed out' classes by Darinbob · · Score: 1

      For me algorithms and architecture were upper division courses. Too late to be weed-out.
      I do agree that the intro class should be HARD, this is college not day care. I think MIT's scheme of using Scheme was not a bad idea. Simple language, simple concepts, then build complexity from the simple bits. If a student can handle first year calculus or physics, they can handle a complex computing class.
      What we do not need is yet another cream puff class added because corporations complain there aren't enough shovel ready graduates to hire as grunts.

    6. Re:'weed out' classes by Darinbob · · Score: 1

      Technically irrelevant can still be important. College should never be about teaching you the minimum necessary for your entry level jobs. College should teach you how to learn. We have enough incompetent programmers already who don't know computer science.

      Decent programmers know MORE than programming. Domain knowledge is vital in most jobs. Whether that be some type of EE or phyics, mathematics, medicine, chemistry, medicine, Definitely number theory is important to a very large fraction of programmers, can't do basic floating point expressions without it. Anyone designing core operating system or language libraries must know the therory, algorithms, computability, etc. Compiler writers have a large set of advanced tools to know.

      Granted, it may be these advanced skill lie dormant for a decade or two, as the entry level people may not need them. But when someone becomes the senior developer ona a core team all those classes become useful, even if the details are forgotten the ability to learn remains.

    7. Re:'weed out' classes by Beck_Neard · · Score: 1

      Goes for a lot of other fields of study too. Doing mathematics (not CS) I remember my freshman "logic and set theory" course, which was assigned the largest auditorium. The courses after that didn't need lecture rooms nearly as large...

      --
      A fool and his hard drive are soon parted.
    8. Re:'weed out' classes by Anonymous Coward · · Score: 0

      C++ isn't damned hard except in the sense that any braindamaged mess is damned hard.

  53. In a large organization, politics matter by idontgno · · Score: 4, Insightful

    You can ignore them, in which case you've volunteered for the role of "victim".

    You can make them your full-time job, in which case you're no longer a developer.

    You should find a good defensive middle ground. At least, some situational awareness. Put your head up and look around. And listen.

    --
    Welcome to the Panopticon. Used to be a prison, now it's your home.
  54. Spaghetti sucks when it's code by Anonymous Coward · · Score: 0

    Proper code architecture / abstraction!

  55. Advice to my younger self considering an IT career by MondoGordo · · Score: 3, Interesting

    Become a plumber. - better hours, comparable pay, healthier lifestyle, & your job will never be off-shored or out-sourced,

  56. Re:I wish you'd know basic English... by DERoss · · Score: 1

    Given that snydeq wrote the opposite of what we think he meant, he might not understand your (Anonymous Coward's) correction. After all illiteracy often includes an inability to understand what is written and not merely an inability to express one's self in writing.

    snydeq wrote: "I simply loved to code and could have cared less about my 'career' ..." That means snydeq cared more than he could have cared. If he instead wrote: "I simply loved to code and could not have cared less about my 'career' ...", that would mean he did not care at all.

  57. I wish I would have known by xednieht · · Score: 1

    That it would have been better to open up a donut shop instead.

    --

    Hope is the currency of fools
    1. Re:I wish I would have known by Anonymous Coward · · Score: 0

      I actually was a donut baker before getting a job coding. It was a very peaceful job...and I ate all the donuts I wanted.

  58. deducation by Anonymous Coward · · Score: 0

    That you don't need to waste your time with a degree and crippling debt to break 100K salary.

  59. This one is simple by slashmydots · · Score: 1

    I'm one of the most naturally talented programmers I've ever met. My code is extremely good. I won many competitions. I scored near perfectly on knowledge and practical exams with an IT staffing company and beat almost all their other employes. AND YET nobody will hire someone with two 2 year degrees. That would have been nice to know. I got a job as CIO of a medium sized company at 24 years old so it worked out but I would have had more options ignoring programming and just getting more server management, networking, and support training.

  60. The benefits of specialization by edawstwin · · Score: 4, Insightful

    I learned C++ first and just kind of learned various languages and technologies as the need arose, and now I know several languages and my projects have been widely varied. But I noticed that most of my peers who specialized were much more in demand, and therefore pretty much had their pick of jobs, made more money, and had better working conditions. The kind of specialization I'm referring to is learning something that less than ~5% of programmers know, but is still in some demand, and likely to be in demand in ten or twenty years. Or if you pick something that many programmers already know, learn the shit out of that one thing so that there aren't many others that have your level of knowledge in that one thing. In an interview, impressive knowledge of something specific is always better than just adequate knowledge of many things.

    Also, learn how to be interviewed. It is a very valuable skill.

    --
    I don't want to achieve immortality through my work. I want to achieve it by not dying. - Woody Allen
    1. Re:The benefits of specialization by Anonymous Coward · · Score: 0

      The kind of specialization I'm referring to is learning something that less than ~5% of programmers know, but is still in some demand

      This is actually the key to easier success no matter what you do. Low level general knowledge completely fails to differentiate you from the unwashed masses. Specialization will get you noticed, but if you pick only one thing to specialize in, it's highly unlikely that you'll be the best in that one field, so in order to really maximize your utility, you should aim to specialize in two or three things that are complimentary within your target industry. By combining two specialties, you can be incredibly valuable without actually being a world-class champion in either. I work in a specialized area of manufacturing process control, and even though I'm merely a competent programmer, the fact that I'm also well acquainted with the nuts and bolts of the process I'm writing software for makes me worth a lot of money. They could pull an engineer up off the manufacturing floor, but he won't have the programming chops. They could hire a programmer better than me, but starting from ignorance of the process he's interfacing with makes for a serious handicap. We've all used systems obviously created by people who never had to use them in production. Things are being upgraded to computer control all over the place. If you aim for the interface between two specialties like that, it's like a license to print money.

    2. Re:The benefits of specialization by Anonymous Coward · · Score: 0

      learning something that less than ~5% of programmers know, but is still in some demand

      Right now, I'd say "node.js + websockets" fits that description pretty well.

    3. Re:The benefits of specialization by mrchaotica · · Score: 1

      in order to really maximize your utility, you should aim to specialize in two or three things that are complimentary within your target industry. By combining two specialties, you can be incredibly valuable without actually being a world-class champion in either.

      If you're lucky enough that those complementary specialties happen to have job openings available, that is. I've got full-blown bachelor's degrees in two different fields and haven't found a job that uses both yet.

      --

      "[Regarding the 'cloud,'] ownership was what made America different than Russia." -- Woz

  61. How to efficiently transmit information by Anonymous Coward · · Score: 0

    For example, the miniscule font size on the wevsite that published this article causes eyestrain and irritation and is a classic example of web designers not understanding usability.

    Stuff like that really.

  62. Not to go into programming? by Anonymous Coward · · Score: 0

    Programming for a living has burned me out on what I used to love to do on my own time. If I knew then what I know know, I would've dropped out of college, gone to bartender school, and then continued to program as a hobby.

    1. Re:Not to go into programming? by Anonymous Coward · · Score: 0

      My advice. Just start coding that big fun project you always wanted to do. Silence your internal nay-sayer and just start doing it.

  63. What to know first? by Anonymous Coward · · Score: 0

    No girls or social life

  64. It's possible to care less by penguinoid · · Score: 2

    It's "could NOT care less", you stupid, American cretin...

    It's technically correct because they could, in fact, care less. If they couldn't care less, then they wouldn't be posting about it now would they? (Though I do think the proper "could HARDLY care less" is both more accurate and more descriptive)

    --
    Don't waste your vote! Vote for whoever you want, unless you live in a swing state it won't matter anyways
  65. Memory Debugger and Profiler by Anonymous Coward · · Score: 0

    They just throw JS and Ruby together they find on the Internet and hope that it works.

  66. Oh God! One of those. by Anonymous Coward · · Score: 2, Insightful

    If you mean the quality of code that gets churned by your average coder, then yes, it is just like plumbing.

    Of course! And you are above average, I take it.

    See, this is the type of attitude that makes me really hate this profession.

    My code has been called brilliant - even genius - and the same code has been called crap by a different person.

    Personally, I would never want to work with or for the parent.

    Does the code work as designed?

    Is it easily readable and maintainable?

    If yes to both then STFU and go back to your Cheetos and Coke.

    1. Re:Oh God! One of those. by sinij · · Score: 1

      No, I am a system integrator. I know ALL your dirty secrets.

  67. Code less, get out more by twdorris · · Score: 5, Insightful

    I wish I had learned to balance real life with coding life sooner. I used to do the same zillion hour marathons everyone else did at one point or another in their coding careers. I loved the challenge and being the one producing the results. But then, eventually, I realized there's really a LOT more out there than that tiny little challenge/reward cycle. Biking, hiking, sports with friends, whatever. You can easily burn through 10-15 years of your YOUNG life living the code only to realize later when you're not so young any more that there were TONS of things you would have enjoyed doing more. You can make up some of that, but not nearly all.

    1. Re:Code less, get out more by Kevin+by+the+Beach · · Score: 3, Informative

      Amen, and Amen. I wasted so much of my life meeting meaningless deadlines. When my children were growing up, the wisest advice I gave them was to NOT choose a computer career. (both are Social Workers like their Mom) Sure, It's less money but they will live longer and be much happier with a life worth living. Programmers come in two shades... Green and Jaded

    2. Re:Code less, get out more by Tablizer · · Score: 1

      No career is easy, especially when you are green. I tell them to do what they love, do it well, but look around and be flexible so that you have options.

    3. Re:Code less, get out more by Anonymous Coward · · Score: 0

      Two words that make this an important post: Lisinoprol and Metformin. I put plenty of hours behind the desk and not much exercise. Now I have high blood pressure and diabetes.

    4. Re:Code less, get out more by Anonymous Coward · · Score: 0

      Personally, what I regret the most is that I wasn't looking for a girlfriend when I was still young, charming and reasonably handsome. Now, as an old cynic, I get paid awfully well but have come to realise that money isn't actually all that important. Not to me, but also not to women either surprisingly enough.
      Oh, and programming is a stinkjob which leads to a life where you're unlikely to meet any girls (women under 45) to begin with. I wish my 286 hadn't come with a Basic interpreter, since that's where it all started.

  68. Have fun by maliqua · · Score: 2

    Find projects you want to do at first to solve problems that will bring you some satisfaction, start simple remove an element of tedium from your day programmatically.

  69. I wish by djupedal · · Score: 1

    ...I'd known that to be hired by IBM meant you first had to be trained by IBM. Would have saved me four years of college.

  70. Common Lisp by Anonymous Coward · · Score: 0

    Would have saved lots of wasted time!

  71. Easy by GrumpySteen · · Score: 1

    When I started programming, I wish I'd known that I would hate doing it as anything other than a hobby. I wasted a lot of my college years studying something I'll never used in a job.

  72. Motherfucka by satan666 · · Score: 1

    I wish I knew that one day the Kim Kardashian iPhone app would be number 1 in the App Store and based on sales it is on track to make 200 million dollars
    (Yesterday's Business News).

    If I knew this, I would make the right decision to join a doomsday cult because the end times are here. Or I would drop out of school and become a gangster.
    Fuck it. Engineering or Computer science for 4 miserable years... Not worth it kids!

  73. Awkwardly career-centric question by carlhaagen · · Score: 3, Interesting

    I started programming as a kid at the age of 10. This question just doesn't apply to me at all. No such thing as "career" etc. were relevant to me at that point.

  74. That finance pays better? by mbone · · Score: 1

    Or that none of this will really help get you laid?

  75. A repellant and provocative suggestion by Anonymous Coward · · Score: 0

    Move as quickly and directly as possible to employing other programmers under you. Buy the VP a drink after work and get him to let you hire three other folks. skim $18 an hour on each of them. Spend it on a beautiful... you fill in the blank.

    I am a lifelong, head down, hard core coder so don't take this as the advice of some suit.

  76. As a sales guy (ducks) by obarthelemy · · Score: 4, Interesting

    I work for consulting firms, selling both flesh-by-the-month and fixed-budget custom dev/integration. Here's what I'd like begining devs to know:

    1- be presentable. Be clean, pleasant, non-threatening (agreed, that means be lame. Lame is good). You don't *have* to wear a suit and tie (though if you want to move up, you probably should), but at least clean jeans (chinos is much better) and a top with a collar (polo is OK). "Town" shoes are much better than hiking or sport shoes. Needing to express your personality by shocking others is pretty much a dead-end. It's not "look how much you need me that I can bug you by being an ass", it's "look how much I'm sabotaging myself by making my self be a problem".

    2- don't be afraid to say "no" and "I don't know". And don't say anything else instead (like "yes" or "this idea/tech sucks"). If your client/boss is asking for unrealistic, impossible stuff, just say so, or at least say you need to check, don't accept. Saying you can't do something, or something is undoable, will hurt you and others a lot less than accepting and then not delivering. Also, "I can't do it" and "it's undoable" are not the same. Maybe you need help from someone else. Maybe you need training.

    3- Be proactive. Learn new skills and try to help people around you. You boss mainly. If you spot a problem or a potential sale, say so. Don't make a huge issue out of it, don't get frustrated if it doesn't get top priority, but do point out issues, and if you can, solutions.

    4- be patient. Many youngsters have this mental image of where they want to get, and how good they are. You'll probably get there, but not in 6 months. You *will* have to work on nonsensical doomed projects, with idiots as coworkers and bosses. That doesn't prevent you from building skills (technical, personal , organizational), networking and building up your brand...

    --
    The Cloud - because you don't care if your apps and data are up in the air.
    1. Re:As a sales guy (ducks) by geekoid · · Score: 1

      "don't be afraid to say "no" and "I don't know". "
      never, ever, say that at work regarding an opinion. You will be seen has not being an expert.
      Its sad, but true.
      Radiolab did an interesting podcast on it:
      http://freakonomics.com/2014/0...

      --
      The Kruger Dunning explains most post on /. http://en.wikipedia.org/wiki/Dunning%E2%80%93Kruger_effect
    2. Re:As a sales guy (ducks) by Anonymous Coward · · Score: 0

      1. Agree.

      2. "I don't know." is a sign of stupidity. I have been there and done it and have ruined my career.

      3. New skills only matter when it is on the job experience.

      4. The longer you are out of work, the more unemployable you are.

    3. Re:As a sales guy (ducks) by ckhorne · · Score: 2

      I manage a team of developers, and I directly hire new developers coming in. One of the things I look for specifically in the interview is "I don't know". Everyone has limits, and everyone needs to acknowledge that they have limits. What's much more important to me is that someone can recognize this and then be able to work around it. The last thing in the world I want is someone telling me they know about something when they really don't, just to appease me.

  77. C++ by Anonymous Coward · · Score: 0

    C++!!! why not A++?

  78. Learn to Recognize Abusive Employers and Jump Away by DERoss · · Score: 3, Insightful

    I went to work for System Development Corporation (SDC) in 1969. SDC was actually the company that established computer programming as being distinct from building computers; before then, the only people programming were the engineers who built the computers. SDC was a good company with good pay and good benefits. Then, SDC sold itself to the Burroughs Corporation, which succeeded in a hostile takeover of Sperry Univac and became Unisys.

    At Unisys, we found ourselves in an environment that treated highly experienced technicians and professionals as if we were assembly line workers. Unisys even imposed work rules on us salaried employees that are actually legal only for hourly wage-earners. I should have recognized the abuse sooner than I did and "jumped ship". I could have timed a change for when shortage of software experts made job jumping very profitable. Instead I stuck it out until mass layoffs were very near.

    When Burroughs and Sperry Univac merged, the resulting Unisys had more than 120,000 employees. Today, Unisys has less than 25,000.

    I must disagree with the replies that indicate programming is poorly paid. I earned sufficient pay that I was able to retire very comfortably before I was 62.

    I would suggest that programmers learn how to test rigorously the software they create. This requires that they also write software specifications that are testable, after which they should learn to write formal test procedures. They can then advance into becoming requirements analysts and software test engineers (except in states where "engineer" is a career that requires a license). There are too few analysts and testers, who are often paid much more than programmers. Large computer-based projects are failing because of a lack of clear, objective, and testable specifications. Attempts to put those projects into actual use are disastrous because of a lack of testing.

    For some details about my career, see http://www.rossde.com/retired.....

  79. Pick a different job. by Anonymous Coward · · Score: 0

    Man this is dead on. A plumber, mason or electrician can't have their work done remotely for 1/10th the wage either.

    Looking back I don't think I would have chosen this profession.

  80. Diplomacy Skills and Design Patterns by TexasTroy · · Score: 1

    Diplomacy Skills and Design Patterns. Those are my two I wished I learned starting out as a young know-nothing.

  81. Regret by Anonymous Coward · · Score: 0

    What do I wish I'd known, starting out as a programmer by copying out basic programs from my Commodore 16 (yes, 16) programming guide?

    That Chemistry might have been a better road.

    Don't get me wrong, I've done reasonably well since then in programming. But I wish I'd not been so obsessed with computers in my youth, and concentrated a bit more on science, particularly chemistry.

    Would have saved me from going on a YT (Youth Training for non-UK people, if you don't know what it is consider yourself lucky) to do ICT, and I'd have gone to college (16-18 for those outside the UK) instead, and university from there.

    Still, the future is still bright. 3D printing and all.

  82. I guess... by eigenstates · · Score: 1

    Since I started learning from my dad in the 70's- I wish someone would have told me how mean and spiteful would come to prevalence as the default behavior. I am glad I began when I was young and had wonderful mentors. I am glad I knew who Don Nelson was as well.

    --
    quis custodiet ipsos custodes
  83. Do what you love and nothing else matters by Anonymous Coward · · Score: 0

    I don't get the negative here. I love writing code. I have been happily doing it for 16 years professionally and about 28 in total. It is the best possible thing I could dream of doing. Every single day presents a new challenge. The work is always refreshing. There are always new problems to solve. Technology moves faster than I could possibly hope to keep up. AND the pay is great.

    If you don't like it. Don't do it.

    I have worked for big co, startups, and myself and they each have their ups and downs. If you are good at what you do you can command your environment. I have successfully avoided promoting to management several times. Why? Because I like to solve problems.

    It's like being paid a lot of money to solve puzzles everyday.

  84. Who the fuck is this guy? by Anonymous Coward · · Score: 0

    With respect to the original article: Who the fuck is this guy? Pick a programming language that will further your career? When I started out, that would have been Cobol or Assembly. He sounds like a manager with his focus on contacts and people skills. Yes, that can help. Yet at the end of the day, if you can't code your way out of a paper bag, nobody is going to hire you. Put the time in to learn how to code!

    What I would have liked to have known: This profession sucks! Employers will screw you over every way they can! Most places see programmers as the lowest man on the totem pole. Everything higher is management.

    Employers will demand 60 hours a week or you're fired. Then 80 hours a week. Then 100. Look around at your fellow employees. When a cold comes around, and works its way through the staff, who gets sick and for how long? That owner or manager who goes home at 5pm? He's out for a day or two at most. Barely a cough. Your colleague putting in 100+ a week? He can be laid up for weeks. And all too often, he won't get better. He'll die. The chronic sleep deprivation to the point of frequent visual and audible hallucinations coupled with a poor diet and malnutrition (borderline starvation really) from not having time to cook or shop for groceries just wrecks your body's immune system. You go into this profession knowing you're going to have to watch your friends die, and knowing that your turn is coming. That you are going to die half a century before your time.

    Dying aside, all that unpaid overtime is hell on relationships. Thinking of having a wife and kids? Thinking of just getting laid someday? Think again!

    Salaries may look great on paper, but by the time you factor in all the overtime and vacation you are never allowed to take, you're barely beating minimum wage and those minimum wage folks are paying a lot less in taxes than you are. (They also get daily rest breaks mandated by law that you don't get.)

    Stock options: In isolated cases, these can be great! (Just make sure you sell 'em and diversify as soon as possible! Too many people lost their life savings by having it all invested in the company they work for only to get laid off during a downturn.)

    In the general case, stock options are worthless. You have a better chance buying lottery tickets. And if they do turn out to be worth something, companies will fire you the day before they vest. Employers will screw you over every way they can!

    Employment contracts: Watch out for nasty surprises. You would not believe the things I've seen. Contracts sprung on you after you've accepted the job, often an hour or two after you've started working there. Sometimes even after you've been working there for years. Contracts that may not be legal, but that are backed up by far more legal resources than you could ever afford. Contracts that give the company ownership of everything you do on your own time, crippling your ability to contribute to open source projects, to learn new tools, technologies, and languages, to have a hobby, or to learn the skills you need for your next job. After all, learning new skills and acquiring a better job is not in the employer's best interest. So they're going to do everything they can to prevent that, legal or not. They play dirty! Real dirty! And they're better at it than you are! I've seen phones tapped (violation of state law), refusal to pay paychecks, out-and-out perjury in a court of law, and even when I proved it beyond a shadow of a doubt and the Judge found in my favor businesses still get away with nothing more than a slap on the wrist while I get blackballed! You cannot believe how lopsided everything is! (Just to clarify: Employer did all these things after learning through an illegal phone tap that I had interviewed with another firm. I didn't take the job. In hindsight, perhaps I should have.)

    Oh and contracts don't necessarily expire when your employment does. Many of them try to get an extra 2-5 years (or more)

  85. Know where your programming language is headed! by bi$hop · · Score: 1

    Starting in about 2004, I spent a couple years becoming proficient in Perl 5. I used it for everything, from serious web programming to complex Win32 GUI-based applications "compiled" into stand-alone executables using ActiveState. Somehow, though, I allowed myself to remain oblivious to the fact that Perl was headed absolutely nowhere.

    Then I decided to look for jobs as a Perl programmer.

    It had never occurred to me that programming languages are living, breathing things that can actually die if they don't get enough oxygen. I suddenly realized that my efforts to develop prowess in Perl had actually turned me into a tumbleweed, blowing farther and farther away from any sign of civilization. The solution, of course, was to do what everyone else did: Abandon Perl.

    Now I wonder if my current language, Java, is headed for a similar fate...

    1. Re:Know where your programming language is headed! by HeckRuler · · Score: 1

      Hey there, don't fret too much. I'm sure Oracle will take good care of you.

    2. Re:Know where your programming language is headed! by Tablizer · · Score: 1

      Nobody has a perfect crystal ball. Languages die off and you should expect them to. COBOL would be the last language I would've expected to last such a long time, but it somehow did; it's almost like Latin: people use it because it's already dead such that there are no surprises in it. There are stupid things about almost every common current language that could doom them. Plus, fads come and go.

    3. Re:Know where your programming language is headed! by cerberusti · · Score: 1

      There is always C, if you can hack it.

      It has a near monopoly in systems programming, is common in serious applications across a large range of industries, and the standard sees minor changes every decade or so. The combined usage is enough to make it the single most popular language, and it has been for a very long time.

      Most operating systems, compilers, virtual machines, and scripting interpreters are also written in C, which makes it easy to learn these when you have a reason to do so.

      It is not for everyone though, and the learning curve to become competent is longer than most languages.

      --
      I'm a signature virus. Please copy me to your signature so I can replicate.
    4. Re:Know where your programming language is headed! by cerberusti · · Score: 1

      COBOL also happens to be very good at what it is mostly used for (insurance / banking.)

      There are very few languages with fixed point and binary coded decimal support. You want this for financial applications.

      Most other languages are C derived, and do not support these. The C solution is usually to use a scaled int, or two ints. This works, but is not obvious to a new programmer. New programmers tend to use floating point numbers, which is slightly wrong... banks hate being wrong, and hate having to staff a ton of very expensive programmers in order to get what should be simple tasks right.

      --
      I'm a signature virus. Please copy me to your signature so I can replicate.
    5. Re:Know where your programming language is headed! by Tablizer · · Score: 1

      Why doesn't the financial industry come up with a more modern money-friendly programming language? It's a big niche.

    6. Re:Know where your programming language is headed! by cerberusti · · Score: 1

      They have no reason to do so, that project fails a risk / reward analysis hard.

      Old does not mean bad, there are many more recent but much worse languages which have not stood the test of time. COBOL works well for what they do, the existing code is written in it, and it is well tested.

      Designing a new language requires that you have staff who can design, implement, and test that compiler / interpreter. You then need to task that staff with doing so instead of something else which could make the company money, and retrain the programmers who would be using it.

      If you try to pitch a project to an insurance or banking VP which involves a lot of risk, a lot of cost, and has no real benefit... you will at a minimum get a polite no as an answer.

      C is pretty old as well (40 years compared to COBOLs 55), but most really important modern code is still written in it. I would not be surprised if it was still a popular language at the century mark.

      The syntax for general mathematics is about 400 years old, and still going strong.

      --
      I'm a signature virus. Please copy me to your signature so I can replicate.
  86. Just a few little things by Marginal+Coward · · Score: 1

    1) You'll spend as much or more time fixing code than you do writing it. Therefore, anything you can do early in the process to reduce those is time well spent, even though it may seem like a waste of time:
    - Single-step through every line of newly written code
    - Do a little personal code review of all code you write
    - Develop module tests as you write code
    - Test every line of code in some way, either informally or formally.
    - Write comments and documentation, even if just for your own benefit. Your future self may not understand what you've done as well as your present self does.
    - Make changes to working code sparingly, and take steps to make sure that every change is for the better. (See above.)
    2) Write code in small pieces, get the pieces working well, and stitch them together. Don't write something giant all at once that may never work.
    3) Approach debugging on a data-driven basis. Most problems can be solved best by instrumenting what's happening in some way, e.g., via a debugger or a simulation. Though the trial-and-error method often is appealing for instant gratification, it's usually inefficient.
    4) Read a few very good books: "Writing Solid Code", "Code Complete", "The Mythical Man Month", "The C Programming Language".
    5) Learn several languages, including Python. Every language you learn makes you better at the other languages you already know.

  87. Learn the rule of the game by fraber · · Score: 1

    Don't be a victim. Learn the rule. Read "MBA for Dummies" :-)

  88. Code more.. by greywire · · Score: 1

    Code more, obsess less.

    That is, just crank out more code and learn from mistakes rather than always trying to make it perfect the first time and never finishing.

    Also, not to listen to people who say your idea wont work. Give it a generation or two and you'll have the speed and memory to do it.

    --
    -- Senior Software Engineer, Attorney appearance services, locallawyerapp.com.
    1. Re:Code more.. by turgid · · Score: 1

      Very wise words.

      I'd add to that: write unit tests for your code (preferably before you write the code). You'll understand how it works and where it's broken quicker and better and free up your brain cycles more for the creative design part.

      You will learn and improve much more quickly with much less stress.

    2. Re:Code more.. by WillAffleckUW · · Score: 1

      Don't forget the other part:

      If it doesn't work, throw it out and start over from scratch.

      You've already done the thinking, and the errors will be much more obvious.

      --
      -- Tigger warning: This post may contain tiggers! --
  89. 'nothing to do with [your] job' by oneiros27 · · Score: 2

    I've worked places where 1/2 the time was spent doing the 'other duties as assigned' ... and some of 'em really sucked. (paperwork ... ick)

    Think about it -- an undergrad degree is about you willing to spend 4 potentially productive years to get a sheet of paper. (and in my case, that's all it was ... as they neglected to flag in their computer system that I had graduated, so 7 years later, when I needed a transcript, I had to spend many months and threaten to sue to get them to mark me as having graduated).

    If you want to do only the things that you enjoy doing ... start your own business, and be successful enough that you can hire someone to do the stuff you don't want to do. And that doesn't require having a degree. The degree is just so that you have a sheet of paper from some group vouching that you have some minimal set of skills to be a productive employee.

    --
    Build it, and they will come^Hplain.
    1. Re:'nothing to do with [your] job' by datavirtue · · Score: 1

      "The boss gets all the shit jobs." --My Grandma, business owner of 40+ years.

      --
      I object to power without constructive purpose. --Spock
  90. Well by SomeoneFromBelgium · · Score: 1

    PHB?

  91. Was going well until I hit this by HeckRuler · · Score: 1

    At the same time, I usually failed to pick jobs for the best reason: What will help me progress in my career? Sometimes that means taking a job for less money but more responsibility or better opportunities.

    IMMEDIATE and urgent RED FLAG!
    No I don't think that this job is a "career opportunity leading to rapid advancement". I will not work for "exposure".

    Fuck you, pay me!

    6. Work more than 40 hours per week. ... If the only time you learn something is on your boss's dime, then prepare to have your options limited -- your boss isn't going to train you...

    What kind of class-warfare propaganda bullshit is this? Hey, I get the sentiment, having a home/hobby project where you code in your spare time does indeed help turn you into a better programmer. But the way he spins it... dude, what the hell?

  92. I wish I'd known... by rthille · · Score: 2

    that I'd make way more money as a lawyer :-)
    Then I could spend my time doing computers as a hobby and actually enjoy it.

    --
    Awesome furniture, accessories and cabinetry in Santa Rosa, CA: http://humanity-home.com/
    1. Re:I wish I'd known... by Archimonde · · Score: 1

      Same thing I told myself, but instead of law school I should have gone to maritime school. By my age now I could have been a staff captain on a cruise ship or even captain/master in few years time with no problem at all. And that means triple the salary and better benefits.

      Instead, I'm looking at our deck officers on our ships who can barely tell the difference between port and starboard. For great majority of them, maritime school was the only one they could actually complete.

      But what can you do, life is too short to look back.

      --
      Trolls are like broken clocks. They show the truth two times a day. The rest of the day they talk nonsense.
  93. Regular expressions by Drakker · · Score: 4, Informative

    Why... regular expressions of course! I could have saved myself endless hours of dumbfounded confusion!

  94. "Detective" work by wcrowe · · Score: 2

    For the most part I have no regrets over my career choice. I liked it 30 years ago, and I still like it now. I sometimes imagine what it would have been like to be an archaeologist, or a writer (other career choices that appealed to me), but that's just daydreaming. What school did not prepare me for was all the "detective" work involved. A lot of my career has been studying data flows, and re-engineering old processes with no documentation. When I was in school, the emphasis was on writing new applications, not bolting stuff onto old ones.

    --
    Proverbs 21:19
  95. Don't bother with programming languages. by plopez · · Score: 3, Interesting

    Learn principles and techniques. A little theory. Use programming languages to help you learn it but do not obsess over the language. All programming languages suck, just to a greater or lesser extent and some in more interesting ways than others. But basic principles never change.

    --
    putting the 'B' in LGBTQ+
  96. Pick a different job. by WinterSolstice · · Score: 1

    Yup, same here. I never *chose* to be a programmer, I wanted to work on AI/robotics. It just sorta happened, and I got out of that field *fast*.

    IT in general - just - kids, don't do it. When you do good work, they want to lay you off or outsource you. When you screw up, everyone hates you.

    My kids saw my work and decided to go into autos and welding. Says it all right there.

    --
    An operating system should be like a light switch... simple, effective, easy to use, and designed for everyone.
  97. Comment removed by account_deleted · · Score: 1

    Comment removed based on user account deletion

  98. coding is only a fraction of business by peter303 · · Score: 1

    Its not like kollege where yu write a program, make it work, and then are finished.
    In a business a lot of other thing go on:
    planning
    specifications
    coding
    check into codebase
    TESTING
    WRITING TESTS
    fixing bugs
    tracking bugs in a databse
    selling the idea
    selling the software
    supporting the customer
    managing all the people that do this
    learning new technology
    teaching the new people
    maintaining the computers to some degree

    All this stuff occurs whether you are a single consultant, part of a small startup company, or part of a mega-software company.
    In a small software company you probably have the mode overall hours devoted to coding.
    A single-consultant is probably spending lots of time on non-coding aspects above.
    A large company has specialists handling things like selling and testing. The fraction of everybodies hours devoted to coding may be rather small, less than 20%.

    1. Re:coding is only a fraction of business by TeknoHog · · Score: 1

      Its not like kollege where yu write a program

      Nope, it's the business world where we don't care about spelling. You need not be able to spell "int main", if you just want to "make mani".

      --
      Escher was the first MC and Giger invented the HR department.
  99. Learn how to use the debugger as soon as possible by Anonymous Coward · · Score: 1

    Learn how to use the debugger as soon as possible!

    The CS program at the school I went to for a degree in 1997 waited until the 4th year of the program to introduce us to 'gdb' for C and C++ programming.

    I probably would be married [at least once] if they taught debugging techniques in the first year. (I realized that I had too many late night coding sessions for no good reason -- programming became too easy after using a debugger properly)

  100. Re:Learn to Recognize Abusive Employers and Jump A by Ronin+Developer · · Score: 1

    My uncle worked for Burroughs and then Sperry/Univac as an EE/Computer Engineer. With layoffs looming and managers telling him he should take the early retirement package, he refused as he wanted to work, enjoyed working, and felt he was too young to retire. Next thing he knows, he's laid off, lost the golden parachute and, being disabled, was unable to find a real job before he did actually retire. Sperry screwed him but good.

  101. old software is a millstone around your neck by peter303 · · Score: 1

    As long as your company sells it, it will come back to haunt you 10, 20 years later. When you are bored as hell with it. Or forgotten everything about it. Hardware changes, OS'es change, and old shit breaks sometimes.

    Perhaps the main remedy is to change compnaies somtimes. Then somoen else fixes your old stuff. Or you fix someone elses old stuff.

  102. The Bill Gates Hell by Anonymous Coward · · Score: 0

    I wish I knew how segment:offset addressing worked in ms-dos 6.22. Then I would have understood why my bitmaps/game looked totally fucked up.

  103. Love it or leave it by mwvdlee · · Score: 1

    Either love programming for it's own sake or find a different job.
    Nobody sees a software engineer as a true engineer, so you'll spend a lot of time dealing with stupid people who insist they know how to do your job better than you. These include (but are not limited to); bosses, managers, HR people, sales & marketing people, customers, clients, business partners (atleast their non-IT staff).
    Unless you thoroughly enjoy programming, you'll quickly burn out.

    --
    Slashdot social media options: AIM, ICQ, Yahoo, Jabber and Mobile Text. Why no MySpace?
  104. LISP by turgid · · Score: 1

    Back in the day (80's 8-bit micros) I started on BASIC and Z80 machine code followed by a little FORTH.

    The one thing I really wish I'd known about - or understood - was what LISP really is. It was often described in the popular computing press as a language "for processing lists."

    How very wrong. The reality is so much better.

    I didn't seriously look at the lisp family of languages until about 6 or 7 years ago. I really wish I'd looked 25 years sooner.

  105. That you shouldn't make your hobby into a job by Anonymous Coward · · Score: 0

    While I love programming, as soon as I do it for money for more than a day or two, it gets booooring. There are loads of interesting stuff, neural networks, genetic algorithms, visual processing, etc. etc. But if you are coding for a living, you usually do forms and lists and forms and lists... The sad truth is that most of us don't get exciting IT jobs.

    So, after more than 15 years of programming for money, I wish I got another kind of job and only programmed as a hobby.

  106. GP here by Anonymous Coward · · Score: 1

    I mis-posted. You are right.

    I was talking about the .com bubble.

    I typed .net instead of .com because I am a fool.

    1. Re:GP here by tompaulco · · Score: 2

      I am anxiously awaiting the popping of the .gov bubble.

      --
      If you are not allowed to question your government then the government has answered your question.
    2. Re:GP here by Anonymous Coward · · Score: 0

      And I am anxiously awaiting the lancing of the .gop boil.

  107. I wish i'd known ... by CaptainDork · · Score: 1

    ... that canned packages were going to do all that for me.

    --
    It little behooves the best of us to comment on the rest of us.
  108. That I would be working with people, not computers by Talonius · · Score: 1

    I always wanted to be a programmer so I could while away the night, hacking away at solutions to problems that interested me. Now I find myself in a career mired by paperwork, delays, and clueless management. I wish I would've known what the real world was like before I started -- perhaps I'd have taken up that writing career instead. (Who's kidding who... it's just as bad, if not worse.)

    --
    My reality check bounced.
  109. Re:That an assembler was way easier than hex opcod by Anonymous Coward · · Score: 0

    OK gramps, I'll get off your lawn now.

  110. C and Basic(.net) to learn both sides,tree forest by raymorris · · Score: 1

    I think it's very valuable to be at least a little bit familiar with C, so you understand what the interpreter or .NET runtime is doing behind the scenes, and something like a .NET language for a bigger view. For example, I didn't really "get" objects until I worked on VB for a while. Graphical objects like text boxes and buttons are clearly objects which have their own properties, events, and methods. Until then, I thought of objects as little more than function libraries. Working in C or something else low level, sometimes you can't see the forest for the trees.

    On the other hand, people who only know very high level, highly abstracted, languages routinely do stuff that's obviously incredibly stupid - obvious to the person who can roughly translate that C# into ansi C. If you don't know what the runtime is doing behind the scenes, you don't realize that while you could access the disk 1,000 times, you're instead accessing it 1,000^2 times (1,000,000).

    Not that everyone should be GOOD at C or assembly and good at Java or .NET, but being familiar enough with both high and low level will make you much better at whichever you prefer.

  111. Devaluation of my profession over time by seoras · · Score: 1

    Software Engineering is the only profession where your perceived value decreases with age.
    If I'd chosen, Medicine (Human,Veterinary), Law, Accountancy, Business, etc the older I'd got the more valuable I'd be.
    If I'd chosen any other type of engineering the same would apply.
    Who's bridge would you want to cross - the civil engineering grads or the guy who's been doing it 20+ years?
    There's a real problem with the non-technical populations perception of the value in software because it's beyond their comprehension.
    Why would I hire a middle aged guy to write my App when I can pay a student party money to write me one?
    Sure, why not get a law student to handle your divorce or your property purchase too?
    Then add on top of that the universal nature of software.
    You wouldn't get a guy in China or India, at $1 an hour, to advise or complete your tax returns would you?
    However you'd happy pay him that to setup a bespoke website with web apps.

  112. Personally??? by cshark · · Score: 2

    I wish I had learned C as my first language instead of Visual Basic. It would have saved me years of headaches.

    --

    This signature has Super Cow Powers

  113. Unit Tests! by Greyfox · · Score: 1

    One of my biggest advances as a programmer has been writing unit tests for everything and the associated decoupling of code required to make unit tests for everything actually work well. They reveal weaknesses in your design early on, before fixing them is too bad, encourage reusable code, encourage you to keep your design simple and increase the degree of certainty you have when you deploy something. I haven't quite jumped on the test-first bandwagon yet, but I'll write a class and then write its unit test. If the unit test reveals that more functionality is needed or that I need to change something, I do it then.

    --

    I'm trying to teach myself to set people on fire with my mind... Is it hot in here?

  114. IDEs and testing suites by WillAffleckUW · · Score: 1

    Mind you, I learned how to code back in the days when CP/M ruled the universe.

    --
    -- Tigger warning: This post may contain tiggers! --
  115. Re:That I would be working with people, not comput by WillAffleckUW · · Score: 1

    At least you don't have meetings.

    Meetings are a giant time suck.

    --
    -- Tigger warning: This post may contain tiggers! --
  116. Don't reinvent the Wheel by WillAffleckUW · · Score: 1

    A lot of people obsess over making new wheels. They'd be far better off it they wrote a decent object library to do wheels once, maintain it, and spend far more time getting the engine to push the wheel.

    Wheels are wheels. You don't need to make a new one every time, unless you're writing the core Wheel program. Spend your time on the stuff that matters, not the inner mechanisms of the windshield washing blade, use someone else's windshield washing blade.

    --
    -- Tigger warning: This post may contain tiggers! --
    1. Re:Don't reinvent the Wheel by cshark · · Score: 1

      Hard to say. I would almost consider building new wheels to be part of the learning process for a new programmer. And I think there's value in it. Not just in the base problem solving skills that comes with re-inventing the wheel a few times, but in the perspectives that come along with it. If you don't re-invent the wheel at least a couple of times, then you will have no basis for forming a valid opinion on the best way to implement a wheel. Which, granted, may not sound like much, but it makes a difference in so many other areas. Besides, even when you're talking about literal wheels, those get re-invented all the time. If they weren't we would never have gotten innovations like the rubber tire, or the memory foam insert for armored cars. We would still have wooden wagon wheels, which, while useful, aren't especially interesting or versatile. I think, in the long run, the same is true for code. If someone wants to write a big new shopping cart product, based on what they think are the best practices for such an implementation... let them. If someone wants to think out a new way to write a blog, or send an email, that's fine too. If I were bringing young guys onto my team, I would honestly prefer to work with people who had that kind of experience, over people that didn't. Just my 3800 satoshi.

      --

      This signature has Super Cow Powers

  117. My Top 3? by jmrieger · · Score: 1

    1.) Comment, comment, comment. If in doubt about comments, comment. 2.) Learn to say no. If you're working on a team where you're constantly asked to introduce new features without extending a deadline, don't be afraid to say no. 3.) Learn to write testable code and unit tests early on. The sheer number of hours in my career I could have saved had I learned early to write testable code is unfathomable.

  118. Re:Advice to my younger self considering an IT car by geekoid · · Score: 1

    I prefer not to be elbow deep in actual shit.

    --
    The Kruger Dunning explains most post on /. http://en.wikipedia.org/wiki/Dunning%E2%80%93Kruger_effect
  119. The other thing... by cshark · · Score: 1

    The other thing I wish I had known earlier as a programmer is that while open source is nice for developing skillsets, it's also nice to make a few bucks with the things I create. Had I been a little more business minded in my early years as a programmer, I would have been a lot richer, a lot sooner. This also relates back to mentoring. As a young programmer, it's very important to seek out and work with grizzly old programmers who have been where you are, and experienced the things you might be trying to figure out right now. Personally, I didn't even realize I needed mentors until about five years in. I should have looked for them earlier.

    --

    This signature has Super Cow Powers

  120. Knowing when to keep my mouth shut by Anonymous Coward · · Score: 0

    It's probably the skill that has taken me the longest to acquire and I still have not perfected it. I tend to be very outspoken, it's a natural outcome of being highly passionate about my job. It just doesn't have to be in front of the CTO of the company. The relationships with co-workers are more important that even the code.

    That said, I was told all this at the beginning of my career and completely didn't get it. Eh, sometimes wisdom only comes with experience.

  121. You're in charge (especially when you're not) by odds10-1 · · Score: 1

    Be good at what you do, but don't forget to take care of yourself.

    Success and happiness depends on realizing work is not a meritocracy. Your co-workers and customers have their own agendas. You can laugh about it or cry about it, but accept it and decide how you'll make your way. If you choose a path of integrity, you at least have pride when you lose. But expect that co-workers lacking integrity will learn to destroy you, and others will learn to depend on you, particularly if you are any good. Neither will support you.

    Overall, luck is random, which means the more you try, the luckier you'll be. If you learn your lessons and cut your losses, it'll be a net gain. But there's little point in random bouts of luck. The only way to become something is to imagine that and start doing it -- which means giving up good things that don't help, and not devoting yourself to someone else's cause.

    And if you are successful at any scale, you'll be leveraging many things - a social network, opportunities/timing, investments and investors - that require constant maintenance and leave few degrees of freedom.

    (There's no rest for the wicked, and the righteous don't need it.)

    Programmers tend to stay naive about this because they trained in rationality, code all day, interact mainly with other coders, and believe their work evaluations couched in pseudo-objective, individualistic measures and backed by money. But to others in the business (yes, even at Google), coders are monkeys at a keyboard, and the only question is how many you need.

  122. Re:That an assembler was way easier than hex opcod by Anonymous Coward · · Score: 0

    yeah ... if only someone had shown me hex opcodes! I was nudging protons around with the static charge I could produce from rubbing a balloon on my head briskly. It took well over a dozen popped balloons before I found out about an opcode let alone HCF.

  123. Re:Advice to my younger self considering an IT car by Anonymous Coward · · Score: 0

    Become a plumber. - better hours, comparable pay, healthier lifestyle, & your job will never be off-shored or out-sourced,

    but your back will hate you eventually if you are over 6 foot tall

  124. Re:Advice to my younger self considering an IT car by Anonymous Coward · · Score: 0

    Really? Living in Germany, on average people working as a plumber (installing and maintaining sewage and water stuffs, is how I translated the word) earn about 75% of programmers on average to a difference of ~500 EUR or 665 USD per month.

    Since Americans like to think per year that would be about 8000 USD more per year for the programmer. For a total of 42145 USD on average btw.

    You should also take into account the back pain from lifting heavy things and putting and screw etc. and I would say that programmers do have a lot more free time in which they could do exercises that minimise the back pain from sitting in a chair all day.

    And how on earth do you figure that plumbers have a healthier lifestyle? What you eat and when you eat is something that is up to you. And being able to pick your exercises as somebody in an office definitely beats having to do heavy lifting or unnatural body postures while installing or maintaining stuff daily.

  125. Re:Advice to my younger self considering an IT car by Foolhardly · · Score: 3, Informative
    How did this get modded up? These kinds of statements say far more about the person saying them than anything closely resembling reality. I spent nearly 6 years as a plumber before I made the switch to programming and only one of these points has any validity.

    better hours

    Forget the fact that some summer days you'll wake up at 3:30 AM and head to the job site because by the afternoon it's too hot to throw a shovel (dig holes/trenches). Plumbing is the kind of work with mandatory overtime, 24-hour on-call shifts, AND inversely periods of time where work dries up completely (i.e., no pay).

    comparable pay

    In 3 years as programmer my income has surpassed the highest paid, 30-year veteran, Journeyman plumber at my previous place of employment. And good luck finding an employer that offers 401K contribution matching.

    healthier lifestyle

    Tell that to my great grandfather, my grandfather, several uncles, brother, and my father - all plumbers with severe back issues starting early in their careers and worsening to a chronic state in old age.

    While I'm sure that poor pay and shitty hours are a reality for some programmers, they usually have a choice whether they realize it or not. Most blue collar professions don't provide you the option to quit and find better conditions in the same field elsewhere.

    If you're overworked, underpaid, and unhealthy that is on you to do something about it.

  126. That it is not worth it (iwas twelve btw.). by Anonymous Coward · · Score: 0

    Learn something really important, e.g. physics, mathematics

  127. Buy Microsoft by msobkow · · Score: 2

    My sole advice to myself when I started out would have been to buy Microsoft stock.

    More than buying a house, a car, or anything else, I started out when Microsoft was a penny stock and could have cleaned up big time just by investing a few grand in their stock instead of a car. :P

    --
    I do not fail; I succeed at finding out what does not work.
  128. Writing by Art3x · · Score: 5, Interesting

    I'm going to answer this in a different way: what I knew when I started that I think most programmers, and most people, don't. That may sound arrogant, but I keep seeing it every day of my working life.

    I wasn't a computer science major or anywhere close: I was a film major and English minor. It was the English that has helped me more than anything learn very quickly certain secrets to programming effectively. And yet it wasn't even the English classes themselves, because a lot of what is fashionable to teach in English is misleading or harmful.

    What really happened was a certain approach to writing. It is taught clearly in just a few books, like The Elements of Style and On Writing Well. Reading these books literally changed my life. If I were to try to summarize it, it would be that the goal of writing is to reach the reader as plainly as possible, instead of writing in a flowery, fancy, or important-sounding way. To do that actually is the greatest amount of work. It actually is the opposite of everyone's inclination. Even for professional, longtime writers, it doesn't happen on the first draft or even the seventh draft. It involves adhering to certain non-glamorous principles like using as few words as possible and preferring the short word over the long one. It means putting yourself in the background. In short, in trying to be elegant.

  129. Advise by Bill,+Shooter+of+Bul · · Score: 3, Insightful

    I wish when I was starting out, I knew how idiotic it would sound to tell everyone what I wished I knew when I was starting out. Cause, man, does it sound stupid.

    Come children, let me pretend to be wise by telling your really obvious things I was not aware of when I was your age.

    --
    Well.. maybe. Or Maybe not. But Definitely not sort of.
  130. Functional programming languages by Anonymous Coward · · Score: 0

    Study mathematics, not programming.

  131. Bits and Bytes by DivineKnight · · Score: 1

    Sometimes doing things the insane way is the sanest method available.

    Let me explain:

    A new programmer will look for a method to transform one object to another another; a new programmer will write a method to transform some bytes into some other bytes.

    A (slightly more seasoned) programmer will realize that even though you are using a higher-level language, someone inevitably said "f*ck it" at some point, and built byte arrays[] and so on into the various namespaces / classes, and that it's more of a search for the right namespace than inventing the wheel for the 5000th time. From the usual 'sane' standpoint, resorting the byte[] arrays in a high level language kind of defeats the purpose of using a high level language, and yet, somehow, between the hours of 1-3 AM, it makes perfect sense for a high level language to be filled with all these nitty gritty options.

  132. Write down the tiny lessons by Anonymous Coward · · Score: 0

    Over 39 years, I have make the same mistakes many times. I start typing code as a way of forcing myself to design. I write code in haste, not expecting it to be used much. I optimize for performance unevenly and in many cases unnecessarily. I spend a day mechanically debugging something that could have been deduced in a few minutes. Every bug, every design deficiency, every "oh dear" moment is a small lesson I should have internalized, but rarely did.

    Keep a notebook recording what things you did wrong, what you could have done better, risks that paid off better than expected, strengths and weaknesses you see in yourself. Reread it occasionally. You will improve at a far faster rate than your peers.

  133. Why What! by tomxor · · Score: 1

    You wish you had always known "how to design a solution on my own time before I code a solution on company time"? Why?

    The more general principle is that you should design before you code... or rather: experiment, research, understand, test, analyse THEN design THEN code, then RE-write that code. It's the oppose to the write-once philosophy, if the task deserves it, then you should try to fully understand the problem before designing and coding for it.

    But often with less engineering orientated programming you don't get time explicitly allocated for doing those things... so when you want to do a good job and are asked to write a moderately complex piece of software, you know that to save time overall and create a body of code that isn't going to cause you a headache to maintain later; you will have to invest some of your own time to think about it.

    And the more cynical people here will say, "hey you don't get paid for that, programmers work too long hours blah blah blah" but you know what... it's worth it, because you become a better programmer, you learn more interesting things, you become better at thinking about problems and engineering solutions... if you aren't interested in those things then why are you coding at all, there are easier ways to make a living.

  134. Slashdot is an echo chamber by Anonymous Coward · · Score: 0

    Especially for meta- topics like this one. Expect a lot of whining and bitching, and don't expect much in the way of wisdom.

  135. Nothing is the language you start with by istartedi · · Score: 1

    They all suck in their own peculiar ways.

    In fact, "All current languages have faults. There is no language that's suitable for all situations at the present time" is arguably something that aspiring programmers should learn at the outset.

    --
    For all intensive purposes, "whom" is no longer a word. That begs the question, "who cares"?
  136. Re:Advice to my younger self considering an IT car by Anonymous Coward · · Score: 0

    My natural talent and trade is software development, and you can be self employed aka Independent software developer (ISD) and write application(app) code people will want and or become a game developer.

  137. Testcases by Anonymous Coward · · Score: 0

    Oh, and how to avoid overuse of if/then with trinaries.

  138. Top 5 things I learned from software development by Kalendraf · · Score: 1

    1 ) Make liberal use of saves, back-ups and version control check-ins. Disk space is cheap, and having incremental versions can be a life-saver in case things go awry.

    2 ) When given an existing piece of software to modify or maintain, do not assume that the previous authors had any clue about what they were doing, or that they followed good coding practices. After fully analyzing the code, be alert for opportunities to restructure / rewrite portions that will improve maintainability and efficiency and determine if they can be implemented as part of the updates.

    3 ) Comment heavily. At the very least, add comments for each functional block to help identify their purpose, expected inputs and outputs. Always add comments for non-obvious line entries. Also make sure to clearly comment any debug / trouble-shooting code that is added to make it easy to remove later.

    4 ) Today's coding choices may last forever. Once implemented and released, it becomes significantly harder to make changes later. Make sure that proper architecting and design work is done up front way before any code gets written.

    5 ) If you don't like it, get out. One of my professor's used this phrase a lot, and my experience in engineering has led me to agree with it. If you don't like coding those lame exercises in software classes, chances are you won't like coding in the real world either. Passionate and motivated programmers tend to produce better results. If you don't enjoy writing software, find something else that you do like instead.

  139. Understand the differences between.... by Anonymous Coward · · Score: 0

    1) computer science
    2) programming
    3) engineering
    4) the role of mathematics in the above 3

    Then make an informed choice about what you want to do ...

  140. Not to believe the hype by Anonymous Coward · · Score: 0

    I wish someone would have told me not to believe the hype around various trendy new programming languages, or amazing new tools with fancy acronyms.

    Good solid engineering, science and math seems to stretch a lot farther than the piles of marketingoid speech that surrounds various languages and products.

    tl;dh: I wish I knew what a fanboi was and how to recognize when I am one.

  141. 'weed out' classes ruin tech by globaljustin · · Score: 1

    when I was cramming to learn the pointless shit that had nothing to do with my job while in college, so I'm not quite sure what that kind of caffeine and beer-induced learning haze is supposed to teach you about the real world.

    bingo

    the whole idea that having some random, abstractly "difficult" class that is difficult b/c it is full of pointless busy work, and that class will test who will be a good engineer...the whole notion is foolish and ruining tech

    the idea of "weeding out" is fine...but making a class antagonistic expressly for that purpose just **wastes students time** ...you 'weed out' by the admissions process

    i really believe this 'weeding out' error has made a mark on the tech industry...it has significantly contributed to the hostile, alienating environment of tech work

    --
    Thank you Dave Raggett
  142. Move around by Anonymous Coward · · Score: 0

    Get outside, exercise more, learn better posture, learn better snacking habits.

  143. Re:That an assembler was way easier than hex opcod by mark-t · · Score: 1

    I'm not sure what your point is.

  144. How to assert myself by Anonymous Coward · · Score: 0

    I wish, as a 10-year-old, I knew how to assert myself more, to those telling me I was too young and that this product X will be too complicated for you and if anything you should just stick to the BASICs.

  145. Don't do this as a job by VTI9600 · · Score: 1

    There are tons of professions where knowing how to write good code will help you achieve success over the competition. Computer programmer isn't one of them.

  146. SICP by Anonymous Coward · · Score: 0

    I wish someone had turned me on to "The Structure and Interpretation of Computer Programs" earlier on in my career, and of course programming in Scheme/Lisp.

    I read it in '85, but it really rocked my world.

  147. Re:Advice to my younger self considering an IT car by Anonymous Coward · · Score: 0

    Not in my state at least until they give the certification in spanish.

    I'd say 75% of the plumbers in my state are latino immigrants, you just need one guy who's legal and speaks English (and writes) to pass the test.

    It's been insourced. Just like H1b in software engineering.

  148. No. by wesleybliss · · Score: 1

    How to say "no."

  149. Self Worth by wesleybliss · · Score: 1

    What my market value was, is, and could be in X amount of time.

  150. insight by Anonymous Coward · · Score: 0

    Programmers are are as catty as hairdressers and real housewives.. if only a haiku in octal format, mocking a back-up script made for good reality tv, if only.

  151. Static binaries or avoid MS platforms entirely by dbIII · · Score: 1

    DLL hell to start with (now finally going away), but the MS platforms have changed so much that given enough time something outside of your application is going to break it as the next fad emerges and the old one is dropped. Packaging as much in as possible and pretending you are developing for a fairly dumb console with hardly anything available instead of relying on what's currently on top of the quicksand is a partial workaround. Developing for an environment that MS does not have control over which sits on top of the OS is a better workaround.

  152. It's a lie. by mcmonkey · · Score: 1

    The code groupies you hear about.

    Not true. :(

  153. Find awesome coders and learn from them by Anonymous Coward · · Score: 0

    **Read their code**.

    Talk to them. E-mail them. Chat with them. Download open source software and challenge yourself to hack in a new feature.

    I spent a lot of my youth programming in a vacuum. I learned a lot, but I would have learned faster if I didn't re-invent (and fail at re-inventing) many things myself.

    I enjoyed reinventing the wheel so to speak. It was how I learned to develop computer programmes. Remember the Lotus 1-2-3 menu styles and other menu styles of the 1980s? I implemented my own library in C to provide window (non-graphical) and menu capability for console applications written to run on computers running Microsoft Disk Operating System.

  154. If you like to code... by strangeattraction · · Score: 1

    Switch jobs every 3-5 years. VC spread their money over lots of companies. You should do like wise. Falling in love with a company is great but in the the end your a resource to be extracted and disposed of for people with "business acumen". You need to take the same attitude and and make sure the company is in fact giving you your due. Get your equity and get out. If the company is actually showing promise in 3 to 5 year maybe stay but do not ever think the companies success hinges on you being there. It does not. The business end of the business will do everything they can to make sure that is not the case even if it is. Good luck

  155. Re:Learn to Recognize Abusive Employers and Jump A by DoctorBit · · Score: 1

    Wow, that was really interesting. I think I read your entire website! Thanks.

  156. I wish I'd known... by Anonymous Coward · · Score: 0

    - No matter how great your software is, inadequate marketing will likely cause it to fail.

  157. Re:I wish you'd know basic English... by Anonymous Coward · · Score: 0

    It's "could NOT care less", you stupid, American cretin...

    You don't even know what the hell you're saying when you say it. Could NOT care less. Idiot.

    Or perhaps she's speaking ironically. Is understanding irony a concept that is beyond your capabilities?

  158. $100K salary = $20/hour by ayesnymous · · Score: 1

    I wish I had known that even if you get a $100K salary, that could still come out to $20/hour or less.

  159. Math by Anonymous Coward · · Score: 0

    I wish I had taken math more seriously in college. It was obvious to me then that mathematics had little to do with programming. You didn't need to know linear algebra or number theory to make a webpage, windows service, or device driver. Why bother? Better to focus on learning stuff I can actually use like Java Web Services.

    Now here I am 10 years later and I'm getting interested in artificial intelligence, cryptography, image recognition, etc., and the lack of math is hurting. Most of the interesting stuff in computer science is going to lean heavily on mathematics. Take it seriously.

  160. I don't code for companies anymore.. by Anonymous Coward · · Score: 0

    Dam scrum meetings. Working programmers until the wee hours in the morning. Yeah I wish I knew about that. So I switched gears.
    I do other IT tasks to earn a living, my coding.. is for me. I won't write for a company, I worked for enough greedy bastards.. no more.

  161. Re:Learn to Recognize Abusive Employers and Jump A by Anonymous Coward · · Score: 0

    Ahh.. the good old days.

    Now programmers with H1B Visas have infiltrated the US workforce and write substandard non optimized code.

    I hope one day there's a virus that will wipe these bastards off the face of the earth.

  162. agility is more important than control by dwpro · · Score: 1

    Fresh out of college I was confident that things like GUIs are optional and code generation was a fad, and that the latest versions of frameworks weren't worth using until they'd been released for at least a year (I probably read too much /.). After some time I found that laboriously written code that would later be rendered broken or inferior when technology advanced, and new tools could automate what my code did, but often quicker, better, or in a more maintainable way. People around me were frequently mentioning new tools, but I was too hard-headed to listen. I could have saved myself tons of work on code that later became a burden to the organization. Don't be afraid to experiment with tools and techniques that will save you time, you don't need to have control of everything.

    --
    Millions long for immortality who do not know what to do with themselves on a rainy Sunday afternoon. -- Susan Ertz
  163. Design document FIRST by Anonymous Coward · · Score: 0

    Getting a hold or writing the design document FIRST. Probably less of a problem for programmers on larger projects but when doing in house business apps its so easily overlooked as a waste of time. My most successful project all had a design document written up before I ever even opened the IDE. Other projects that were kludges did not have any kinda plan and grew organically into a mess (they worked but could have been more efficient, cleaner and done faster)

    Right now we have one project that is struggling (not my responsibility fortunately, they went outside for it) and when I'm brought into the conversation I keep asking them if they got a design document for the project yet. I think a bit of scope creep is starting to hit them as well.

  164. Things I wish I knew when I was eighteen by Anonymous Coward · · Score: 0

    1) Building a career is mostly about building relationships instead of coding. You have to know how to code well, but it is not enough to build a solid career.

    2) Invest some of your precious learning time on skills that do not become outdated with time: OS shell scripting, regular expressions, SQL, etc.

    3) Take great care of your health. It's more important than any project.

  165. svn and large projects by Anonymous Coward · · Score: 0

    Learn how to use version control like SVN or Git. They usually don't teach that in the classes you take, and you'll absolutely need it in the workplace. Also, learn how to read, understand, and modify code in large projects.

  166. What else by NewYork · · Score: 1

    Slashdot.

  167. tests and requirements by Anonymous Coward · · Score: 0

    everything starts and ends with requirements.
    if the reuirements are defined in terms of functional tests, its very difficult to have accidental bugs. almost all bugs end up being due conflicting requirements, which simply need to be resolved.

    with this method, we can replace junk food and cafine with planning

  168. Get it in writing. by Anonymous Coward · · Score: 0

    When the owners of a startup offer you a low paying job in return for an equity position, get it in writing.
    Get an employment agreement in which you cannot be transferred without your permission, or canned without cause.
    Have it say that when you are terminated, you may exercise any stock options and have a golden parachute for 5 years at your highest salary.
    Understand the "Call Girl Principle."

  169. That doing... by Anonymous Coward · · Score: 0

    that doing QA (manual or automated) testing is far easier. And a great QA person is harder to find.

  170. everything I didnt learn in school by YoungManKlaus · · Score: 1

    less about programming-language-x and more about processes and stuff like collaboration and version control. Imho people should learn that asap, preferably even before they start developing "more serious stuff" (i.e. anything more than "hello world").

  171. Old software by Anonymous Coward · · Score: 0

    Most of the time when i get into a new project i have to take care of code which i did not write, which is not documented and nobody knows the reason why the code is the way it is. And then you have to do a lot of bugfixing in this code which is sometimes the worst code you have ever seen.
    A rewrite is too time consuming but making the code better is too. Management most of the time decides "just fix the bugs" but you often see piles of shit of code and the only thing is to understand that weird code and fix it. That is somehow annoying but thats the way it is.

  172. Clarity, plan/code time balance by myid · · Score: 1

    1) Programming students are told to write clearly, because clear code is easier to maintain. True. But students should also be taught another advantage of clear code - it cuts down on the chance of mistakes in your code.

    For example,
    ++i;
    if (i > 2) {...}

    is easier to read than
    if (++i > 2) {...}

    Before you promote your code, you and your code reviewers will find more mistakes in it, if it's clear.

    2) Students should be taught to balance time spent planning vs. time spent coding.

    Sometimes beginners think planning is a waste of time, and they jump into coding too soon. They need to be taught to figure out the user experience, classes, etc. first.

    But on the other hand, they shouldn't spend so much time getting the user experience just right, that they won't be able to finish coding and testing on time.

  173. View what you're doing as a craft... by Anonymous Coward · · Score: 0

    Be a craftsman. Always work at being better at your craft. Sharpen your tools. Understand not only what works, but WHY it works. Never stop learning.

  174. Re:Learn to Recognize Abusive Employers and Jump A by Anonymous Coward · · Score: 0

    Yes, SDC was a special place with lots of sharp people back in the day. I worked there as a vendor from '77 to '81. Maybe the most intellectually challenging organization I have ever been.