10

As a junior dev from a sysadmin and security background, this is a list of software development concepts I never seemed to truly understand but hope to(rated from most intimidating to least):

1) Frontend web development and all the huge world of javascript frameworks and tools. - It's more overwhelming than the political geography of the Holy Roman Empire in the Middle Ages.

2) Machine Learning, Deep Learning and A.I- too much math that fucks with my brain.

3) low-level programming(kernel,drivers) - sounds extremely interesting but the code in assembly/C/C++ looks like Linear A Minoan hieroglyphics.

4) Rx(insert language here) - I never get why it is useful or why someone invented this. Seems interesting though.

5) Code Reflection - sounds like Thelemic magick.

6) Packaging, automation, build tools, devops, CI, Testing -seems too complicated. I just want to run an executable at the client or make a web app that does something. Why all this process?

Comments
  • 3
    1) what exactly is it you wish to understand?
    6) well you need all the stuff to smoothly deploy ore deliver your stuff ;) without automation you got lots of repetitive manual tasks which cost time and money and are often more error prone
  • 1
    @scroach
    1) why it's so complicated. Why are there 1000000 different franeworks, libraries and quirks to accomplish the same tasks. Why are there so many different architetcture styles and philosophies. Why are there so many tools. You don't get this magnitude of chaos in the desktop and server world, why soes it exist in the web world?

    2) seems reasonable, but do I require to learn in as a solo developer? Or is it used only in larger teams?
  • 3
    @clovisIrex
    1) cause they evolved? 😂 and the web is huge. Lots of tools are multiplatform stuff. You write JavaScript code and deploy in web or on mobile iOS android or even desktop apps! And developers which are not satisfied by the current tools write their own stuff XD
    And javascript/web dev at it's base is easy. It's easy for ppl to get into it and play around...
    At least that's what I think ;)

    6) no you won't need it but you're going to WANT it ! Developers are lazy so the use tools for repetitive stuff..you don't need automated testing but once your software grows large you can't test it all manually
    And an exe is essentially just a package so yeah you need packaging for that
  • 3
    @scroach
    The amount of clusterfuckness in the web frontend world makes it insanely difficult for new guys like me to get into it or catch up.
    Takr a look at native Android/iOS apps. Everything is much more clear and understanable there.
  • 2
    @clovisIrex trust me it's not easier for me 😂

    But you can't really compare a kinda "closed ecosystem" to an open language used in multiple platforms...

    Lots of frameworks have very specific use cases. And otherwise I think you just need to try them out and compare yourself. Or get started with plain JavaScript and when you get annoyed by specific stuff search for existing solutions to it
  • 2
    2. Actually the high level concepts are fairly simple. The rub is that the data has to be run a lot and a lot of data is needed.

    3. What languages do you know? C/C++ aren't that dissimilar from higher level languages.

    5. Reflection is basically just factory pattern coding or some other concept of generic coding. It's useful on occasion (Like for framework coding) but it should only be used when absolutely necessary.

    6. Process. Is. Awesome. Holy shit I can't say this enough. Yeah too much process is bad, but no process is just as bad. Especially when you have a bunch of people touching the same code base. Packaging and build tools and what not are also nice because you can make them do all sorts of stuff and are useful for ensuring you always have a clean state to build from.
Add Comment