Page 3 of 6 FirstFirst 12345 ... LastLast
Results 21 to 30 of 52

Thread: On Becoming a Software Developer

  1. Top | #21
    Veteran Member KeepTalking's Avatar
    Join Date
    Jan 2010
    Location
    St. Louis Metro East
    Posts
    3,266
    Archived
    3,057
    Total Posts
    6,323
    Rep Power
    40
    Quote Originally Posted by Gun Nut View Post
    Quote Originally Posted by rousseau View Post

    These days it seems like a developer's biggest challenge is learning the idiosyncrasies of the framework they're working in.

    If you're moving from .NET to Java for instance, actually coding small problems and features would be easy enough, but Java comes with a different set of tooling that would have a bit of a learning curve.

    Or if you're getting into JS land with stuff like React and Angular the problem is that the frameworks are completely unintuitive until you actually read the documentation. One can't know vanilla JS and then automatically write React.

    And some c-based languages like Ruby in the Rails framework aren't actually as intuitive when moving from something like Java or .NET.

    Any competent programmer can write a generic algorithm to solve basic problems, but a good brunt of a programming job is doing things that need to be told or found, not figured out.
    ya.. that is true... most programming is copy and paste from a google search. Why re-invent the wheel, especially if you are new to the language.
    While it is true that programming these days does involve a lot of Googling solutions to problems you may be encountering with your code, it is usually not as simple as cut and paste. You have to understand how the solution you found on StackExchange (or wherever) applies to your specific problem. When you are new to a framework or library, you will likely be using Google and StackExchange frequently, but over time you find you have to go that route less and less often, because you are actually learning in the process. Things move very quickly in development these days, and without tools like Google and StackExchange at your disposal you would get left behind very quickly. Two years ago I was purely a Java programmer with a very basic knowledge of JavaScript, in the time since then I have had to become much more proficient in JavaScript, while also learning Angular, React (with and without Redux), React Native, Kotlin, Objective C, and RXJS. Not to mention various testing frameworks, and other necessary tools like Gradle, Docker, and OpenShift. Learning and using Gradle also required me to learn how to use a new IDE (IntelliJ), but we still use Maven as well, which works extremely well in STS/Eclipse, so I am still keeping up to speed with that. Since I also work on Native apps, I have also had to learn how to use the abomination that is XCode, and since several of my existing projects were already set up in VS Code, I haven't taken the time to move them over to IntelliJ. This means I am running 3 or 4 IDEs on any given day, and have to keep current on all of them. Who knows what I will need to learn before the end of the year, and I don't want to even think of where I will be 2 years from now. I will likely have forgotten all about Kotlin (it is starting to fall out of favor on my team), but may have to dive back into it if I switch teams, or jobs. Several teams here are using Node.JS, and there is a lot of buzz around Vue, so I wouldn't doubt that I will have to learn one of those libraries in the near future (if not both). There is no way I would have had time to learn all of that in a formal setting, so I would have drowned long ago without Google and StackExchange at my disposal.

  2. Top | #22
    Veteran Member
    Join Date
    Oct 2018
    Location
    Colorado
    Posts
    1,169
    Rep Power
    5
    Quote Originally Posted by bigfield View Post
    Quote Originally Posted by Gun Nut View Post
    ya.. that is true... most programming is copy and paste from a google search. Why re-invent the wheel, especially if you are new to the language.
    Perhaps that's true if your experience in programming is limited to copy-pasting macros, shell scripts and config files.
    and class definitions (I recently "borrowed" an AI neural network class from python to try and reuse in C++), functions (what's a good way to sort an array using THIS language?), formulas (do I have to re-invent the dot and cross product functions or are they predefined?), API calls (definitions).
    Pretty much the only thing you can't usefully copy is a GUI... but many different ways to mask data, for example... which reminds me... REGEX! Who writes regular expressions from scratch? (prolly that guy that still uses Assembly code).

  3. Top | #23
    Veteran Member
    Join Date
    Oct 2018
    Location
    Colorado
    Posts
    1,169
    Rep Power
    5
    Quote Originally Posted by rousseau View Post
    Gun Nut

    Join Date - Oct 2018
    Yes?

  4. Top | #24
    Veteran Member KeepTalking's Avatar
    Join Date
    Jan 2010
    Location
    St. Louis Metro East
    Posts
    3,266
    Archived
    3,057
    Total Posts
    6,323
    Rep Power
    40
    Quote Originally Posted by Gun Nut View Post
    Quote Originally Posted by bigfield View Post
    Quote Originally Posted by Gun Nut View Post
    ya.. that is true... most programming is copy and paste from a google search. Why re-invent the wheel, especially if you are new to the language.
    Perhaps that's true if your experience in programming is limited to copy-pasting macros, shell scripts and config files.
    and class definitions (I recently "borrowed" an AI neural network class from python to try and reuse in C++), functions (what's a good way to sort an array using THIS language?), formulas (do I have to re-invent the dot and cross product functions or are they predefined?), API calls (definitions).
    Pretty much the only thing you can't usefully copy is a GUI... but many different ways to mask data, for example... which reminds me... REGEX! Who writes regular expressions from scratch? (prolly that guy that still uses Assembly code).
    Heh, I just got done writing a bunch of Regex by scratch last week, but we have been dealing with Regex a lot recently, so several months ago I was more in the mode of having entirely forgotten the Regex patterns and copying them wholesale from the internet. Most of the Regex last week was unicode replacement and scrubbing for system and control characters, so it was pretty straightforward but I banged it all out on my keyboard without having to Google. Looks like we will have one more round of Regex sometime in the next month, so I will probably still be up to speed and bang that out as well, but six months from now I will likely have purged all of that knowledge from my brain and will be heading back to Google for a refresher.

  5. Top | #25
    Administrator lpetrich's Avatar
    Join Date
    Jul 2000
    Location
    Lebanon, OR
    Posts
    5,503
    Archived
    16,829
    Total Posts
    22,332
    Rep Power
    76
    Quote Originally Posted by fromderinside View Post
    Back in the day, which I encountered in the late '70s, there were two movements as result of IBM's System 370 catastrophe.
    What was that catastrophe?
    They were disciplined standardized structured code formally commented and reusable code libraries.
    Management of large codebases?

  6. Top | #26
    Administrator lpetrich's Avatar
    Join Date
    Jul 2000
    Location
    Lebanon, OR
    Posts
    5,503
    Archived
    16,829
    Total Posts
    22,332
    Rep Power
    76
    Quote Originally Posted by Gun Nut View Post
    Quote Originally Posted by rousseau View Post
    Any competent programmer can write a generic algorithm to solve basic problems, but a good brunt of a programming job is doing things that need to be told or found, not figured out.
    ya.. that is true... most programming is copy and paste from a google search. Why re-invent the wheel, especially if you are new to the language.
    I don't entirely copy and paste, though I often have to do a *lot* of research into API details. Like Python and OSX Cocoa and the C++ Standard Template Library. But it pays off when one finds out how to do something with very little coding, something that has often happened to me.

  7. Top | #27
    Super Moderator
    Join Date
    Sep 2000
    Location
    Nevada
    Posts
    23,766
    Archived
    96,752
    Total Posts
    120,518
    Rep Power
    94
    Quote Originally Posted by Gun Nut View Post
    Quote Originally Posted by rousseau View Post
    Any competent programmer can write a generic algorithm to solve basic problems, but a good brunt of a programming job is doing things that need to be told or found, not figured out.
    ya.. that is true... most programming is copy and paste from a google search. Why re-invent the wheel, especially if you are new to the language.
    I disagree. Even when I was just learning C# most of what I wrote was my own code, not ^c^v. The only code I've found myself copying from the web is stuff dealing with the system in unusual ways. (For example, a privileged screen that closes if the user does nothing for 60 seconds.) I can't make a comparison when I was learning my first language, the web didn't exist back then.

  8. Top | #28
    Contributor
    Join Date
    Jun 2010
    Location
    The North
    Posts
    8,994
    Archived
    9,514
    Total Posts
    18,508
    Rep Power
    44
    The only times I recall really copying and pasting is usually with Javascript doing dumb, unintuitive things, or ridiculous SQL statements.

  9. Top | #29
    the baby-eater
    Join Date
    May 2011
    Location
    Straya
    Posts
    3,675
    Archived
    1,750
    Total Posts
    5,425
    Rep Power
    36
    Quote Originally Posted by Gun Nut View Post
    Quote Originally Posted by bigfield View Post
    Quote Originally Posted by Gun Nut View Post
    ya.. that is true... most programming is copy and paste from a google search. Why re-invent the wheel, especially if you are new to the language.
    Perhaps that's true if your experience in programming is limited to copy-pasting macros, shell scripts and config files.
    and class definitions (I recently "borrowed" an AI neural network class from python to try and reuse in C++), functions (what's a good way to sort an array using THIS language?), formulas (do I have to re-invent the dot and cross product functions or are they predefined?), API calls (definitions).
    Pretty much the only thing you can't usefully copy is a GUI... but many different ways to mask data, for example... which reminds me... REGEX! Who writes regular expressions from scratch? (prolly that guy that still uses Assembly code).
    Yeah, nah, I wouldn't call that "copy and paste". Perhaps just "copying", because one is usually just copying the ideas, rather than reusing code verbatim.

    As for regex, I seem to regularly find occasions when I need to write a custom pattern to automate a find or find-replace task.

  10. Top | #30
    Mazzie Daius fromderinside's Avatar
    Join Date
    Oct 2008
    Location
    Oregon's westernmost
    Posts
    10,484
    Archived
    18,213
    Total Posts
    28,697
    Rep Power
    52
    Quote Originally Posted by lpetrich View Post
    Quote Originally Posted by fromderinside View Post
    Back in the day, which I encountered in the late '70s, there were two movements as result of IBM's System 370 catastrophe.
    What was that catastrophe?
    They were disciplined standardized structured code formally commented and reusable code libraries.
    Management of large codebases?
    No. System 370 had a fairly large operating system back in the day. They found two principles as a result. Large OS programs are going to have bugs. Bug fixes create more bugs. Ultimately the OS becomes useless. This became known as data corruption. It became evident after a few years the investment to repair and repair of repairs was eating up profits. Ergo the OS 370 disaster.

    Why. No discipline in coding or code assurance. Very inadequate and idiocentric commenting. Generating fixes for such programs increased error and unexpected outcomes and consequences. All those lead to OS data corruption..

    Obviously structure, discipline, and dedicated and disciplined software assurance is required when generating large programs.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •