• 0 Posts
  • 119 Comments
Joined 1 year ago
cake
Cake day: June 20th, 2023

help-circle






  • Almost 30 years into my career as a software engineer, I’m now making a computer game that takes place in Space and were planets and comets follow Orbital Mechanics, so I’m using stuff I learned at Uni all those years ago in Degree-level Physics, since I went to university to study Physics (though later changed to an EE degree and ended up going to work as a software developer after graduating because that’s what I really liked to do).

    I’ve also had opportunity to use stuff I learned in the EE degree for software engineering, the most interesting of which was using my knowledge of microprocessor design during the time I was designing high performance distributed systems for Investment Banks.

    (I’ve also used that EE knowledge in making Embedded Systems - because I can do both the hardware and the software sides - though that was just for fun)

    Also, pretty much through my career, I would often end up using University-level Mathematics, for example in banking it tended to be stuff like statistics, derivatives and integrals (including numerical approach methods) whilst game-making is heavy on trigonometry, vectors and matrices.

    So even though I never formally learned Software Engineering at University, the stuff from the actual STEM degrees I attended (the one were I started - Physics - and the one I ended up graduating in - Electronics Engineering) were actually useful in it, sometimes in surprising ways.

    At the very least just the Maths will be the difference between being pretty mediocre or actually knowing what you’re doing in more advanced domains that are heavy users of Technology: I would’ve been pretty lost at making software systems for the business of Equity Derivatives Trading if I didn’t know Statistics, Derivatives, Integrals and Numerical Approach Methods and ditto when making GPU shaders for 3D games if I didn’t know Trigonometry, Vectors and Matrices.

    And this is without going into just understanding stuff I hear about but are currently not using, such as Neural Networks which are used in things like ChatGPT, and Statistics are invaluable in punching through most of the “common sense” bullshit spouted by politicians and other people played to deceive the general public.

    Absolutely, you can be a coder, even a good one, without degree level education, but for the more advanced stuff you’ll need at least the degree level Maths even if a lot of the rest of your degree will likely be far less useful or useless.




  • I have an inner voice but I don’t use it when I’m reading, which is maybe why I am a very fast reader.

    I tend to use it when pondering on things. That said I just noticed that when composing and cross-checking this text for posting, I also used it.

    Curiously, nowadays my inner voice is not just in my own mothertongue but can be in just about any of the languages I know enough for basic conversation. It’s probably related to, because my foreign language skills are so advanced (I can speak about 7 languages) that I’ve long stopped translating to my native tongue in my mind and concepts just translate directly from those foreign languages. Also, I’ve lived in a couple of countries and as I would eventually end up mainly speaking the local language, my inner voice would also, eventually, end up also using that language.





  • I came here to say the same.

    People in the technical career track spend most of their time making software, one way or another (there comes a point were you’re doing more preparation to code than actual coding).

    As soon as you jump into the management career track it’s mostly meetings to report the team’s progress to upper management, even if you’re supposedly “technically oriented”.

    Absolutelly, as you become a more senior tech things become more and more about figuring out what needs to be done at higher and higher levels (i.e. systems design, software development process design) which results in needing to interact with more and more stakeholders (your whole team, other teams, end users, management) hence more meetings, but you still get to do lots of coding or at least code-adjacent stuff (i.e. design).


  • Aceticon@lemmy.worldtoProgrammer Humor@programming.devAny Volunteers
    link
    fedilink
    arrow-up
    8
    arrow-down
    1
    ·
    edit-2
    2 months ago

    The inability to detail the idea all the way down to the level were something concrete can be made from it kills it well before the lack of coding skills.

    It’s like what separates having an idea for a book and writting an actual book that is enjoyable to read: there is no “knowing how to code” barrier in there and yet most people can’t actually pull it off when they try or it ends up shallow and uninteresting.


  • Don’t take this badly but it sounds like you’ve only seen a tiny slice of the software development done out there and had some really bad experiences with Agile in it.

    It’s perfectly understandable: there are probably more bad uses of Agile out there than good ones and certain areas of software development tend to be dominated by environments which are big bloody “amateur hour every hour of the day, every day of the year” messes, Agile or no Agile.

    That does however not mean that your experience stands for the entirety of what’s out there trumphing even the experience of other people who also work in QA in environments where Agile is used.


  • Aceticon@lemmy.worldtoProgrammer Humor@lemmy.mlUsers
    link
    fedilink
    arrow-up
    2
    arrow-down
    1
    ·
    edit-2
    2 months ago

    Agile was definitelly taken in with the same irrationality as fashion at some point.

    It’s probably the best software development process philosophy for certain environments (for example: were there are fast changing requirements and easy access to end users) whilst being pretty shit for others (good luck trying to fit it at a proceess level when some software development is outsourced to independent teams or using for high performance systems design) and it eventually mostly came out of that fad period being used more for the right things (even if, often, less that properly) and less for the wrong things.

    That said the Agile as fad phase was over a decade ago.


  • Aceticon@lemmy.worldtoProgrammer Humor@lemmy.mlUsers
    link
    fedilink
    arrow-up
    2
    arrow-down
    1
    ·
    edit-2
    2 months ago

    Agile made Management, who had actual Senior Designer-Developers and Technical Architects designing and adjusting actual development processes, think that they had this silver bullet software development recipe that worked for everything so they didn’t need those more senior (read more expensive and unwilling to accpet the same level of exploitation as the more junior types) people anymore.

    It also drove the part of the Tech Industry that relies mainly on young and inexperienced techies and management (*cough* Startups *cough*) to think they didn’t need experienced techies.

    As usual it turned out that “there are no silver bullets”, things are more complex, Agile doesn’t work well for everything and various individual practices of it only make sense in some cases (and in some are even required for the rest to work properly) whilst in others are massive wasting of time (and in some cases, the usefull-wasteful balance depends on frequency and timing), plus in some situations (outsourced development) they’re extremelly hard or even impossible to pull at a project scope.

    That said, I bet that what you think is “The Industry” is mainly Tech companies in the US rather than were most software development occurs: large non-Tech companies with with a high dependency of software for competitive advantage - such as Banks - and hence more than enough specific software requirements to hire vast software development departments to in-house develop custom solutions for their specific needs.

    Big companies whose success depends on their core business-side employees doing their work properly care a lot more about software not breaking or even delaying their business processes (and hence hire QA to figure out those problems in new software before it even gets to the business users) than Tech companies providing software to non-paying retail users who aren’t even their customers (the customers are the advertisers they sell access to the eyeballs of those users) and hence will shovel just about anything out and hopefully sort out the bugs and lousy UX/UI design through A/B testing and user bug-reports.


  • Aceticon@lemmy.worldtoProgrammer Humor@lemmy.mlUsers
    link
    fedilink
    arrow-up
    5
    ·
    edit-2
    2 months ago

    Yeah.

    Any good software developer is going to account for and even test all the weird situations they can think of … and not the ones they cannot think of as they’re not even aware of those as a possibility (if they were they would account for and test them).

    Which is why you want somebody with a different mindset to independently come up with their own situations.

    It’s not a value judgment on the quality of the developer, it’s just accounting for, at a software development process level, the fact that humans are not all knowing, not even devs ;)


  • Aceticon@lemmy.worldtoProgrammer Humor@lemmy.mlUsers
    link
    fedilink
    arrow-up
    1
    ·
    edit-2
    2 months ago

    “Wrong way” for whom?

    In Software Development it ultimatelly boils down to “are making software for the end users or are you making it for yourself?”

    Because in your example, that’s what ultimatelly defines whose “wrong” the developer is supposed to guide him/herself by.

    (So yeah, making software for fun or you own personal use is going to follow quite different requirement criteria than making software for use by other people).