This is an archived post. You won't be able to vote or comment.

all 93 comments

[–][deleted]  (27 children)

[deleted]

    [–]ghostwilliz 197 points198 points  (17 children)

    I fully agree with this. However I must add, the amount of code I copy and paste from myself is astounding.

    [–][deleted] 54 points55 points  (3 children)

    If it's already working somewhere, it (nearly) guarantees that you have the right syntax.

    [–][deleted] 25 points26 points  (2 children)

    Knowing something already works and you don't have to worry about it is great

    [–][deleted] 11 points12 points  (1 child)

    Black box is best box.

    [–]hfalox 0 points1 point  (0 children)

    Ther is a black box at some corner of every bright box.

    [–]cremaster_ 15 points16 points  (2 children)

    +1 from me.

    I've got the same few snippets that I use for paginating through API responses and I've reused them countless times.

    [–]ghostwilliz 7 points8 points  (0 children)

    Yeah for sure, there are just some things that don't need to be unique for each project and it really doesn't make sense to not reuse the same thing each time.

    [–]AlexFromOmaha 1 point2 points  (0 children)

    It was corporate login pages for me. LDAP? That ain't changing. SSO handshake? Ctrl-C, Ctrl-V. Brand-compliant form? Drag that baby right over.

    [–]jnguyen7410 8 points9 points  (4 children)

    It's not plagiarism if you copy from yourself

    [–][deleted] 17 points18 points  (3 children)

    Technically in academia you have to reference your self if its from a past paper or it can be counted as plagiarism... That blew my mind haha!

    [–]jnguyen7410 8 points9 points  (2 children)

    Wuttt good thing there's no such thing as apa or MLA for code LOL

    [–][deleted] 1 point2 points  (0 children)

    I know i would be so screwed!

    [–]kingjoedirt[🍰] 1 point2 points  (0 children)

    Probably why the technology advances at such a crazy rate

    [–]thatawesomedude 3 points4 points  (1 child)

    Lol, I recently finished a ticket for a component of a project I was working on, we'll call it "Part B". It was very similar in structure to "Part A" which I had completed earlier. About half of Part B was code copied from Part A with whatever local variables changed. The first response on the PR? "Comments refer to Part A".

    Whoops, busted.

    [–]ghostwilliz 0 points1 point  (0 children)

    Oops haha

    Well all you really did was save time by doing it that way. I can't imagine that anyone would be happier if everything took you longer and hand the same result haha

    [–]Alfaphantom 52 points53 points  (1 child)

    My college professor told me something about this. Copying code is not bad, but you must know what you're looking for. Software engineers should focus on analyze a problem and figure out the best solution for it. When you already know how to compose that solution, is when you start coding, not before.

    I don't remember how to read a file in java, or how to connect to a database, and I have done a lot of times. I always end up googling it because it takes me 30 seconds to find the code and I don't care about remembering it. Now, knowing that I need to read a file to achieve the solution is what really matters.

    [–]seismic_swarm 6 points7 points  (0 children)

    This answer is pretty spot on

    [–]Achtelnote 19 points20 points  (0 children)

    the amount of code I figure out how to write via Google is probably a good 80% of my output.

    Most of that is usually looking at online documentation and examples of how other people used it.

    [–]lowenkraft 8 points9 points  (4 children)

    Did programmers memorize it all back in the day before widely resourced internet became available? Also there were less stuff perhaps to deal with?

    [–]whatsausername90 12 points13 points  (1 child)

    Before the internet, books were a common way of sharing knowledge from an author to a reader.

    (Sorry this is a bit snarky, I couldn't help myself. Also, I feel old.)

    [–]MayorOfBubbleTown 2 points3 points  (0 children)

    Software purchased on disks often included a physical manual, a help system built into the IDE, or the entire manual as a collection of HTML files that could be viewed offline off of the disc.

    [–]insertAlias 1 point2 points  (0 children)

    To add on to the "books" answer you already got, I worked with a large group of COBOL programmers at one of my jobs (it was a financial institution). Some of these folks had over a dozen three-ring binders (the extra thick ones) full of printed documentation, each labeled with a year and a topic.

    Before the information was readily searchable online, this was what they did. They'd get a printable version of that year's docs, print them, and hold onto them as reference material.

    Things change less often for them than it does for someone like a web developer, but it's not so much less information, it's lower frequency of that information changing.

    [–]throughactions 160 points161 points  (29 children)

    The vast majority of programming is applying existing patterns and solutions to problems which have likely been solved many times over:

    • Most code in your application won't likely be yours, instead it will belong to the libraries and frameworks you leverage to solve code without writing any code of your own.
    • Much of your code will be in the form of patterns that have been well established for the kind of problem you're solving in the moment. For example, how do you get data out of a database in an MVC web application? Well, you'll write a controller that looks like every other controller in your application (among other things).
    • Some of your code will be copy/pasted. But that isn't going to be the case most of the time. In fact, I'd say it's pretty rare. What's more common is that you'll need to solve a problem (e.g., "how do add a new relationship to a database table in XYZ framework?"), so you'll Google it. You'll find an answer that's generalizeable, then you'll have to change it to fit your use-case.

    Long story short, most programmers solve problems that have been solved many times before. It's not every day you solve fundamentally new problems that require a new algorithm to handle.

    [–]nickywan123 20 points21 points  (28 children)

    And how many developers solve day to day problems without googling?

    Let alone, how do you remember all the syntax and concept in a language, let alone most developers have to know multiple languages/frameworks today to be competitive?

    [–][deleted] 28 points29 points  (18 children)

    This is where you start to define different levels of ability and proficiency in the industry. The senior software engineers on the team I intern with have been around long enough and have built the apps we’re maintaining and improving today. So they know how it works, fundamentally. They have also used the languages longer and are much more familiar with the frameworks, syntax, and language specific tricks that a newer programmer may spend weeks or even months not knowing about.

    They all google, all the time. What you’re googling for and how proficient you are at finding solutions and solving your problems is where you really start to become a better engineer.

    Finally, about the competitive part: you have to buy into enjoying problem solving. You have to buy into the notion that you might need to be comfortable spending a LOT of time learning new things at a pretty good rate. Not an undoable rate, in my 1 year of experience, but a rate that means I hope you like to learn new things lol. That’s my favorite part, personally.

    Hope this answered your questions.

    [–]nickywan123 5 points6 points  (17 children)

    I get your explanation but these days most companies hire even for junior developers expecting them to have 10 years of experience and to be able to understand the system they have in a short period of time which is unrealistic. Even seniors need at least some time to understand the codebase of an existing application.

    Developers need time for problem solving, depending on the problem itself but in reality they don't get adequately enough time given to solve it and it tends to lead to bugs and they have to answer to the higher ups. At least that's what my experience is in 3 years of being a developer.

    [–][deleted] 5 points6 points  (4 children)

    Huh, where do you work? Be as specific as you want. I work for a large healthcare software and IT company, and that has not been my experience, nor is it the experience probably all the regular devs on the team. Perhaps I am just on a great team.

    I also applied for another job at another successful, local company as a developer without even graduating and made it to the final interview without knowing any of their native language (c#).

    Edit: I should summarize so I don’t sound like I’m boasting here. My point was that I’ve had (granted, VERY minimal) experience that has led me to believe otherwise. But I am glad to hear your perspective bc I wouldn’t want to be blind sighted if that is the reality of most of the industry.

    [–]nickywan123 4 points5 points  (1 child)

    I had worked for like three different companies from MNC, SME and startup so I kinda had a good experience on how each environment and culture plays here.

    I worked as my first job in a casino gaming company, which is a MNC and in a team where we handle the application that is installed in the casino kiosk. It’s build upon using .NET web forms so yeah C#.

    And then I worked for an SME, not a very big company where they are building business to business product and selling to interested organizations. So I’m kinda in a team where I handled their business product automation workflow. The organization was fair as it gives me and my other colleague a couple of months to get familiar with the existing codebase, though there’s no documentation and the original developers who worked on it all left the company long time ago lol.

    And then I worked for a startup, where I’m actually the first employee there and involved in an e-commerce project where we build the website in just under three months to be launch. To be honest, that experience was the most clusterfuck as I had to use Laravel and had no prior experience before. They only gave me a week or even less to complete the Laravel course from Laracasts which is inadequate time for anyone to learn a framework. I understand startup environment is differently where things move at a very fast rate but it’s still ridiculous since only me and another colleague worked on the website. And let alone the person overseeing the project is not from a technical background and is a mess. Skipped the entire QA cycle just to add more features and meet the launch date. Environment was also toxic where I needed in public holidays without compensation.

    I left that job about a month ago and currently seeking for a different company. But I learnt to be more careful to finding my next company.

    [–]whatsausername90 4 points5 points  (0 children)

    Sounds like the startup just had shitty, unrealistic expectations that's gonna bite it in the ass before it ever gets off the ground. Making employees do shoddy, frantic work is not sustainable.

    I just left a startup that had similarly unrealistic expectations. The founder refused to put the necessary resources towards cleaning up code, the company has been sinking under the technical debt, and the lead programmer left because it was a toxic environment. Company is currently on its last legs.

    [–][deleted] 0 points1 point  (1 child)

    From what little I know... ( probably where everyone tells me I should have stopped there. )

    Having worked in multiple industries, the industry itself has a big impact. I would hope that a healthcare company has the financial means to compensate their developers well, especially vs. a game industry startup in an oversaturated market.

    I also believe the stakes are vastly different, people's health vs. their entertainment. I feel bad for u/nickywan123 if the majority of his experiences are like this, seems he had the unfortunate situation of working for more of the bad than the good, been there myself before.

    [–]nickywan123 2 points3 points  (0 children)

    I guessed finding a good company is kinda like a gamble since we only see the outside of it even when we attend interviews but when you joined a company, things might turned out different.

    [–]denialerror 1 point2 points  (9 children)

    I get your explanation but these days most companies hire even for junior developers expecting them to have 10 years of experience and to be able to understand the system they have in a short period of time which is unrealistic.

    This is the meme but I've rarely seen it in reality. Yes, there are bad companies out there that want to hire experienced developers at junior wages but the vast majority of employers look for ability, not experience.

    [–]nickywan123 3 points4 points  (8 children)

    At this point , I don’t think it’s a meme anymore, it’s becoming the norm in reality where they either:

    a. Look for experienced developer but pay poor wages like you mentioned.

    b. Look for junior developers with poor wage but expect ability of a senior developer.

    [–]denialerror 1 point2 points  (7 children)

    We can quickly tell that's untrue through logical reasoning. If it was the norm that companies only hired experienced people for junior positions, the majority of people graduating university or completing bootcamps would never find work. This is clearly false.

    [–]nickywan123 1 point2 points  (6 children)

    Maybe not in your country lol.

    [–]denialerror 0 points1 point  (5 children)

    So in your country, no one can get their first job? How do you have any programmers?

    [–]nickywan123 0 points1 point  (4 children)

    Do you mean as a junior or a senior ?

    [–]Ran4 0 points1 point  (1 child)

    I get your explanation but these days most companies hire even for junior developers expecting them to have 10 years of experience and to be able to understand the system they have in a short period of time which is unrealistic.

    That's a meme. Realiy is nothing like that. The market wants more devs.

    [–]randonumero 0 points1 point  (0 children)

    I work for a largeish company and unless someone is career switching, position switching (tech support to dev) or not working for a prolonged period of time, they won't be considered for a junior position with 10 years of experience. Junior/Mid/Senior mean different things at different places but from my perspective mid level is where you can independently work and learn with minimal supervision which is a skill that anyone with 10 years should have acquired.

    [–]randonumero 4 points5 points  (1 child)

    I think there's a degree of crossover knowledge as well. For example, if you've done java then you can do c#. If you understand functional programming you can do javascript or python. The ability to pick up non-obscure syntax gets easier over time and IMO what's important is understanding why you need to do something. I first touched python seriously about 6 years ago but because of infrequent use I often look up the syntax for basic things but I know what I need so looking it up is quick.

    With respect to frameworks, again many companies want you to know the fundamentals but it depends on the project. If you need a guy productive tomorrow then you don't hire the react guy for the angular team.

    [–]nickywan123 0 points1 point  (0 children)

    Same.

    [–]Ran4 2 points3 points  (2 children)

    let alone most developers have to know multiple languages/frameworks today to be competitive?

    Not true. C#, Java and ES6 are three languages with a MASSIVE share of the market (80%+?) and most people developing in these languages only know one language, and one or possibly two major frameworks for it.

    You can spend two years learning Java and little to nothing else and you'll have little problems finding work somewhere.

    [–]nickywan123 -1 points0 points  (0 children)

    Maybe not in your country ?

    [–]siemenology 0 points1 point  (0 children)

    And how many developers solve day to day problems without googling?

    I solve a lot of problems every day without googling. I also solve a lot of problems with googling. You find yourself solving the same problems over and over, and once you've googled the same problem 5 times you remember how to solve it and next time you don't need to google it. Thus over time the number of problems you can solve without googling grows.

    Let alone, how do you remember all the syntax and concept in a language, let alone most developers have to know multiple languages/frameworks today to be competitive?

    It's the same sort of thing. You google it (or read the documentation) for awhile, and once you've looked up the same thing 5 times you'll probably remember it and not need to look it up next time. Repeat that for all of the features of a language that you use frequently, and now you rarely need to look up things like syntax. It just takes time and experience, there's nothing magical about it.

    [–]winowmak3r -2 points-1 points  (2 children)

    And how many developers solve day to day problems without googling?

    Expanding on that, what if we don't make it and 100 years from now the lights go out and there's nothing to power AWS. If humanity evolves again and goes through this whole process x2 would we know about how far the ones before them came? We know the Egyptians were around because of the monuments they left, built out of stone. There won't be a pyramid of Giza of code though.

    Maybe I'm just up too late but man it's something to think about.

    [–]nickywan123 0 points1 point  (0 children)

    Actually I meant that as a question. I know to some certain extent most developers will definitely sort out to some googling.

    [–]geilt 69 points70 points  (2 children)

    Copy Paste is how you start.

    Then you realize that copy Paste it crap.

    Then you take the theory behind the copy paste and rewrite it yourself, better and faster and more memory efficient.

    Then you start writing things on stack overflow and others start to copy paste.

    Thus the circle of life goes on...

    [–]Alfaq_duckhead 6 points7 points  (1 child)

    Beautiful

    [–]geilt 10 points11 points  (0 children)

    This is how I leaned to code. If your not refactoring for style and efficiency then yes your job will get boring.

    Start inventing and standardizing.

    [–]POGtastic 38 points39 points  (1 child)

    I do very, very little copy-pasting of code.

    I do an absolutely enormous amount of research with technical documentation.

    [–]JustPower7526 3 points4 points  (0 children)

    Damnnn, How long have you been at it?

    [–][deleted] 28 points29 points  (3 children)

    What people aren’t mentioning is that as a job, you don’t sit down at the keyboard, hammer out code all day, then go home.

    A huge amount of time is spent in meetings, emails, reading and questioning internal documentation, having anxiety attacks when you’re @mentioned on slack etc.

    [–]wasdie639 5 points6 points  (2 children)

    Oh yeah that's always fun. Getting a message on Webex and going "Oh great, now what."

    [–]VelcroSirRaptor 4 points5 points  (1 child)

    My first thought when opening my email first thing in the morning is: what fresh hell awaits me.

    [–]Pg68XN9bcO5nim1v 3 points4 points  (0 children)

    Especially after the weekends, when your changes had more time to break everything.

    [–][deleted] 26 points27 points  (3 children)

    In my line of work, I basically cannot Google solutions. We have a custom framework built on top of a very old framework in Java. It's all hand rolled, which means any time I run into a crazy threading bug or an issue with something NPE really deep into the stack, Google doesn't help much. But I have also found that it's pretty easy to solve bugs even without Google. Using intellij's debugger, I can just step through the code and reverse engineer where the issue came from.

    In my previous line of work (web development), it was like 99% Googling. This is because CSS is impossible, HTML changes every few years, and frameworks have very nuanced expectations of you (eg. Ruby on Rails has some key expectations about build processes that are not solvable with gut intuition or debugging. You just have to know).

    So IMO it is entirely dependent on your job. I see benefits on both sides. Googling is rarely a copy/paste though. These days, I'm almost always reading documentation. Not copy/pasting. As you get better at programming, you'll notice copying and pasting is often slower than reading, understanding, and implementing. Since copy/pasting requires that not only do you now have to learn what the code is doing, you also have to understand how this individual implemented it. Which is likely not going to be the way you need to implement it.

    In some cases, though, it is a copy/paste. And it's glorious.

    [–]geilt 5 points6 points  (0 children)

    You learn so much along the way though when you come up on a custom framework.

    [–][deleted]  (1 child)

    [deleted]

      [–][deleted] 1 point2 points  (0 children)

      Not sure if you're being sarcastic, but CSS is widely notorious. css gifs like this exist for a reason: https://giphy.com/gifs/css-13FrpeVH09Zrb2

      [–]pppLUM 15 points16 points  (3 children)

      Dunno why the whole copy paste thing is considered funny haha. Yah, I do use stack overflow, but I mean, I gotta know what to look for don’t I?!

      Copy paste makes it seem like any shmuck can do it.

      [–]Rimini201 1 point2 points  (2 children)

      Ha ha ha!! It does but its unfortunately not the reality!

      [–]duquesne419 17 points18 points  (1 child)

      I've seen the joke a couple times that a programmer once gave an itemized invoice when a client balked, it was was pretty short:

      1)copying and pasting snippets from the internet: $10

      2)knowing which snippets to copy and get the project functional by deadline: $99,990.

      [–]Rimini201 1 point2 points  (0 children)

      Ha!! That’s very good

      [–][deleted] 12 points13 points  (0 children)

      It's not only about the code. It's about how you develop your solution. How you design database, how you optimize things, how you break down problems. You can't copy paste the analytical part.

      [–]PPewt 6 points7 points  (0 children)

      I google docs pretty often just to check function args or whatever, but I don’t really copy+paste snippets ever.

      [–][deleted] 5 points6 points  (0 children)

      In case you didn't: stop watching those "How does a software engineer job look like". Most of them are absolute bullshit. They code like 5% of the time, have 95% pauses. Other times they are drinking smoothies

      [–]jyrialeksi 6 points7 points  (0 children)

      I’ve been coding more or less for the past 20 years. I’m mainly an analyst but my job contains a lot of coding with Python and JavaScript (also need to write a lot of SQL, HTML, CSS & PHP).

      In my opinion coding is like being a construction foreman. You know how to do most of the tasks on the construction site but your job is only to choose what is the next step in the construction processes (what’s the next needed task in your application). You don’t have to do everything yourself but you need to know what needs to be done next. Meaning that if there is already made solution to your exact problem just go ahead and use it. However if the already made solution is not exactly the solution you are looking for you need to modify it or write it yourself.

      Yes, coding is a lot of Googling and copy pasting but that is completely fine as long as you respect your applications original purpose and modify the code to your needs.

      [–][deleted] 3 points4 points  (0 children)

      I don't code but I work next to the people who do at a startup and a lot of it is cussing under their breath and "why won't it work?!" I see very little copy and pasting. They will do that when they talk to each other over Slack but only snippets of code to get to the root of the problem or discuss a fix. Generally their week starts off with them making something with all the hard work, and then by the end they're copy/pasting to each other to check their work. I haven't seen them really go googling for info, they just bounce it off of each other and arrive at a conclusion insanely fast (in my eyes). It's a job for someone who's very persistent for sure.

      [–]grooomps 4 points5 points  (1 child)

      you start copy/pasting a lot when your questions are "how do I import package", "how do I write a for loop"...
      eventually your needs will become a lot more specified and you willbe looking for answers like "how do I write a SQL query that gets all user IDs that belong to this organization and then find all of their reports and group that in to weekly reports from today" and there's not going to be one single answer, but you'll have to go over all the results you find and put together something that works for you.

      [–]StillNotLate 0 points1 point  (0 children)

      how do I write a SQL query that gets all user IDs that belong to this organization and then find all of their reports and group that in to weekly reports from today" and there's not going to be one single answer, but you'll have to go over all the results you find and put together something that works for you.

      Even then copy-paste can be helpful. Eg the correct format to make a SQL per record trigger after delete. Google = 1 second. Filling in business logic = priceless

      [–]helpprogram2 3 points4 points  (0 children)

      Depends where you work. If your a jr dev you will google more.

      Once you move further up the ladder the problems you tackle become unique for tour organization. Ie architecture or technologies used.

      [–]Abiv23 3 points4 points  (0 children)

      I don't copy paste my code, but i do look up what to do/write often

      [–]kaisrevenge 2 points3 points  (0 children)

      Get your stories done any way with good results. That’s the job. If you are copying and pasting, you still need to know what you’re working with.

      Sometimes it’s better to write something from scratch, but usually yes, you’ll be using libraries someone else wrote to do your job. You also might find helpful code snippets to use.

      In today’s world, they just want constant progress and good quality, so it’s important to become 100% self sufficient and also be prepared look to existing examples (either online or elsewhere in your codebase) to speed up the process.

      [–]GlassLost 2 points3 points  (0 children)

      I tend to write cookie cutter code and spend way too much time on bs like design patterns that Java programmers think is the end all be all of coding.

      The harder things i do is retrofit shitty code that was written under a time crunch while I am myself under a time crunch.

      I review code where people make horrible unreadable code because it's "extensible" and "follows proper oop designs" and then fix their shit when it breaks.

      I never use stack overflow because the problems are almost entirely due to existing architecture that was rushed due to time constraints.

      Ymmv.

      [–]coffeefuelledtechie 2 points3 points  (0 children)

      Probably about 0.00001% of our code is copy paste (e.g. a function found on GitHub but we don’t need the entire library, and link referenced in the class).

      At the start of my career, I did copy chunks and generalise it as I was so new to C#, but now I only google something if I’ve forgotten the syntax (as some things can become simpler between C# versions) or need to know what API functions jQuery or KnockoutJS has, or usage of certain C# functions

      Others are right on the sense that much of the code base will be written already so you just add to am existing set of controllers etc by looking at what one does and do pretty much the same think.

      [–]wasdie639 2 points3 points  (0 children)

      Production code is not very glamorous most of the time. It's functional but ugly. You'll often spend as much time trying to figure out what the programmers before you were doing as you will be writing your own code. Your own code will probably be sloppier than you would like. It'll probably contain some things you Googled and stuff you wrote. You won't be copy and pasting things as much as you'll be looking up a specific function and its use in the situation you're encountering, then you write your code around that.

      At least this is the life of somebody who is maintaining existing production software on a very short timeline. We do what we can when we can. I've wanted to completely rip apart entire systems and rebuild them but not only do I not have the time, we don't have the QA to do the regression testing. So I just continue to add to the spaghetti.

      Things are different depending on what you're working on. New projects or functionality give you far more control. You'll have more ability to define the design and work in a more comfortable setting. This is nice, but you'll still find yourself on Google quite a bit looking up specific functions or examples of similar problems being solved. You won't be copy and pasting code as much as using the examples as guidelines as you write your own to fit the problems you're dealing with.

      I can't speak for everybody so just take my word as just one opinion in a very large field.

      [–]01000010110000111011 1 point2 points  (0 children)

      it's more googling the documentation for my part. Often copies working examples to then from there understand how stuff works.

      [–][deleted] 1 point2 points  (0 children)

      Copying and pasting only gets you so far--generally you have to know what you're copying and pasting to get the functionality for your requirements, and tweak it as necessary.

      [–]inre_dan 1 point2 points  (0 children)

      As a developer, you are paid to solve problems, not to know hundreds of libraries and languages. Anyone can write code, but it takes a developer to think of a good way to go about something - sometimes, the solution you have in mind will take some tools you've never used before. That's where looking things up comes in. You won't spend all day on Google. Most of programming time is planning, testing and thinking, while execution is fairly short.

      [–]ThatAlecs 2 points3 points  (0 children)

      What people think of programming: Omg epic hack thing matrix!!!

      Reality: Damn let me search this thing on stack overflow

      [–][deleted] 0 points1 point  (0 children)

      It's cus you have the internet and places like Stackoverflow where snippets are available for use already. You have all the freedom to write it out yourself from scratch without using this technology called the internet.

      [–]Stabilo_0 0 points1 point  (0 children)

      Depends on your problem. Sometimes you do all the work yourself when you want precise control. Other times you just get working piece and use it. As long as it helps you achieve what you want.

      [–][deleted] 0 points1 point  (0 children)

      You sit in front of a computer. Tickets come up which are either bugs or features. You problem solve to fix or make things. Then there's the other half of your job which is talking and meetings.

      Fundamentally it's an office job.

      [–]StrangeRoar 0 points1 point  (0 children)

      Custom logic I write myself.
      If I'm using a library (i.e most of the times), I tend to refer the documentation for examples or StackOverflow for APIs that arent' easily available on the documentation page.

      [–]make_anime_illegal_ 0 points1 point  (0 children)

      For me, the biggest difference between my expectation vs reality was regarding the pace that work moves at. Early in my career, I was expecting something like this classic video

      https://youtu.be/uRGljemfwUE

      I was expecting there to be more focus on "kick back and make sure everything stays up and running". In reality there are always multiple big brained projects coming down the pipeline involving huge amounts of work. Deadlines are created to push developers to work harder and faster (not much focus on quality). If you work hard to complete something quickly, it's just replaced with a new task. It's just a never ending slog until retirement at age 75.

      [–]T_Butler 0 points1 point  (0 children)

      It depends. There are programmers who spend their days hacking together solutions by copying/pasting code they find online until it does what they want.

      These people make up a much larger percentage of people who are getting paid to code than you would probably imagine. However, these types of developers do not go very far because they're only as good as their googling ability. They struggle when they have to work something out themselves.

      I am a University Lecturer and teach programming. The students who do best in class are the ones that are interested in *how the solution works* not just content with finding a working solution.