Advertisement
If you have a new account but are having problems posting or verifying your account, please email us on hello@boards.ie for help. Thanks :)
Hello all! Please ensure that you are posting a new thread or question in the appropriate forum. The Feedback forum is overwhelmed with questions that are having to be moved elsewhere. If you need help to verify your account contact hello@boards.ie
Hi there,
There is an issue with role permissions that is being worked on at the moment.
If you are having trouble with access or permissions on regional forums please post here to get access: https://www.boards.ie/discussion/2058365403/you-do-not-have-permission-for-that#latest

What did you suck at or hate?

  • 18-05-2012 10:42pm
    #1
    Registered Users, Registered Users 2 Posts: 7,838 ✭✭✭


    I'm interested to know what you professional developers found most difficult, hated or just struggled with most when you were at college getting your qualifications. I think it would be great inspiration for anyone trying to get through college knowing about some of the things that mildly (;)) successful IT professionals and developers had to deal with during their education. I'm sure everyone in the industry has their strong and weak points - what are yours?

    I imagine maths will be in high representation, databases for some.

    I still find it hard to get my head around the OSI model personally, I mean what is actually going on there!? I was never taught algorithms properly but it is bugging me so I'm going to have to scratch that itch myself.

    What about you?


Comments

  • Registered Users, Registered Users 2 Posts: 12,760 ✭✭✭✭Encrypted Pigeon


    Not qualified yet, but it has to be database theory, I would sooner scratch my eyes out than sit through that again. Yes I know its important, but damn!


  • Registered Users, Registered Users 2 Posts: 1,645 ✭✭✭k.p.h


    Sintel wrote: »
    Not qualified yet, but it has to be database theory, I would sooner scratch my eyes out than sit through that again. Yes I know its important, but damn!

    Fook me, Databases ..! Mind numbing horrendous experience.! Delivered in monotone by a guys who's idea of fun was a discussion about serializability..

    Top DBA's get paid a huge amount though so I'm sure swimming in a sea of loot takes the boredom away..


  • Registered Users, Registered Users 2 Posts: 586 ✭✭✭Aswerty


    I didn't do computer science in college but I found hating or liking a subject was hugely affected by the quality/personality of the lecturer and how they presented the material. You can have lecturers who go into class and read from a previous lecturers set of notes for an entire module and then you can have lecturers who do their own notes that are updated each year and they teach as opposed to lecture.


  • Registered Users, Registered Users 2 Posts: 1,657 ✭✭✭komodosp


    Took me years to get my head around classes! Granted I was working in COBOL for most of those years, but "dabbling" in C++, but I missed the first lecture talking about classes, and didn't catch up until ages later.

    For some reason it was always explained as an analogy to a stool (e.g. a stool is an object, you can have a stool with 3 or 4 legs, and the legs are objects too, or a new type of stool with a back, etc. etc. to explain extending classes) but I never really saw how that compared to actual computer programming....


  • Registered Users, Registered Users 2 Posts: 26,584 ✭✭✭✭Creamy Goodness


    ie6 development and maintenance.


  • Advertisement
  • Registered Users, Registered Users 2 Posts: 5,246 ✭✭✭conor.hogan.2


    Databases, but then you see they are literally everywhere so you have to suck it up and get used to them in some way at least.

    Maths, but I have avoided it through the choices I have made so I don't often come in contact with it (specifically).


  • Registered Users Posts: 211 ✭✭CrazyFish


    Parts about compiler construction


  • Registered Users, Registered Users 2 Posts: 1,235 ✭✭✭Odaise Gaelach


    I've no clue about how electricity works.


  • Registered Users, Registered Users 2 Posts: 40,038 ✭✭✭✭Sparks


    Sintel wrote: »
    Not qualified yet, but it has to be database theory, I would sooner scratch my eyes out than sit through that again. Yes I know its important, but damn!

    Funnily enough, I didn't take that course, thinking that it was irrelevant and I could pick up whatever I needed from a SQL handbook. Now I write database kernel code for a living*. Wish I'd taken the course...

    ...and actually, that about covers most of my thoughts on this one - you can't tell in college what you'll need and what you won't use, and you shouldn't try because where you go in the next forty years can't be predicted well. Learn as much as you can, at as fundamental a level as you can, and learn it well. The rest will take care of itself.

    I would add two specific points though, which I don't see mentioned enough when this kind of thing is discussed:
    • Learn decent written and spoken English. It's not a case of "stupid foreigners, with their stupid foreign languages" - English is the lingua fraca of our industry. Sixty or seventy years ago, if our industry had been around, it's lingua fraca would have been German. Fifty years before that, French. Before that, Latin. Today, it's English, tomorrow it might be Mandarin or Hindi, but for now, it's English. And frankly, half the Irish developers I've known aren't that great with it and could benefit from some time spent improving their linguistic ability.
    • Learn people. Seriously, **** that stereotype about how developers are all nerds and geeks who fear and shun society to the point where Aspergers is referred to by some as the engineer's disease. It's not accurate, and we should be actively fighting it. Programmers, arguably more than any almost other profession, need to have good social skills.

      Look, if you're working solo on a small project, you can afford to be insular and acerbic. But 90% or more of the programming jobs out there are not like that; you have to deal with customers, managers and other developers. If you put a handful of developers into a room to work on the same project and they have lousy social skills, you'll wind up with the loudest bully saying they run everything, and everyone else will probably quit working on the project (and some will actually quit the job :D ). We're an industry where we produce things that we conjure up in our imaginations using hard-earned skills; doing that as part of a team is a pretty tough social skills challange because you have skin in the game and your mortgage is riding on the outcome.

      So figure out a way to keep your ego in check (or at least, learn to keep an eye on it and know when it's getting a bit much). Learn to listen to others -- and believe me, that's a rare skill; far too many of the people in our industry operate on the transmit-only model, where "listening" means "pausing to catch your breath for the next statement". Entire teams have quit from companies I've worked at (hell, I've quit with them) because the company hires one person like that who makes the lives of the other developers difficult (and you'd think companies would learn, because that's an expensive thing to go wrong).

    Oh, and for the list, I still have problems with ordinary differential equations, I never really clicked with them.



    *well, not really, I'm doing networking code in the high availability and disaster recovery part, but it's less funny when you include that bit.


  • Registered Users, Registered Users 2 Posts: 1,481 ✭✭✭satchmo


    Statistics. Ugh.

    At one stage, even our statistics lecturer said "Look I know this stuff is boring, but let's just get through it, ok?"


  • Advertisement
  • Registered Users, Registered Users 2 Posts: 2,033 ✭✭✭Colonel Panic


    The people skills are the hardest. Learning when to shut up. Learning to straddle the line between mythical "best practices" and the commercial reality of writing code on a deadline for customers who don't give a hoot about TDD or Agile. Accepting that while your senior colleague might not not as much tech stuff as you, they have years more experience.

    The technical stuff is easy. For a long time, I sucked at all of the above. It's only now I've got people who are junior to me that I get it. Now I'm cringing in hindsight at some of the stuff I said.


  • Registered Users, Registered Users 2 Posts: 3,515 ✭✭✭arleitiss


    my main problem is design, I just can't come up with good design/template, otherwise I know how to code it, use php, use databases, JS, css etc.. So I started learning the theory of colors and typography, helps a lot.


  • Registered Users Posts: 627 ✭✭✭Dboy85


    I struggle daily not to brutalise condescending colleagues. I'm not talking about senior figures in the work place but busy little cnuts on the same pay grade with the same responsibility, that haven't got half the experience of peers, but still believe they are top dog.

    Only the fear of incarceration stops me from snatching the life right out of them.

    /rant

    That and design...boring as hell mulling over pixel dimensions. Back end ftw...giggidy


  • Registered Users, Registered Users 2 Posts: 12,349 ✭✭✭✭starlit


    Didn't like or wasn't great at Java, VBA, Circuit/logic design, but wasn't too bad at De Morgans Theorems once I got to grips with it, took a while to get my head around it but didn't like it all that much.

    Touched on a bit of python and didn't like it much. Actionscript was ok but a bit frustrating to learn the code preferred the multimedia design aspect than the coding of it when didn't have enough resources at the time while in college compared to other programming languages. Good at most other programming languages in particular best at web programming (loved HTML CSS and PHP) and good at os programming languages like Unix not too bad with windows programming but very basic stuff.

    Ok with ASP.net/.net stuff better at VB than that but only when creating websites, creating a database from scratch using code was a bit difficult for me as code often didn't work for me. Good to spot mistakes if using a good application to create the code like Notepad++ is a lot easier to use than notepad.

    Generally good at SQL depending on what application I am using if its access/excel was a nightmare for me sometimes but when using MYSQL or PUTTY was a lot easier to code SQL, loved databases. Otherwise Decision Support Systems was my biggest pet hate! Ugh!

    Some aspects of Networking was difficult for me the theory I could get my head around no problem but the some of the practical elements I found hard but did ok in them. Did well in some aspects did only alright in others.

    Did business maths/statistics not a major fan of maths but did well in the subject otherwise. Haven't done anything in the area of application development like android or anything like that.

    Have yet to brush up on a few other programming languages I've yet to learn Javascript, C# and Ajax when Java wouldn't been my best language while the rest I wasn't bad at them.

    I was good at multimedia, enjoyed it but some aspects was hard in college but otherwise ok, great to come up with ideas but tended to run away with my ideas and sell myself short when it came to the final project. Though when it came to web design I was very good at it.

    Loved any other part of IT I studied in college. Not in any particular job at the moment though so really only starting out my career yet.


  • Registered Users, Registered Users 2 Posts: 12,349 ✭✭✭✭starlit


    Aswerty wrote: »
    I didn't do computer science in college but I found hating or liking a subject was hugely affected by the quality/personality of the lecturer and how they presented the material. You can have lecturers who go into class and read from a previous lecturers set of notes for an entire module and then you can have lecturers who do their own notes that are updated each year and they teach as opposed to lecture.

    I very much agree on this. I suppose every lecturer is different depending what subject they are lecturing in. Some modules are harder to lecture on than others a lot of it learning for yourself a lot of the time. Like programming you either pick it up or don't but everyone is different some are better at some programming languages more than others. A lot of it is down to aptitude and interest I suppose.

    I found that too while I were in college I didn't do a computer science degree but did a postgrad in it alright.


  • Registered Users, Registered Users 2 Posts: 8,475 ✭✭✭RedXIV


    Two aspects which came to mind immediately were pointers in code - I literally spent a year beside mates in college going "seriously....the hell would you use one of these for?!"

    And then there was data structures where I'm pretty sure I missed a class or something in college because it wasn't until about 3 years later looking at a microsoft exam when it all clicked into place. one of those real :o moments


  • Registered Users, Registered Users 2 Posts: 12,349 ✭✭✭✭starlit


    RedXIV wrote: »
    Two aspects which came to mind immediately were pointers in code - I literally spent a year beside mates in college going "seriously....the hell would you use one of these for?!"

    And then there was data structures where I'm pretty sure I missed a class or something in college because it wasn't until about 3 years later looking at a microsoft exam when it all clicked into place. one of those real :o moments

    Its a great feeling when it all clicks and works together! Happens for some sometimes does not always happen! Good going though.


  • Closed Accounts Posts: 8,015 ✭✭✭CreepingDeath


    I hated maths in college.
    Since the course was skewed towards science there was a lot of calculus, rewriting formulae, etc.
    None of which I've ever needed in standard commercial software development.

    There was an optional graphics course which was much more practical, matrix and vector operations, transformations etc.
    Much more usable and practical math.

    However in the real world, if a company needs someone with maths skills they hire them specifically.
    So you might have one math nerd with some programming skills and the rest are standard developers.


  • Closed Accounts Posts: 8,199 ✭✭✭G-Money


    I'm horrendous at mathematics, always have been.

    When I did my HNC, I struggled with Databases and some stuff around low level binary code.

    Thankfully I haven't had to use any of it since really.


  • Registered Users, Registered Users 2 Posts: 698 ✭✭✭Rossin


    java- sucked the life out of me in college, ended up moving course!


  • Advertisement
  • Registered Users, Registered Users 2 Posts: 12,349 ✭✭✭✭starlit


    Sometimes I wonder why you even need maths for a computer science course? You can get away with ordinary level maths for it and could avoid it if you wanted and just do a language in it. Its the case in UCC and some colleges you can avoid maths and do a language or you must do Maths depends on the course, department and the college.

    Java can be a love or hate kind of programming language! :/


  • Closed Accounts Posts: 8,015 ✭✭✭CreepingDeath


    Rossin wrote: »
    java- sucked the life out of me in college, ended up moving course!

    If Java was your first introduction into object oriented programming then it might be overwhelming.
    But it's certainly easier to learn than C++.


  • Registered Users, Registered Users 2 Posts: 12,349 ✭✭✭✭starlit


    If Java was your first introduction into object oriented programming then it might be overwhelming.
    But it's certainly easier to learn than C++.

    I found Java difficult to get to grips with, how is C++ or C# any different? Which of the three be easier to learn?

    Though the principles are similar they are still different programming languages and procedures.


  • Registered Users, Registered Users 2 Posts: 1,109 ✭✭✭Skrynesaver


    doovdela wrote: »
    Sometimes I wonder why you even need maths for a computer science course? You can get away with ordinary level maths for it and could avoid it if you wanted and just do a language in it. Its the case in UCC and some colleges you can avoid maths and do a language or you must do Maths depends on the course, department and the college.

    So how do you size a platform for your code without Big O notation etc...


  • Registered Users, Registered Users 2 Posts: 12,349 ✭✭✭✭starlit


    So how do you size a platform for your code without Big O notation etc...

    ah! ;)


  • Registered Users, Registered Users 2 Posts: 698 ✭✭✭Rossin


    If Java was your first introduction into object oriented programming then it might be overwhelming.
    But it's certainly easier to learn than C++.

    I moved to a apps & support degree and I'm now a network administrator so I've never looked back, hated it! It was down to an awful lecturer as well though, the whole class never got to grips with it because they never learned the basics properly. Sitting their finals most of them were still clueless (almost all passed mind you which shows how good some of our graduate soft dev/eng are :) )


  • Registered Users, Registered Users 2 Posts: 40,038 ✭✭✭✭Sparks


    RedXIV wrote: »
    Two aspects which came to mind immediately were pointers in code - I literally spent a year beside mates in college going "seriously....the hell would you use one of these for?!"
    See, that's why you shouldn't try to pick what you should and shouldn't learn in college while still in college :D


  • Registered Users, Registered Users 2 Posts: 12,349 ✭✭✭✭starlit


    Sparks wrote: »
    See, that's why you shouldn't try to pick what you should and shouldn't learn in college while still in college :D

    ?:confused:


  • Registered Users, Registered Users 2 Posts: 40,038 ✭✭✭✭Sparks


    doovdela wrote: »
    ?:confused:
    Because pointers are probably one of the most important features in code. If you don't know pointers, forget ever getting a job working with C or C++ until you do; and those are the two most popular languages in the industry as a whole at the moment, and there's little sign of that changing. And while languages try to wrap them and hide them away, the thing is that if you don't understand pointers, you'll never really understand half the data structures we use, or the language features people are trying to use to replace pointers.


  • Advertisement
  • Registered Users, Registered Users 2 Posts: 12,349 ✭✭✭✭starlit


    Sparks wrote: »
    Because pointers are probably one of the most important features in code. If you don't know pointers, forget ever getting a job working with C or C++ until you do; and those are the two most popular languages in the industry as a whole at the moment, and there's little sign of that changing. And while languages try to wrap them and hide them away, the thing is that if you don't understand pointers, you'll never really understand half the data structures we use, or the language features people are trying to use to replace pointers.

    I am a little lost as to what pointers are as I have never learnt C and C++ and hope to learn sometime in the future!? I've learnt Java.

    Really, I thought there might be a chance it change hope there is, there seems to be a big thing in the web programming and mobile programming industry at the moment? I would hope to follow on one of those areas rather than Java or C codes despite C coding family seem to be requirements for most job specs.

    I understand so Pointers are very important for those languages.


  • Registered Users, Registered Users 2 Posts: 40,038 ✭✭✭✭Sparks


    doovdela wrote: »
    Really, I thought there might be a chance it change hope there is, there seems to be a big thing in the web programming and mobile programming industry at the moment?
    Here's the thing. Mobile and Web programming are loud areas of our industry. But loud doesn't mean big. If you counted up everyone working at the bleeding edge of mobile in startups and all the rest of the rock star programmers, and then you counted up everyone working in the finance sector, in embedded programming, in application or OS programming, all the folks doing the unsexy work that keeps the world ticking over and who never feature in the blogs... well, that second number would be a lot higher than the first.
    I understand so Pointers are very important for those languages.
    They're important for every language. Some languages just try harder to hide them away from the programmer than others.


  • Registered Users, Registered Users 2 Posts: 12,349 ✭✭✭✭starlit


    Sparks wrote: »
    Here's the thing. Mobile and Web programming are loud areas of our industry. But loud doesn't mean big. If you counted up everyone working at the bleeding edge of mobile in startups and all the rest of the rock star programmers, and then you counted up everyone working in the finance sector, in embedded programming, in application or OS programming, all the folks doing the unsexy work that keeps the world ticking over and who never feature in the blogs... well, that second number would be a lot higher than the first.


    They're important for every language. Some languages just try harder to hide them away from the programmer than others.

    ah I see what you mean about the pointers. I vaguely remember been a while since I studied programming.

    Ya I see now where you going with the mobile programming that the OS and other types of programming are more in need.


  • Registered Users, Registered Users 2 Posts: 5,246 ✭✭✭conor.hogan.2


    Sparks wrote: »
    They're important for every language. Some languages just try harder to hide them away from the programmer than others.

    Which for those languages is very very important, pointers should not be used directly unless they need to be hence a lot of languages not exposing them directly.


  • Registered Users, Registered Users 2 Posts: 40,038 ✭✭✭✭Sparks


    Sparks wrote: »
    They're important for every language. Some languages just try harder to hide them away from the programmer than others.

    Which for those languages is very very important, pointers should not be used directly unless they need to be hence a lot of languages not exposing them directly.
    And you should never use goto either...
    ...except where you should.

    ie. Not using pointers directly isn't an absolute good. Same as with almost all of our constructs.


  • Closed Accounts Posts: 695 ✭✭✭yawha


    If you don't know pointers, you're going to be completely lost when you try to compare two objects for equality, or modify a primitive you've passed into a function.

    References vs. values is one of the most important concepts to thoroughly understand in programming.


  • Advertisement
  • Closed Accounts Posts: 27,857 ✭✭✭✭Dave!


    Pointers never really made sense to me either tbh :p I'm sure I'll need to pick them up eventually, but I do mainly front-end coding so haven't needed to just yet.

    Other topics I didn't like... Operating systems, database theory, maths, problem solving...

    How I work as a developer is beyond me :D


  • Registered Users, Registered Users 2 Posts: 7,838 ✭✭✭Nulty


    Pointers are easy to make complicated, in explaining them and using them.

    If you were taught what they are and how to use them and you don't understand them, you weren't listening or you weren't taught them properly. It's not 'pointers' fault you don't understand them and it's usually not your fault for not understanding them.

    Luckily I had a good teacher. I can see how different it would have been with a different lecturer.


  • Registered Users, Registered Users 2 Posts: 2,151 ✭✭✭dazberry


    Back when I started hacking code together, you didn't get whole frameworks for generics, collections, iterators etc., so if you wanted a variable length list of something and couldn't (or shouldn't) use an array, you'd have to implement a linked list. A lot of stuff I hacked around with in those days was in Turbo Pascal, and the pointer syntax was pretty simple.
    Type TMyRecord = Record; { forward declaration }
    Type pMyRecord = ^TMyRecord; { pointer typed to TMyRecord }
    Type TMyRecord = Record
     Data : String; 
     Next : pMyRecord; 
    end;
    
    var
        aHead : pMyRecord
        aTmp : pMyRecord
        aNew : pMyRecord
    
    ...
    
    aNew:=New(pMyRecord);
    
    ...
    
    aTmp:=aHead;
    if Assigned(aTmp) do
     begin
      While (Assigned(aTmp^.Next)) do
       aTmp:=aTmp^.Next;
      aTmp^.Next = aNew;
     end
    else
     aHead:=aNew;
    

    I really hate MI (management information) type database work, big queries pulling data from everywhere and anywhere, never feel too confident doing that sort of stuff. Hate doing formal database diagrams too - always end up more confused than if I'd just designed the tables on paper.

    I also tend to get dumped with old code maintenance a lot, and can generally live with poor code, it's poor architecture that drives me mad, especially when you have to do something "against the grain". Had fun yesterday tracking down an uninstantiated object because as it turns out a particular class was instantiated twice, and when I was cloning it I was getting the first useless/incomplete copy. GC has a lot to answer for...

    I've also been dumped with some C and C++ (Windows API) based stuff. It's years since I've done any of it and even at that don't think I was too great then, so it's a struggle now.

    Not too great at maths either, although I've never in the last ~20 years come across something mathematically I couldn't (eventually) do, but have been turned down for a couple of jobs because of it - which in retrospect wasn't necessarily a bad thing...

    D.


  • Registered Users, Registered Users 2 Posts: 12,349 ✭✭✭✭starlit


    dazberry wrote: »


    I really hate MI (management information) type database work, big queries pulling data from everywhere and anywhere, never feel too confident doing that sort of stuff. Hate doing formal database diagrams too - always end up more confused than if I'd just designed the tables on paper.

    Ya its a subject area that can make queries, sql coding, datamining, linear programming and VBA more complicated than it is! Takes a bit of getting used to get your head around it. Though using MS Access isn't too bad its easier to just draw up a table from either MySQL or SQL application like putty, makes it less complicated and easier to create queries.
    GC has a lot to answer for...
    What's GC?
    I've also been dumped with some C and C++ (Windows API) based stuff. It's years since I've done any of it and even at that don't think I was too great then, so it's a struggle now.

    Not too great at maths either, although I've never in the last ~20 years come across something mathematically I couldn't (eventually) do, but have been turned down for a couple of jobs because of it - which in retrospect wasn't necessarily a bad thing...

    D.

    Neither am I but I find numerical tests can help improve you in this area when going for jobs where Maths be a requirement in some IT jobs. Depends I guess. Its more logical maths than actual arithmetic maths be a requirement really for the majority of IT jobs.


  • Registered Users, Registered Users 2 Posts: 2,151 ✭✭✭dazberry


    doovdela wrote: »
    What's GC?

    Garbage Collection. Given the class was instantiated twice, the first one that was never used would have been garbage collected when it was replaced by the second instantiation, so while it's not a memory leak as per a non-GC language, it's still wasteful and a poor design... IMO.
    Neither am I but I find numerical tests can help improve you in this area when going for jobs where Maths be a requirement in some IT jobs. Depends I guess. Its more logical maths than actual arithmetic maths be a requirement really for the majority of IT jobs.

    My first time in college many many years ago the statistical stuff just completely melted me brain - I don't think I've ever got over it. Did a module recently on boolean math proofs etc., and really really enjoyed it - not like with like but perhaps being a (fair) bit older now I was more open to paying attention!!? :)

    D.


  • Advertisement
  • Registered Users Posts: 114 ✭✭Wanchor


    Not qualified but Javascripts prototypal inheritance took a day or two to wrap my head around.


  • Registered Users, Registered Users 2 Posts: 7,838 ✭✭✭Nulty


    For anyone who wants to finally conquer pointers...



Advertisement