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

Have you had a growth spurt

  • 02-10-2016 5:39pm
    #1
    Closed Accounts Posts: 6,075 ✭✭✭


    Have any of you devs had a 'growth spurt' where you improved your coding skills in a short period of time? if so, can you tell me what caused that spurt?

    I'm told that the way to improve is practice, and I agree to that, but I'm afraid that practicing on my own leads to me repeating my mistakes and not improving.

    I'm currently on level 2 of firecode and it's improving my ability to solve problems but it won't help me write clean, expressive code or design programs or TDD.

    I would say that my biggest improvement was reading Clean Code.


Comments

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


    I think my biggest growth spurt as a developer was when I learned how to use the basic syntax of C and was like 'huh, so programming is just writing **** in notepad'. From that point the growth to time-invested curve got progressively worse, and at this point, learning new things isn't necessarily a given in my day-to-day programming. And typically where there is some learning to be had - it's just learning the in's and out's of some framework or library I hadn't used before or have forgotten how to use - and in the end this stuff is really just superficial learning.

    I think as a developer you can get stuck in the mindset of trying to ramp up your development skills - but one thing that isn't really mentioned that much is that you can very easily plateau down that road. Once you've gone beyond the "Graduate/Junior" level positions your ability to hack together some classes isn't going to vary too greatly from one developer to another (disregarding the incompetents who somehow made it to that point; or the freaks who you're never going to catch up with). And neither the incompetents or the freaks would ask the question you're asking - so I wouldn't worry about being in either of those camps.

    I honestly don't think there are any easy wins sitting around for you to pick up.

    This may all sound a bit pessimistic but it isn't. If you're a back-end developer learn some database modelling. Or if your a DBA learn some front end design. Or build a compiler, or http server, and maybe do it in haskell or erlang or some other language which you don't have the foggiest notion of. The gimmicks like fireside or hackerrank or whateverelsetheycomeupwithnext are just that; gimmicks. They only exist as something for interviews - and should only be used for sprucing up your interviewing skills. Though that being said, I think Project Euler is a fantastic resource, and it is of a somewhat similar ilk.

    I think a question worth considering would be: "What can I do that is hard and requires commitment that'll help me improve as a developer?".

    Or another question might be "What could I do, that isn't software development, that would actually make me a better developer?".

    Because I think answers to those questions might be the route to achieving what you actually want. On a side note: if you want a hilarious true story (starring Marky Mark) about the search for quick gains - I'd recommend "No Pain, No Gain".

    And that's today's rant over (apologies to anyone who suffered through it this far!). I'm sure I'll have a completely different take on the matter tomorrow when I'm not bleary eyed.


  • Registered Users, Registered Users 2 Posts: 36,170 ✭✭✭✭ED E


    Projects I enjoy. If a task/problem catches my interest I'll burn the midnight oil and slog at it. Issues arising during this frantic period are hunted down and lessons are learned. If somethings a chore I work slowly at it but don't find I learn nearly as much.

    A large part of that is possibly the mindset/"getting in the zone" thing that some programmers experience. That is you're only really productive after 30-60 mins of warming up and as soon as you're interrupted the timer resets. I tend to put in longer stints on engaging problems and thus probably code better for a larger portion of total time.

    /2cents.


  • Registered Users, Registered Users 2 Posts: 26,928 ✭✭✭✭rainbow kirby


    Being thrown in at the deep end at work! 4 weeks after I started in a job a few years back my line manager and two other devs left to work for a new start-up and I had to take ownership of a fairly big project straight away. I learned a ton over the next few months and it really pushed me forward, even though it was a bit stressful at the time.


  • Registered Users, Registered Users 2 Posts: 1,717 ✭✭✭Raging_Ninja


    A year after graduating when I went to work in a startup as the first hire and sole developer.


  • Registered Users, Registered Users 2 Posts: 768 ✭✭✭14ned


    I'm told that the way to improve is practice, and I agree to that, but I'm afraid that practicing on my own leads to me repeating my mistakes and not improving.

    That's because your practice isn't being sent somewhere where others will tell you your code is crap.

    Too many developers design and write their own software instead of contributing improvements to large open source projects. Try getting a large new feature into say jQuery or say the clang C++ compiler, well it's a humbling experience that will improve you as an engineer and person no end. Tip: expect to expend months to years to achieve it and having to throw away code you've spent weeks on a lot.

    Niall


  • Advertisement
Advertisement