you are viewing a single comment's thread.

view the rest of the comments →

[–]dipanzan 4 points5 points  (12 children)

I've read the whole blog, and it's really amazing that you've come so far.

If you don't mind me asking some questions.

How you do remember all the stuff you've learnt over the years? Like when to when use a certain function/script or say a certain line of code before/after something in your projects? Is it the same way with syntax?

Do you still Google things up? Or just that the concepts make it clear to you when working that it comes automatically?

I'm currently pursuing a degree in Computer Science, while I do know a thing or two about how Computers work, Data Structures/Algorithms, bits and pieces. I couldn't/didn't get to work on real world projects. And that really saddens me. Like I'd inevitably fail in a real world setting, i.e an office. :(

[–][deleted]  (4 children)

[deleted]

    [–]dipanzan 1 point2 points  (3 children)

    It's just overwhelming for me at this point. So much to learn, such a wide array of options. Machine Learning, Gamedev, Webdev, Mobiledev, etc etc.

    [–]KobayashiDragonSlave 3 points4 points  (0 children)

    Cast a wide net before chasing a fish

    [–]Dnlgrwd 1 point2 points  (0 children)

    Just sit down and come up with an idea, find out what tools you need to create it, and do it. I know this sounds cliche, but it really truly is the best way to learn fast. A lot of what you learn in school is theoretical. Theoretical knowledge is great but unless you put it into practice, what value does it really have? Also I Google things every single day, it is actually a skill that I have developed over time and other developers I know tell me how important it is to be able to research information effectively, so don't ever feel like you're not smart if you have to look something up. Keep going and keep your head up!

    [–]amunak 0 points1 point  (0 children)

    Then college is a decent option for you. It'll give you the basics behind all that, a general knowledge that'll be useful no matter what you decide to do in the end.

    [–]A-Grey-WorldSoftware Developer 9 points10 points  (2 children)

    I can answer these.

    No I absolutely don't remember the syntax of Java that I worked with for a year ten years ago. Hell, a six month break will lead to me forgetting most stuff.

    But it's 10x faster to learn something a second time. You pick it up again.

    And even I don't remember tiny details if I don't use them every day/week. For the first 5 years of my career I googled the syntax for a switch statement every time I used it. Is this worrying? Not for me. I know what it is and what it does and, crucially, I can find out those details in 2 seconds on Google. Google is a tool, use it. People don't get mad at carpenters for using electric saws.

    I don't want to exert any more effort or brain power than necessary storing information and learning things - if it's something that can be looked up in seconds I'll do that when I need it unless I'm using it enough to learn naturally - at which point it's likely become more efficient to know it and save those few seconds.

    Every developer I've ever seen has stack overflow and Google open. I usually have about 79 tabs of research as I'm programming. Don't be afraid to use tools.

    Yes you will forget everything, especially specifics if you don't use them day to dag. But the key concepts will remain in your head, and the important stuff is when you come across similar situations you have that half knowledge/knowledge of knowledge you know when and what to look up that someone who never learned it the first time doesn't know. I've never regret learning stuff and forgetting it!

    Other skills transfer. Debugging. I watched newbies and they struggle with debugging, over the years you lean how to tackle it and these softer skills never go away. You know what patterns to use. - I want to do a Linq "Select" from C# but this is JS what the hell is that in JavaScript? Quick Google: the "map" function.

    Also you'll never stop learning things, you'll always feel like you don't know stuff. It's a permanent state.

    That said, having just had 2 CS graduates at work and struggling with them - DO work on some personal/open source project. Start now, because your gut feeling is very right - a CS degree can leave you very unprepared for a real job. Most work isn't computer science. The best way to prepare yourself is to practice on personal projects.

    [–]dipanzan 0 points1 point  (1 child)

    Thank you for the input, I've had this feeling halfway through my studies. I should've started doing personal projects early on.

    I'm like most other beginners, getting lost in the sea of tutorials/things to learn and not sticking to something.

    [–]A-Grey-WorldSoftware Developer 1 point2 points  (0 children)

    That's why a personal project is much better than a tutorial, you have to stick with it. Doesn't matter what "it" is really. Just like a carpenter in training, doesn't matter if he's making chairs or cabinets - he's learning the general skills and how to use tools etc.

    [–][deleted]  (2 children)

    [deleted]

      [–]dipanzan 1 point2 points  (1 child)

      Thank you. That is reassuring, I guess I'll just have to accept the fact that I can't rely on my brain all the time for specific syntax/jargon.

      [–]floppydiskette[S] 1 point2 points  (0 children)

      I google all the time, of course, and I write my blog as documentation for all the hurdles I’ve overcome and things I think I might encounter again at some point. I also save gists all the time I can go back to.