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

Job Interview: Codility Practical

Options
2»

Comments

  • Registered Users Posts: 7,501 ✭✭✭BrokenArrows


    I've done a few of the codility programs in my spare time and for the occasional interview and i generally find them hard to accomplish in the allotted time. Its not the sort of programminging that i do in any job.

    Does anyone feel that they are not a good representation of someones programming ability but really a test of mathamatical understanding and algorithm design?

    Like given the OP's original question, being given that for a interview for a job which requires database database, sql and c# server side knowledge doesnt really match up. (An interview which i did)


  • Registered Users Posts: 768 ✭✭✭14ned


    Thanks for the replies. Now that I've had a chance to settle over the weekend, I've decided that I need/want to continue widening my skills base in order to make this process a lot easier in the future.

    I'm looking to get some additional training in things like Git and also some more modern software problem solving techniques. I've prefer recognised courses as opposed to random pages on YouTube and Udemy.

    So, any recommendations for courses which cover these bases?

    Most contractors who intend to remain in work for another decade or more will allocate a few thousand a year for attending training conferences or taking qualifications. These are usually tax deductible in Ireland, and you as a contractor should certainly be investing two weeks a year in training.

    Conferences can also be great for networking, and avoiding the race to the bottom that low skilled contracting can become. Just be prepared for a hefty bar bill and surviving off of four hours of sleep every night for a week and still remaining impressive.

    If you end up remaining in contracting, you'll find networking is the key to the higher paying contracts, the ones not advertised. Every contract I've had since 2013 has come from people approaching me, I've not needed to apply for any roles.

    Niall


  • Registered Users Posts: 6,150 ✭✭✭Talisman


    Thanks for the replies. Now that I've had a chance to settle over the weekend, I've decided that I need/want to continue widening my skills base in order to make this process a lot easier in the future.

    I'm looking to get some additional training in things like Git and also some more modern software problem solving techniques. I've prefer recognised courses as opposed to random pages on YouTube and Udemy.

    So, any recommendations for courses which cover these bases?
    Sign up for a free trial of Safari Books Online. O'Reilly and Pearson are two of the most reputable publishers of technical titles. The library includes access to all of their video and book titles, the Live Lessons titles can also be streamed and the Packt Publishing titles are added to the catalogue a few months after release. It's far more reputable than the roll your own course approach on Udemy/YouTube.


  • Registered Users Posts: 8,197 ✭✭✭funkey_monkey


    I'm going to stay the Oracle OCJP course. Might do some Git as well as I need it for my job.
    Still not comfortable in position. Getting pretty down about it.
    After getting layoff off, this was not what I needed.


  • Registered Users Posts: 8,197 ✭✭✭funkey_monkey


    Just thought I've give an update on things. Some of the other starters are very stressed out too and getting a lot of pressure from managers about completing work.

    I have been doing design work up until now and start coding again soon - not looking forward to it. I think Git needs to be my first place of call in terms of training up. Not even sure where I'll find the time as most of us are already doing unbooked hours in order to meet the deadlines.

    It is a new area of work for me and I'm not at ease in it. I knwo I'll have to give myself some time, but the expected turnaround times have very little wriggle room and certainly not enough for an inexperienced new start. However as a contractor, albeit a poorly paid one, I guess I must just deal with this sort of thing.


  • Advertisement
  • Registered Users Posts: 227 ✭✭boreder


    Just thought I've give an update on things. Some of the other starters are very stressed out too and getting a lot of pressure from managers about completing work.

    I have been doing design work up until now and start coding again soon - not looking forward to it. I think Git needs to be my first place of call in terms of training up. Not even sure where I'll find the time as most of us are already doing unbooked hours in order to meet the deadlines.

    It is a new area of work for me and I'm not at ease in it. I knwo I'll have to give myself some time, but the expected turnaround times have very little wriggle room and certainly not enough for an inexperienced new start. However as a contractor, albeit a poorly paid one, I guess I must just deal with this sort of thing.

    Git (or SC in general) is an industry standard thing. You'll use it wherever you go, so it's not going to be a waste of your time, and worth the investment over time.

    It's really not that hard to get your head around. There's a ton of stuff online about how to work it into your workflow.

    Print this and stick it on your cube wall - https://www.git-tower.com/blog/git-cheat-sheet/


  • Registered Users Posts: 768 ✭✭✭14ned


    Not even sure where I'll find the time as most of us are already doing unbooked hours in order to meet the deadlines.

    One of the very few areas where contractors have stronger rights than permies is in hours worked.

    Check your contract, but it should be absolutely cast iron that you cannot work more than the contracted amount per day nor per week without being paid pro rata for it, just the same way as if you're sick you don't get paid. If they cause you to exceed your contracted hours through excessive workload, you need to be paid at the very minimum at pro rata. Most people during initial negotiation insist on time and a half for hours beyond the contracted amount, but that ship has probably sailed for you.

    You should always keep an hour by hour log of all work you do and on what anyway as a contractor. For all hours above contract invoice them at pro rata. If they refuse to pay it, it's time to lawyer up.

    One of the few areas where you're allowed to be nit picky as a contractor is on pay and getting paid according to contract. Everyone in the contracting industry has a very strong incentive to make sure that host companies pay properly for the hours of the contractor. Kicking up a fuss here is highly unlikely to get you a bad name in the industry, if anything it will cause severe reputational problems for your host company, they could get blacklisted by all Irish recruiters. Any manager who caused that would be fired in any employer I can think of, it's a serious no no, senior management take reputational damage in the recruitment market extremely seriously.

    Niall


  • Registered Users Posts: 8,197 ✭✭✭funkey_monkey


    Hi, well the story on the unbooked hours is really due to me (and a few others) struggling with getting up to speed with their system and the programming languages.

    I really feel that I'm struggling to get up to speed and am not comfortable booking for my full time as a lot of the time is being spent mucking about trying to find things, understand things and get code working.

    It's slightly different to normal contracting as we were brought on with the acceptance that we had a steep learning curve. I guess this is reflected in our rate.

    In terms of progress, I'm slowly getting there, but it is a struggle as everything is new to me from Git, OOP, the system, Java, etc. I hope it clicks with me soon, but I'l be seeing out the contract at the very least so hopefully I'll get some useful experience or get into a better position with the customer. They seem happy with my work and progress, but coming from a job where I was very adept and at ease with the work it has been a big shock to the system and I guess that is part of my stress/pressure.


  • Registered Users Posts: 7,468 ✭✭✭Evil Phil


    ^^ Basically everything Niall said.

    I contracted for 8 years, I quickly learning that overtime contracting hours were times and a half, Sunday's and bank holidays were double time, and on call hours (for me) were at a 30% rate moving to an overtime rate as soon as I picked up the phone. It wasn't a problem putting those constraints in, and if I was on overtime or on call it was because the company REALLY needed me there.

    I gave up contracting 7 years ago so the market might have changed but I doubt it's changed that much.


  • Registered Users Posts: 880 ✭✭✭moycullen14


    Hi, well the story on the unbooked hours is really due to me (and a few others) struggling with getting up to speed with their system and the programming languages.

    I really feel that I'm struggling to get up to speed and am not comfortable booking for my full time as a lot of the time is being spent mucking about trying to find things, understand things and get code working.

    It's slightly different to normal contracting as we were brought on with the acceptance that we had a steep learning curve. I guess this is reflected in our rate.

    In terms of progress, I'm slowly getting there, but it is a struggle as everything is new to me from Git, OOP, the system, Java, etc. I hope it clicks with me soon, but I'l be seeing out the contract at the very least so hopefully I'll get some useful experience or get into a better position with the customer. They seem happy with my work and progress, but coming from a job where I was very adept and at ease with the work it has been a big shock to the system and I guess that is part of my stress/pressure.

    Ah here, it's not your fault that it's taking a long time to get up to speed. Some (most?) places code base is a mess. The cost of 'onboarding' is something that the client has to bear. It's a form of technical debt. No way you should be paying for that


  • Advertisement
  • Registered Users Posts: 768 ✭✭✭14ned


    Ah here, it's not your fault that it's taking a long time to get up to speed. Some (most?) places code base is a mess. The cost of 'onboarding' is something that the client has to bear. It's a form of technical debt. No way you should be paying for that

    Absolutely 110%, onboarding costs are always at the client's expense. Contractors are not permies, they do not work extra hours for free, not ever. Otherwise we'd all be permies given all the benefits they get and we don't.

    One of the very big reasons contractors get a very significant rate bump for contract extensions is because onboarding costs are eliminated for the client if they rehire you. I generally ask for a 25% rate bump for a contract extension after a year at one place, and to date I've gotten close to it because onboarding someone new drags down the whole team's productivity for weeks to months, and also if there is a recruiter involved they'll usually drop their 15% margin a fair bit as they already recouped their costs in the first year.

    Niall


  • Registered Users Posts: 880 ✭✭✭moycullen14


    14ned wrote: »
    Absolutely 110%, onboarding costs are always at the client's expense. Contractors are not permies, they do not work extra hours for free, not ever. Otherwise we'd all be permies given all the benefits they get and we don't.

    One of the very big reasons contractors get a very significant rate bump for contract extensions is because onboarding costs are eliminated for the client if they rehire you. I generally ask for a 25% rate bump for a contract extension after a year at one place, and to date I've gotten close to it because onboarding someone new drags down the whole team's productivity for weeks to months, and also if there is a recruiter involved they'll usually drop their 15% margin a fair bit as they already recouped their costs in the first year.

    Niall

    Also, you must remember what the relationship between contractor and client is: You give them your time & expertise, they give you money. That's it. Nothing more, ever.

    Clients may play all sorts of games with you but nothing changes the fundamentals of the relationship.

    For your own sake, you must consider yourself as at least an equal in the relationship. Never believe that the client is doing you a favour by offering you a contract. There is no loyalty - nor should there be. You will be dropped like a hot potato by clients of it suits them to do so.

    That said, you must act professionally. Follow the terms of your contract to the letter - and make sure the client does too!

    Remember idiot project managers the world over think that code can be developed in less time than it actually takes. That's why they're idiots and project managers (see dilbert principle). Chances are if you find yourself haggling with a PM about how long a piece of works takes, it won't end well.

    You're a contractor because you want to be, not because it suits the client.


  • Banned (with Prison Access) Posts: 963 ✭✭✭Labarbapostiza


    14ned wrote: »
    I generally ask for a 25% rate bump for a contract extension after a year at one place, and to date I've gotten close to it because onboarding someone new drags down the whole team's productivity for weeks to months

    I'm not sure, this is always the case. At a very large company I worked for (I'm sure many people here have too), I developed a strong suspicion that finding the most inefficient ways to do things was a major part of their business model. In that it allowed them to bill the client more.


  • Registered Users Posts: 768 ✭✭✭14ned


    I'm not sure, this is always the case. At a very large company I worked for (I'm sure many people here have too), I developed a strong suspicion that finding the most inefficient ways to do things was a major part of their business model. In that it allowed them to bill the client more.

    Oh sure, if you're doing work for someone else, especially if it's government procurement, there is a strong incentive to milk the pooch for as much as you can get. I was once the Chief Software Architect for a small but critical part of the support systems for the EuroFighter, and because everyone knew that project was a political and not an engineering one, everyone knew it could never be cancelled and additional funding would always eventually appear no matter how badly anyone screwed up. That led to craziness like appointing a fresh graduate straight out of uni as Chief Software Architect for that EuroFighter support system, and the chief manager of the software systems in EADS Deutschland was barely older than me (they thought the software systems small and unimportant and allocated resources appropriately, in fact the EuroFighter is 75% software but nobody apart from the software guys realised that at the time).

    If you think you've seen inefficiency, whether deliberate or just incompetence, try working on a government procurement project where everybody knows nobody can ever get fired, contracts can never get cancelled, and you can always get more money guaranteed with no penalty. It was an eye opener.

    Niall


  • Registered Users Posts: 8,197 ✭✭✭funkey_monkey


    I guess I'm in a different position than you guys. It sounds from reading between the lines that you've got relevant experience and that allows you to call certain shots.
    I'm in the position that I worked in a niche area and when I got made redundant and tried to get back into mainstream software there were so many other candidates with the requested skillset and usually backed up with experience that there was no need for us to be even shortlisted. I got this contract as a pure fluke. The rate is not good, the work doesn't seem to be good either (lots of ctrl-c & ctrl-v where I would expect some type of library function or generic artefact). But it allows me to stay at home and they were the only ones willing to take a chance on me.
    They gave me a chance where others would not. Grads are popping out of uni now in a better position than I was a few months ago. They would be cheaper and being honest, more than likely better coders than me.


  • Registered Users Posts: 768 ✭✭✭14ned


    I guess I'm in a different position than you guys. It sounds from reading between the lines that you've got relevant experience and that allows you to call certain shots.

    Hardly. If anything I worry about becoming too specialised to find new contracts easily. It's always a balance between specialising into a higher rate versus the increased stickiness at finding work. It's one of the big reasons I work remotely now, it increases the pool of available contracts immensely and it also means the US sets the day rate rather than Europe. I would like to hope I could still land a contract onsite in Dublin if push came to shove, but equally I can see that employers might worry whether I'd fit well with an onsite team (I personally think that worry overblown, but I can see the validity of their thinking). My point is that it's not like I call any shots, and the more experience and specialisation I gain the more in some ways it can count against me.
    I'm in the position that I worked in a niche area and when I got made redundant and tried to get back into mainstream software there were so many other candidates with the requested skillset and usually backed up with experience that there was no need for us to be even shortlisted. I got this contract as a pure fluke. The rate is not good, the work doesn't seem to be good either (lots of ctrl-c & ctrl-v where I would expect some type of library function or generic artefact). But it allows me to stay at home and they were the only ones willing to take a chance on me.
    They gave me a chance where others would not. Grads are popping out of uni now in a better position than I was a few months ago. They would be cheaper and being honest, more than likely better coders than me.

    The best of fresh grads will always be better coders the same way as the best of a new generation of snooker players always have amazing potting skills. Yet the old timers remain competitive by leveraging their experience advantage even if in raw coding terms they are no longer competitive.

    What I think everyone here is saying to you is that we've all been out of work and facing a competitive market where those we are competing for work against have substantial advantages over us. There are remote workers in India just as good as me but with an enormously lower fixed cost base. But instead of racing to the bottom and taking whatever work the market can get away with foisting on us, you need to think and act more strategically for your long term interests.

    There will always be s*** jobs with s*** employers available. The question you need to answer is what do you need to do now so you never again are compelled to take those sorts of job. That can, sometimes, mean doing a spell abroad so you can come back to Ireland with a much stronger resume in the future. It can, sometimes, mean moving back home in with your elderly parents so you can upskill. Me and the wife had to do that after the 2009 crash, not what we imagined for ourselves, but the rent saved funded a Masters degree for each of us. That marked our CVs as standing out from the rest, so we got preferentially chosen for employment over the others who didn't make that investment as the economy picked up.

    That's what I mean by thinking and acting strategically in the longer term. Instead of "living to work" you need to "work to live" if that makes sense.

    Niall


  • Banned (with Prison Access) Posts: 963 ✭✭✭Labarbapostiza


    14ned wrote: »

    If you think you've seen inefficiency, whether deliberate or just incompetence, try working on a government procurement project where everybody knows nobody can ever get fired, contracts can never get cancelled, and you can always get more money guaranteed with no penalty. It was an eye opener.

    Niall

    Oh...I've seen inefficiency, and inefficiency like you wouldn't believe. It's not just something to do with government, you can find it in companies of all sizes, and they stay in business as long as they stay in business. Who gets fired and why they get fired, doesn't always have much to do with the success or failure of the project. This isn't just in IT, you find it in every industry. And the more aware you are of it, the crazier it can drive you.


  • Closed Accounts Posts: 22,649 ✭✭✭✭beauf


    Its certainly exists everywhere. Its just done by committee in the PS.


  • Registered Users Posts: 8,197 ✭✭✭funkey_monkey


    Hi,

    Just thought I'd give an update on things. I'm progressing okay with the Java - I've not really been stumped yet with a code problem.

    My main problems have been with knowledge of the system - which is really big and their VCS - which is Git.

    I've been kindly provided with a learn Git in 30 days book by a member here and I'm slowly working my way through it. I'll get there, but it is difficult to pick up as I need to know things faster than I'm going through the book.
    As for the system, well I'm slowly building up my knowledge base, although I'm working in only a few areas so far.

    Git is my main problem though!


  • Registered Users Posts: 306 ✭✭yes there


    What exactly is your problem with Git? You dont need a book to learn it. If all your struggling with is Git then you have nothing to worry about.


  • Advertisement
  • Registered Users Posts: 8,197 ✭✭✭funkey_monkey


    I'm just trying to go throught it and learn off all the commands. We have UI's as well, but they are not very stable and are prone to erroneous output.
    As for not needing a book, I'm not sure about that. There is a multitiude of commands, switches, etc that needs to be known and some of it is not very intuitive.

    I'm also considering on picking up on the OCJP accreditation.


  • Registered Users Posts: 6,236 ✭✭✭Idleater


    I'm just trying to go throught it and learn off all the commands.
    To be honest, with Git, you are as well off learning (and sticking to) the basics for the most part. You sound like you are doing a lot of learning in a broad spectrum of things, so don't be concerned with having to know everything at once.

    Understanding the concept of Remote Origin vs Local Head vs staged files, fetch, merge and push operations will get you a long way.

    There are obviously scenario where you will need to use specific variants of the operations, but if you keep the changes simple and branches up to date, you will not need to leverage them for the most part. At work there is a "cheat sheet" set of 4 steps that deal with the basic day to day: create branch, commit changes, submit for review, rework review comments.

    Basic work flow:
    1) get up to date master
    2) branch
    3) do work and commit locally
    4) push branch to remote to collaborate
    (loop 3,4)

    Push for review
    5) get up to date master
    6) merge branch resolving conflicts
    7) push for review

    rework
    8) commit amend



    Git is complex and the best way to learn is for you or better a colleague to end up in a very messy situation and you dig your way out of it. But all of that requires understanding of how git (and to be honest most other vcs software) works.


  • Registered Users Posts: 8,197 ✭✭✭funkey_monkey


    What way do you all use Git - via the command line or via an interface such as Tortoise?

    Yes - I'm just trying to learn the basics (initial post was misleading) and understand what I'm doing with it. Eclipse allows some commands, but we have found it to be a bit flaky.


  • Registered Users Posts: 6,236 ✭✭✭Idleater


    What way do you all use Git - via the command line or via an interface such as Tortoise?

    Command line for me. I had added the git tools to eclipse but likewise never worked right/consistently for adds/commits/fetches. However I do use it for diff/blame (who wrote this; oh me :o)


  • Registered Users Posts: 8,197 ✭✭✭funkey_monkey


    I appreciate Talisman gave me some recommendations on how to upskill in this post but I've decided to created a new thread to get some wider opinion on how I develop my CPD.

    Things are not going well. I might be overly pessimistic but I need to do something to help move on my skills incase the worst happens.


    http://www.boards.ie/vbulletin/showthread.php?t=2057662320


    As an aside, I'm getting more comfortable with Git. By no means an expert but I've finally understood the architecture behind it and am able to help some other colleagues in a simialr position to myself.


Advertisement