Junior developer woes


  • I survived the hour long Uno hand

    I'll grant that the current university system isn't serving IT well, but I'd hate to go to a master-apprentice system when, well... look at the javascript open-source community. They're re-inventing the wheel every six months as it is. You want to entrust the future of IT to those guys?

    I'd rather see certifications made useful, robust, and standard so there's SOME oversight into "what you should learn".



  • I had a degree, and still had to take a job that took people without degrees (with a degree preference).

    They offered 35k a year.

    Had I not had scholarships, I wouldn't have paid back a loan for at 15 years (assuming raises).

    I was taught by that company to be a programmer, and while I don't agree with their notion of programming, it was an apprenticeship like experience. Sure I didn't have a direct mentor, but they didn't expect me to know any nuances of actual business needs.

    Once I realized they didn't have a need for higher expectations, I moved on to ensure advancement in my career.

    The whole scenario would have worked without college at all.

    And it does work, some of my colleagues from that company still don't have a degree. They earn a little less than me, but it's not enough to justify the cost of 4 years of college to the taxpayer.



  • @redwizard said:

    My degree is in Electronics Engineering Technology. I work in IT. Q.E.D.

    From my experience hiring developers, I'd much, much rather hire the Psychology graduate (who then switched to IT) than hiring a Computer Science graduate. Much, much rather. Like, by orders of magnitude.


  • ♿ (Parody)

    @blakeyrat said:

    Statistics, for example, is recognized to be useful by many different fields. Statistics lives in the Math department, but there's no such thing as a 4-year degree in Statistics-- it's just something you take if you want a 4-year degree in, say, Psychology or Sociology or Economics any other field that happens to make use of Statistics.

    Yes, there are 4 year degrees in statistics. Also, the way we teach statistics is not really much less of a WTF than how we teach CS / Programming / etc. And certainly the way people in those fields use statistics is at least as bad.



  • @Mikael_Svahnberg said:

    so if a course has less than 85% pass through rate

    The teacher shares responsibility for the students' education.

    If there's less than an average pass rate, and the normal distribution disagrees with the teacher's pass rate. There's potentially a problem with the teacher.



  • @xaade said:

    The whole scenario would have worked without college at all.

    Exactly. I regret spending the 4 boom years of the first .com run-up sitting in a dorm room. In retrospect, it was a really dumb decision. Especially having seen some of the awful code those .com boom companies were paying idiots $250,000/year to produce-- I could have done significantly better than them.



  • @blakeyrat said:

    But isn't it just as valid to use your programming skills to assist an accounting firm?

    It should be so that it's just as valid, but you shouldn't need higher education for that. I think this was the idea behind our (Polish) current school system - you either go to regular high school, or basically do a job course. Except it all went to shit with degree inflation.

    But I digress. The point is, universities are supposed to be about "calculating orbits". And if it wasn't for the diploma inflation, they probably would stay that way.

    @blakeyrat said:

    It's taught as if programming is a field in and of itself.

    It... kinda is. Well, not programming per se, but Computer Science. Somebody has to come up with all those clever algorithms and prove that they're fast, so that you can then use them in a conveniently available library.

    It's as detached from real-world coding as it gets, that's true. But it's not nonexistent.



  • @Yamikuronue said:

    I'd rather see certifications made useful, robust, and standard so there's SOME oversight into "what you should learn".

    No cross-section of the community is going to be inherently better at insuring quality.

    I've seen just as much fail out of CPAs as I've seen from developers.


  • I survived the hour long Uno hand

    But one CPA never goes to another and says "Are you using double-entry bookkeeping?" and the other guy goes "What's that? I made my own accounting system."



  • @boomzilla said:

    Also, the way we teach statistics is not really much less of a WTF than how we teach CS / Programming / etc. And certainly the way people in those fields use statistics is at least as bad.

    Because statistics is a scholarly pursuit. It requires scholarly refinement and benefits from a college atmosphere.

    IT does not. IT is a trade, and benefits from skill based progression.



  • @Maciejasjmj said:

    It... kinda is. Well, not programming per se, but Computer Science. Somebody has to come up with all those clever algorithms and prove that they're fast, so that you can then use them in a conveniently available library.

    Right; we need maybe 1000-2000 people in the entire country working on that, and 95% of them are in the private sector (like the guys doing the back-end design of SQL Server or writing C#'s compiler, etc.)

    Instead we have a thousand universities, each of which has a thousand students in the CS program, every single one of which is going to go on to write Facebook or an accounting package or inventory management software for a warehouse full of socks.



  • @Yamikuronue said:

    I'll grant that the current university system isn't serving IT well, but I'd hate to go to a master-apprentice system when, well... look at the javascript open-source community. They're re-inventing the wheel every six months as it is. You want to entrust the future of IT to those guys?

    Perhaps I'm suffering a mind block on this, but what would the equivalent of the "open-source community" be in another discipline, such as mechanical engineering or carpentry?

    Master-apprentice system means the apprentice works and studies under a master (i.e., someone who works in the field, is remunerated well for it, and is respected by his peers for the quality of his work).

    Open-source community seems to me[1] to be a loosely associated group which any noob can contribute to - and does - and if we're lucky gets cleaned up by someone who knows what they're doing at some point down the line.

    The two are not even similar in my view.

    [1] If I'm wrong here, feel free to flame me, as I don't participate in open source programming in any capacity.

    @Yamikuronue said:

    I'd rather see certifications made useful, robust, and standard so there's SOME oversight into "what you should learn".

    Agreed 100%



  • @Maciejasjmj said:

    degree inflation.

    Because the education system is a system and has to justify its existence.

    How many company training classes were a joke?



  • @blakeyrat said:

    an industry where virtually every important contribution came outside the university system

    Cisco's and Google's core technologies both started as university projects.


  • ♿ (Parody)

    @Yamikuronue said:

    But one CPA never goes to another and says "Are you using double-entry accounting?" and the other guy goes "What's that? I made my own accounting system."

    But comparing the two fields like that is a WTF in itself.

    @xaade said:

    Because statistics is a scholarly pursuit. It requires scholarly refinement and benefits from a college atmosphere.

    Debatable. If you're in it for the purposes of researching, etc, OK. But not necessarily from the perspective of the people who use it.

    Granted, it's fairly different from the job training sort of thing you get in many CS programs. That's more of an occupational school thing, like HVAC or whatever.

    Coming from a math background, I find that invaluable to my work in programming. But that's because when I think "math" I think of abstract reasoning, which you do all the time when designing systems and writing code. Even for accounting purposes.



  • @Maciejasjmj said:

    It... kinda is. Well, not programming per se, but Computer Science. Somebody has to come up with all those clever algorithms and prove that they're fast, so that you can then use them in a conveniently available library.

    Yes, that is the scholarly pursuit.

    Programming for a business need, does not require a scholarly environment.

    But refining tools for the use of programming, does benefit from a scholarly environment.



  • @blakeyrat said:

    From my experience hiring developers, I'd much, much rather hire the Psychology graduate (who then switched to IT) than hiring a Computer Science graduate. Much, much rather. Like, by orders of magnitude.

    That's funny to me, because we did exactly that 9 months ago. He's worked out to be awesome at his job.



  • @boomzilla said:

    because when I think "math" I think of abstract reasoning

    Math increased your critical thinking skill. That's all.

    There are other ways to do this.

    Such as work experience.

    It is an effective use of the degree, which is why I rant less on CS degrees that focus on math.

    But are four years necessary?



  • At my first job in dev (which was only about five years go), I certainly didn't turn out code like this developer. I was also tasked with a much more significant task than just writing a screen scraper. I had to reverse-engineer a piece of industrial hardware that had been abandoned by its vendor, write software to interface with it, and then integrate that software into our production environment. This meant looking at a great deal of existing code (both in the form of written code, and ladder-logic for PLCs) and wiring diagrams.

    In comparison to that, writing a small screen scraper is trivial. I didn't expect him to know the ins and outs of all the frameworks and libraries we use, but he should have been well-grounded enough to write software that isn't shameful, to do research where research was needed, and to ask questions when he needed direction.


  • ♿ (Parody)

    @xaade said:

    There are other ways to do this.

    Such as work experience.

    Maybe, but I'm dubious.



  • @xaade said:

    If there's less than an average pass rate, and the normal distribution disagrees with the teacher's pass rate. There's a problem with the teacher.

    This assumes the student give a Belgium. I believe Mikael's point was that many don't in his part of the world.


  • I survived the hour long Uno hand

    @redwizard said:

    Master-apprentice system means the apprentice works and studies under a master

    Who is a Master in web programming? How do we know? What makes them any more qualified than anyone else?

    If you go by the vox populi, as I said, there's hoards of web programmers that pride themselves on not having to learn things. I don't want a system where they set the standards.



  • @Yamikuronue said:

    Who is a Master in web programming? How do we know? What makes them any more qualified than anyone else?

    If you go by the vox populi, as I said, there's hoards of web programmers that pride themselves on not having to learn things. I don't want a system where they set the standards.

    Point taken.



  • @redwizard said:

    I believe Mikael's point was that many don't in his part of the world.

    It took you all the way to college to filter those out.

    We were doing a good job, in America, insuring those kids dropped out and scrubbed floors for a living, until No Child Left Behind.



  • @redwizard said:

    That's funny to me, because we did exactly that 9 months ago. He's worked out to be awesome at his job.

    I used Psychology as my example because I experienced the same thing. The guy could JavaScript in circles around me and also understood the user's needs in a way 90% of developers never quite get.



  • @Yamikuronue said:

    Who is a Master in web programming? How do we know?

    Market success.

    Choose a bad master, become a failed programmer, lose business.

    I would say the same of college professors.


  • ♿ (Parody)

    @Yamikuronue said:

    If you go by the vox populi, as I said, there's hoards of web programmers that pride themselves on not having to learn things. I don't want a system where they set the standards.

    This sort of begs the question of whether we know enough about the field to have standards. OK, perhaps at a very low common denominator that works, but again, comparing to other fields of engineering or accounting is a bad idea, IMO.



  • @davewtf said:

    At my first job in dev (which was only about five years go), I certainly didn't turn out code like this developer.

    Shocking lesson learned: different people are different.


  • Grade A Premium Asshole

    Here is the problem as I see it:

    We all speak from our own experience, and we have teachers who went to school in order to become teachers and spent little to no time in the real world solving real problems. That is how you end up with teachers who teach as though they are preparing students to become teachers. We need teachers with real world experience if you want to save that aspect of the educational system.



  • @Yamikuronue said:

    If you go by the vox populi, as I said, there's hoards of web programmers that pride themselves on not having to learn things

    If that's what the market wants, those people will be the most successful.

    What do you want out of your job? To make money?

    I've had to learn the hard way that artistic programming, and guaranteeing quality, are scholarly pursuits.

    Sometimes business needs intervene.

    If we enforce students to always produce quality at the cost of business, we are really just setting them up for failure.

    You don't think I'm bugged by having to release or implement software that's broken as an analyst? Trust me, I have the same convictions you do.

    But more often than not, too much of a conviction just hinders my productivity. Sometimes you have to accept cost as a limiting factor.

    And if there are web designers that can template sites 10 a day, I can't compete if I'm custom tailoring code for that, unless there's enough demand in the market.


  • I survived the hour long Uno hand

    But is that what we, as an industry, want to say is our best and brightest? The people who couldn't invent anything new if they were held up at gunpoint? The industry will stagnate if we don't recognize and promote those among us with ingenuity. Meanwhile, every company wants IT to be as cheap and cookie-cutter as possible so they don't have to bear the cost of innovation, but they want to benefit from innovation anyway. If we as professionals declare that cookie-cutter is better than innovative, always, full stop, then we're doomed.

    I'm not ever going to argue that there's no benefit to being sloppy in order to hit the market at the right time, or that being fast is always worse than being thorough. So don't put those words in my mouth. I'm talking about professional pride, not business justification.



  • @Polygeekery said:

    real world solving real problems

    Teachers solve real world problems. Coordination, planning, etc are all very real.
    It's just their understanding of practical skills relevant to the trade is limited.


  • Grade A Premium Asshole

    @xaade said:

    Teachers solve real world problems. Coordination, planning, etc are all very real.It's just their understanding of practical skills relevant to the trade is limited.

    Toe-may-toe, toe-mah-toe. Also, however the hell @HardwareGeek says it.


  • BINNED

    @redwizard said:

    When my dad went to Zagreb University back in the 60's, part of his mechanical engineering course requirement was to work at a job as an intern, for which he was graded by his Supervisor on the quality of his work. Thus, upon graduation, he had real work experience in tandem with the degree.

    And by the way companies are employing around here, they still assume this. Now, it's still partially true: there are internships floating around. But they are not mandatory, and there's not enough positions to go around.

    I know people who completed college there a long time ago. And by their stories they really did leave with actual knowledge. These days? A bunch of theoretical wankery. Which I can respect, don't get me wrong, but I never aspired to become a computer scientist, but a programmer. But I don't have a choice. There isn't a course on OOP for example. Oh, there's a Java course, yes, but no-one teaches you how to use OOP properly. They teach you Java. But spending days constructing increasingly complex Turing machines, made hard just for the sake of being hard? We got that in spades baby!

    @redwizard said:

    having someone take exactly TWO MINUTES in their day to show me the error of my ways and why it's an error made all the difference in the world

    Guess what helped me a lot? TDWTF.

    I started reading for fun. A few Error;d articles here, a simple CodeSOD there. I chuckled.

    And then I read something that went completely over my head. Sometimes I didn't understand what the damned thing is even meant to do. Sometimes, I understood it but didn't see what's wrong with it. So I hit the comment section. And there I found people who explained the WTF. Who posted bits of code, sometimes to mock, sometimes to show how it's actually done.

    Now, I'm not saying that was the best way to learn. But I'm pretty sure that, alongside other WTFs I still very likely write but don't see, I'd write some frontpage material myself. But I have the frontpage to thank that I didn't.

    @Polygeekery said:

    We need teachers with real world experience if you want to save that aspect of the educational system.

    This. So much this. I facepalmed in class more than once because I, as a student, knew that some of the things I've been taught, while all nice and pretty on paper, would crash and burn within minutes in a real system.



  • @Yamikuronue said:

    But is that what we, as an industry, want to say is our best and brightest? The people who couldn't invent anything new if they were held up at gunpoint? The industry will stagnate if we don't recognize and promote those among us with ingenuity. Meanwhile, every company wants IT to be as cheap and cookie-cutter as possible so they don't have to bear the cost of innovation, but they want to benefit from innovation anyway.

    I have to quote the whole thing, because I'll address it as a whole.

    If a business wants to hire a scholar in order to innovate, then they will do so.

    But the vast majority of business isn't innovating, but following trends.

    Does a business, hiring a programmer, want to pay for innovative ticket tracking, or do they just want someone to integrate trending solutions for ticket tracking into their business needs.

    There's a place for both, to be sure.

    @blakeyrat said:

    Right; we need maybe 1000-2000 people in the entire country working on that, and 95% of them are in the private sector (like the guys doing the back-end design of SQL Server or writing C#'s compiler, etc.)

    Instead we have a thousand universities, each of which has a thousand students in the CS program, every single one of which is going to go on to write Facebook or an accounting package or inventory management software for a warehouse full of socks.

    applies to your comment.

    @Yamikuronue said:

    But is that what we, as an industry, want to say is our best and brightest?

    Don't underestimate the wisdom needed to fulfill requirements precisely and within budget.

    @Yamikuronue said:

    The industry will stagnate if we don't recognize and promote those among us with ingenuity.

    It will die if we don't promote accountability for the cost of business.

    If every programmer produces a piece of art, when a standard cog is needed, we won't have an industry.


  • I survived the hour long Uno hand

    I think we've gotten lost somewhere. I was asking what makes a master, what proves that someone is good at what they do. And the answer I was proposing was that in order to be considered a master you have to be able to innovate, to make something new and interesting. Now you're talking like I'm trying to say everyone should always innovate.


  • ♿ (Parody)

    @Onyx said:

    Now, I'm not saying that was the best way to learn.

    Whatever keeps you engaged and gets you to think is generally a worthwhile way to learn.



  • @Yamikuronue said:

    So don't put those words in my mouth. I'm talking about professional pride, not business justification.

    If you look at the open source community, where there is zero restrictions, you'll soon realize 99% of programmers have no professional pride whatsoever.



  • @Yamikuronue said:

    And the answer I was proposing was that in order to be considered a master you have to be able to innovate, to make something new and interesting. Now you're talking like I'm trying to say everyone should always innovate.

    @Yamikuronue said:

    to innovate

    I disagree.

    To be a master is to fulfill the demand of your business.

    If someone demands innovation, then an innovative master is needed.

    If someone demands cost restrictive development, then you need someone with better forecasting and business sense.

    There is enough room for both.

    Saying that every master needs to innovate, is pushing the industry towards the scholarly, which is hurting our relations with business as a whole and lowering the value of our work.


  • I survived the hour long Uno hand

    My point exactly.


  • I survived the hour long Uno hand

    Do you honestly not see a difference between the ability to innovate and the act of innovation? If you write slapdash, cookie-cutter code because that's what would best serve the business, that is different than writing it because you can do nothing else.



  • @Onyx said:

    Guess what helped me a lot? TDWTF.

    I've probably done more good here by calling people idiots than all my university professors combined.



  • According to the college environment, there is no difference.

    That's why college-business relations are failing.

    You're failing to see that students are graduating without the ability to

    @Yamikuronue said:

    best serve the business

    There are masteries of business, and masteries of scholarly.

    @Yamikuronue said:

    I was asking what makes a master, what proves that someone is good at what they do

    Business focused masteries promote coding to cost and budget. Those skills are masteries, and are very necessary.

    I think you're failing to get my point.

    There is no 1 mastership in a field.

    There are many masteries, and you can learn from the all.

    Precluding people with good business sense as being a master of programming within that skillset, is detrimental to businesses that need that skill.


  • I survived the hour long Uno hand

    Whatever. You're so laser-focused on some notion that the only thing that makes someone a good programmer is that they have no sense of pride that I'm not sure this conversation is going anywhere. I've conceded about three times that there is a time to innovate and a time not to, but you won't do the same, so we have no shared ground.


  • ♿ (Parody)

    @Yamikuronue said:

    Do you honestly not see a difference between the ability to innovate and the act of innovation?

    Does it matter? Innovation isn't always (or even mostly) desired. If innovation is irrelevant for the purpose at hand, it's irrelevant, just like the university credential.



  • @boomzilla said:

    Does it matter? Innovation isn't always (or even mostly) desired.

    Lotus Notes was sure "innovative" when they introduced the concept of user.id files. And it's cost millions of system administrator hours over the last 20 years dealing with that bullshit.


  • I survived the hour long Uno hand

    I'm insanely curious how these mysterious people who have 0 ability to innovate can solve problems they've never seen before and be considered good at what they do. Obviously we can all be replaced by robots because 100% of the time the answer is on google and you can just paste the appropriate jQuery code.

    BRB inventing the google-search bot that will replace all your jobs.



  • @Yamikuronue said:

    You're so laser-focused

    @Yamikuronue said:

    time to innovate and a time not to, but you won't do the same

    @xaade said:

    There's a place for both, to be sure.

    @xaade said:
    There is enough room for both.

    @xaade said:

    There is no 1 mastership in a field.

    @xaade said:

    Sometimes you have to accept cost as a limiting factor.

    Um.... ok?



  • So because your first job was hard that means this guy wasn't worth mentoring? It doesn't matter what you asked him to do or what you think is trivial, your job as a (more) senior developer is to make sure the junior gets the support he needs. Well, if it's not YOUR job, it certainly is someone's job. You, or someone in your company, let this guy down and you're more than happy to throw him under the bus for failing to meet your expectations. Sad.



  • @Yamikuronue said:

    I'm insanely curious how these mysterious people who have 0 ability to innovate can solve problems they've never seen before

    That's why you diversify your team skills.

    Just because someone is not a master of innovation, doesn't mean they can't.

    But if you only hire innovative developers, can you manage to finish your work on time and budget.


Log in to reply