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

Upskilling for moving into mainstream software development

Options
2»

Comments

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


    Probably with me starting from a lower baseline than yourself I'd find it more useful.
    Not sure yet about the conferences - do they have any here in Ireland?


  • Registered Users Posts: 768 ✭✭✭14ned


    Not sure yet about the conferences - do they have any here in Ireland?

    Oh my no. We're far too small. You need a big country.

    The ACCU conference is in Bristol every year. Direct flights from Dublin and Cork. https://conference.accu.org/. It's one of the better conferences on the global circuit, luckily.

    Niall


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


    For the CPD, I need 35hrs per annum from a range of activities such as self-directed learning, mentoring, further education and professional body activities.

    I'm planning on learning C++, but my plan for it has taken a turn for the unexpected as the "accredited" course I was hoping to use would appear to be run from some place in Poland.

    As pointed out on some websites, it might be detrimental to have C++ accreditation as interview questioning might skip the starter questions and go straight to the more tricky stuff - if they take any notice of it.

    I'm not good at learning without anything to drive me on and TBH I don't really see the point of putting in the effort of learning and not getting something tangible at the end. Especially as I'll not be making use of it in current role.

    The learning of C++ is for future purposes when this job comes to an end, so I want/need something to 'force' me to put in the effort now.

    I've got a number of books to read, but for me nothing replaces practical assessed work to drum it in.


  • Registered Users Posts: 768 ✭✭✭14ned


    For the CPD, I need 35hrs per annum from a range of activities such as self-directed learning, mentoring, further education and professional body activities.

    I expend four to six weeks per year on CPD. Yes, weeks.
    I'm planning on learning C++, but my plan for it has taken a turn for the unexpected as the "accredited" course I was hoping to use would appear to be run from some place in Poland.

    As pointed out on some websites, it might be detrimental to have C++ accreditation as interview questioning might skip the starter questions and go straight to the more tricky stuff - if they take any notice of it.

    I'm not good at learning without anything to drive me on and TBH I don't really see the point of putting in the effort of learning and not getting something tangible at the end. Especially as I'll not be making use of it in current role.

    The learning of C++ is for future purposes when this job comes to an end, so I want/need something to 'force' me to put in the effort now.

    I've got a number of books to read, but for me nothing replaces practical assessed work to drum it in.

    I think you're coming at this wrong. We don't really do accredited training in C++ with certs at the end. Not the culture. What we do do is portfolio pet projects which are open source and so the interviewer can go poke them on github. Then your interview is all about your pet project, which is exactly what you want.

    One super impressive portfolio pet project which wowed everybody recently is https://github.com/hanickadot/compile-time-regular-expressions, a new kind of regular expression engine which has the compiler precompile the regular expression at compile time, instead of doing it at run time. She literally did it in her spare time to learn C++, and now people are throwing 500k salary offers at her because she's exactly the kind of developer people really, really want to hire.

    Here's her being interviewed on CppCast: http://cppcast.com/2018/10/hana-dusikova/

    Here's a CppCon 2018 talk by her on how her regex works with benchmarks against std::regex, where her implementation wrecks the major implementations: https://www.youtube.com/watch?v=QM3W36COnE4

    Now, you may watch those and think she knew C++ beforehand, otherwise how could she have written such complicated C++? The answer is that she went off, played with stuff until it started working. Learning through immersion. And she ended up building something which didn't exist anywhere yet, and was not thought feasible by even the world experts in C++ until she showed us it working. That's the kind of insight newbies who keep tipping away at something can bring to the table. And it also proves tenacity, a very valuable skill, hence the salary offers.

    I think you can read all the study books, take all the training courses in the world and get all the bits of paper possible, but nothing substitutes for incontrovertible proof of skill like a solid portfolio pet project on github. You just need to now go create the few thousand hours to go make one of those :)

    Niall


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


    14ned wrote: »
    I expend four to six weeks per year on CPD. Yes, weeks.
    Do you have a split of how you spend this time?

    I think you're coming at this wrong. We don't really do accredited training in C++ with certs at the end. Not the culture.
    Yes, I'm realising this. I knew that Java have the OCJP, so assumed that there would be something equivalent for C++.

    What we do do is portfolio pet projects which are open source and so the interviewer can go poke them on github. Then your interview is all about your pet project, which is exactly what you want.
    Okay - I'll look into starting that. I presume it is easy to get effect constructive criticism rather than just having a bunch of ratty programs with errors, poor architecture & inefficiencies. No point doing it without any oversight to assist the development.
    One super impressive portfolio pet project which wowed everybody recently is https://github.com/hanickadot/compile-time-regular-expressions, a new kind of regular expression engine which has the compiler precompile the regular expression at compile time, instead of doing it at run time. She literally did it in her spare time to learn C++, and now people are throwing 500k salary offers at her because she's exactly the kind of developer people really, really want to hire.
    Impressive, but I'd say she is a lot more intelligent than I am.
    You just need to now go create the few thousand hours to go make one of those
    Doubt I'll be able to spare tat amount of time, but anyway!

    Eclipse okay as an IDE?


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


    Do you have a split of how you spend this time?

    Up until last year, I prepared two training conference talks per year. Each consumes one to two weeks. You then attend both week long conferences, another two weeks. The rest goes on building out my portfolio pet projects.

    As of this year, things have shifted, and now everything is focused on writing papers for standards committees. I've dropped all but one training conference for which I no longer speak at, and 2019 will be my last year attending any training conferences.
    Okay - I'll look into starting that. I presume it is easy to get effect constructive criticism rather than just having a bunch of ratty programs with errors, poor architecture & inefficiencies. No point doing it without any oversight to assist the development.

    It's virtually impossible to get high quality feedback without paying for it. That goes anywhere, not just in C++.

    But I think you underestimate yourself. I've known undergrad students who went from zero programming experience to making https://www.boost.org/doc/libs/1_68_0/libs/hana/doc/html/index.html within three years. It just requires diligence, and reading a lot of other people's code. Oh, and benchmarking does no harm.

    Key is everybody will make mistakes. Inexperience often leads to similar mistakes to others at the beginning. Java programmers tend to particularly badly write C++, they think in terms of smart pointers to emulate GC and overuse threads. So avoid allocating memory at all, and avoid threads. Modern C++ is all about zero allocation, zero threads, zero locks, zero waits, and zero memory copying. Indeed, if you ever write a for or while loop, smack yourself hard and don't do it again (look into <algorithm>). Also view every unbalanced if statement with suspicion. Can you rewrite the code to eliminate if statements, or at worst make them balanced?

    You won't get good at this stuff at the beginning, but practice practice practice. At some point it'll all click, and you'll be off running. No fun getting up to that click point though.
    Eclipse okay as an IDE?

    It's not completely awful. CLion is spoken well of by many. A lot of people still swear by Visual Studio (Windows only) and Visual Studio Code (portable). Many more use cmake for build, and a simple text editor.

    Niall


Advertisement