[HN Gopher] We will never have enough software developers (2020)
___________________________________________________________________
We will never have enough software developers (2020)
Author : mooreds
Score : 284 points
Date : 2022-06-13 13:02 UTC (1 days ago)
(HTM) web link (whoisnnamdi.com)
(TXT) w3m dump (whoisnnamdi.com)
| fredgrott wrote:
| a more accurate state:
|
| We Will Never Have Enough Teachers
|
| Backend Devs have to teach themselves as the techniques and
| languages and tools dramatically change over time.
|
| Front end Devs have it twice as hard as we have to teach
| ourselves while at the same time use design to teach the app end
| user.
|
| We are in one of the professions where teaching is the core of
| the profession.
| ttymck wrote:
| > perennial labor shortages unless the pace of change slows
| sufficiently
|
| This frames it as a one-way cause and effect ("unless"). I wonder
| if the "dropout of fast learners" that _causes_ the labor
| shortage will in turn _cause_ the pace of change to slow!
|
| I think it follows that an industry full of slow learners might
| have a lower propensity for introducing change (i.e. developing
| new frameworks) and adopting change (choosing a new framework
| over one I'm already comfortable with).
| mattgreenrocks wrote:
| > The highest ability, fastest learners disproportionately leave
| the field over time. They have a multitude of other ways to
| profitably leverage their intellect and skills. Software
| development carries serious opportunity cost.
|
| Curious where some HN users have gone when they left software
| dev, especially if it is something other than management of some
| type.
| blobbers wrote:
| I think it's time to start separating what is a software
| developer.
|
| Is a software developer someone willing to learn new languages
| and uses software to solve problems? Or is a software developer
| someone who knows latest.js and writes front end code or someone
| who writes C code to makes the LEDs on the machine blink.
|
| There are two opposing hiring methods: * hire for positional
| skills * hire people not positions.
|
| At a smaller scale, maybe you need to to just be a flexible
| person who can do anything. But how many start ups are going to
| hire a 35 year old C programmer to do js front end, or type
| coffee script? Yes that's 35 year old may have learned a lot of
| lessons along the way, but at their stage in life they're also
| going to likely cost you more and in all likelihood have more
| responsibilities outside of work.
|
| Myself, I'm a generalist. I have programmed all levels of the
| stack. Consequently though, I can't claim deep mastery of many
| specific areas that a lot of "skill" positions require. On the
| hire "people" not positions, perhaps I can fulfill those roles
| but in doing so, as I become more senior I leave a lot of my
| skills sitting in the toolbelt to do a narrow software task (at a
| mega corp) and my lifestyle isn't well suited for the grind of
| startups (many many hours). Sometimes feels a bit of a catch-22
| stewx wrote:
| > Is a software developer someone willing to learn new
| languages and uses software to solve problems? Or is a software
| developer someone who knows latest.js and writes front end code
| or someone who writes C code to makes the LEDs on the machine
| blink.
|
| Yes. A software developer is someone who develops software.
| pojzon wrote:
| Brother is teaching at the University among other things and from
| the stories he sometimes tells me:
|
| I do not worry about agism or work at all.
|
| Lets just say that when we were studing, most ppl were not the
| brightest tool in the shed. Now its supposedly many many times
| worse.
| rootusrootus wrote:
| Agreed. I hire interns every year, and I am continually
| astounded at just how incompetent so many people are who are
| months away from finishing a master's in computer science. On
| paper, I wouldn't expect a shortage of software developers. But
| as a practical matter, more than half of everyone I talk to who
| is about to finish their CS degree is very clearly not going to
| last long in this field. Not just because they are incompetent,
| but because software so clearly doesn't interest them. Right
| now they think the salary will be enough to keep them happy.
| Think again.
| InefficientRed wrote:
| _> so many people are who are months away from finishing a
| master 's in computer science_
|
| Because by hiring masters degree interns you're not exactly
| scraping the cream off the top...
|
| Masters degrees in Computer Science -- unless used as an
| immigration thing -- make no sense.
|
| The make no sense for the research route -- in CS in the USA,
| you go straight to a (zero tuition + living wage stipend) PhD
| from undergraduate. No reason to pay for a master's degree.
|
| The make no sense for the SWE route either.
|
| Masters students are mostly in it for either a domestic
| degree or because they couldn't find a (good enough) job out
| of undergraduate.
|
| Most departments know this and treat their MS program as a
| total cash cow.
| Beltalowda wrote:
| I've always considered Computer Science to be a distinct
| field from programming (or "Computer engineering", if you
| will). I mean, a brilliant particle physicist does not
| necessarily make a good engineer, an astronomer doesn't
| necessarily good telescopes, and a cancer researcher doesn't
| necessarily make for a good GP.
|
| Not that these people automatically lack the ability to do
| these things well - some do, some don't - it's just that
| they're different fields with different training, mindsets,
| interests, etc.
| AnimalMuppet wrote:
| I would call it "software engineering" personally, but
| "computer engineering" is adequate, and it has a nice
| parallel to "computer science". But yes, I think they're
| distinct, as distinct as chemical engineering is from
| chemistry.
|
| In chemistry, they worry about the properties of individual
| atoms, and how those atoms combine to form molecules, and
| how much energy that takes or gives off, and where the
| electrons distribute themselves in the molecule, and how
| that affects the properties of the molecule. In chemical
| engineering, they worry about how to efficiently make this
| stuff in multi-ton quantities without blowing up the city,
| and cost of raw materials, and disposal of waste products,
| and things like pipe bursting strength. Yeah, they'd better
| know some chemistry, but they need to know a lot more than
| that.
|
| In the same way, computer engineering or software
| engineering is about _the efficient construction of larger-
| scale programs that adequately meet the need they are
| written to address_. Let me unpack parts of that
| definition.
|
| "Efficient": Well, that's actually a bit of a lie. What I
| should have said is "somewhat less inefficient", but my
| description was already long enough. But large scale
| software construction is inefficient, and the larger it is,
| the more inefficient it is. The fundamental reason is that
| brain-to-brain transfer of information is lossy. The bigger
| the program, the more brain-to-brain transfers involved.
|
| "Larger scale": There's something called the "rule of 10",
| that says that for every factor of 10 larger the program
| gets, a new set of problems comes to predominate. You still
| have at least 10 times as many of the old problems, but you
| also come to have new problems. On truly large programs,
| the biggest problems may be transfer of knowledge between
| generations of workers.
|
| "Adequately meet the need": I didn't say "bug-free". Larger
| programs have bugs. They have _databases_ just to keep
| track of the bugs, and steps to reproduce them, and to
| decide which ones to bother fixing, and to figure out _who_
| (or at least which team) should fix them.
|
| I'm not sure that many CS degrees to much at all to prepare
| people for any of this. But I suspect that 90% or more of
| people with a CS degree are going to wind up working as
| computer/software engineers rather than as computer
| scientists, and so I suspect that there's a mismatch
| between education and career here.
| knidoyl wrote:
| Where are you from, if you don't mind sharing? I believe it
| depends on the education system. From my point of view in
| France new grad need 1 to 2 years to be "work ready". They
| just have to learn how work life is working.
| tome wrote:
| Do you mean students are less intelligent these days?
| bombcar wrote:
| I suspect it's a result of the bucket being wider and larger
| - many _many_ people have latched onto the idea that
| "software" is the way to make lots of money, so people are
| signing up to learn it.
|
| In the past CS (if there even _was_ a CS degree /course
| offered) would me mainly populated by "the nerds" who were
| really into it, money be damned.
|
| Arguably this could be why the educational requirements
| around other well-known lucrative positions became so
| difficult.
| papito wrote:
| There should really be a surplus of software developers. Most
| companies are solving problems they don't have, employing a team
| of 10x more developers than they need - because of course
| microservices, Kafka, Kubernetes, you name it - cargo culting the
| shit out of it.
|
| https://www.youtube.com/watch?v=y8OnoxKotPQ
| dt3ft wrote:
| That video is story of my life. Microservices to the brim!!!
| jleyank wrote:
| Be careful this isn't an an excuse for ageism. Skills like
| problem solving, debugging,, planning, ... these are invariants
| and always useful. The language or tool that is used will change,
| but the underlying process remains the same.
|
| Medical and scientific fields have continuous learning via
| papers, conferences, even courses that update peoples skills.
| Also, there's new ideas and methods coming in with new people who
| then get involved in the skill exchange once hired (latest
| synthesis ideas vs. Picking up medchem).
|
| And it seems to be panic buying and selling in this field -
| inhaling anything with a pulse 5-7 weeks ago and now trying to
| lay off half the staff today or next week. Same problems, same
| market issues.
|
| And if the damned SWE's we're valuable they'd give them proper
| working conditions. As somebody wrote, lawyers don't do jira
| tickets.
| adriand wrote:
| I feel like the need to continuously learn new things is a
| feature of the profession, not a bug. It is certainly a difficult
| challenge, but I've always felt that the most important trait in
| a software developer is an eagerness to learn new things.
|
| I think the overall premise of the article makes sense, but where
| I differ from the writer is in how I view the need for constant
| learning and self-development. The author writes,
|
| > Like a fast, expensive car that quickly loses value as it's
| driven around town, the skills and human capital of software
| engineers fall apart without constant, expensive maintenance.
|
| What the author is talking about, however, is not a material
| object with transient importance to one's life (i.e. a vehicle),
| it is _your mind_. Learning new things doesn 't just mean you
| retain your relevance as a software developer, it also helps
| stave off cognitive decline. It keeps you sharp, relevant,
| mentally agile. That may not be the case in every job, but the
| field as a whole certainly has that attribute.
| wes-k wrote:
| > the opportunity cost of working in a rapidly-changing field
| is highest for the best learners
|
| It's not that learning is an unattractive aspect (I agree, it's
| a great feature!). Instead it's that it levels the playing
| field between those entering the profession and those that have
| been in it for many years. Yes, you still have "experience" as
| an advantage, but you can't say you've worked with LATEST_TECH
| for many more years than someone coming out of college.
|
| Contrast that with other professions, like law, or medicine.
| Where it's not just "experience" working in your favor. But
| actual knowledge of the existing laws and medical practices.
| q-big wrote:
| > Contrast that with other professions, like law, or
| medicine. Where it's not just "experience" working in your
| favor. But actual knowledge of the existing laws and medical
| practices.
|
| In my experience knowledge _decreases_ very fast if you work
| in a programming job (exception: if you use an insane amount
| of your free time to avoid this decrease).
| pantulis wrote:
| > I feel like the need to continuously learn new things is a
| feature of the profession, not a bug.
|
| The bug is in our brains. After two decades, you are not the
| fast learner you were, especially after you manage to fill your
| clothes with keys traded for responsibilities.
|
| Realizing that is a source of mid-life crisis. Trust me, I've
| been there.
| Beltalowda wrote:
| Also: you're learning the same thing you already learned
| several times before, except slightly different this time.
| Things are no longer as exciting as when you learned it the
| first time, and especially if $new_thing isn't a fundamental
| improvement over $old_thing, or even worse (in your view,
| whether that view is correct is another matter) it just
| becomes a slog.
|
| I found that excitement/motivation is pretty important in
| actually learning new things. I'm close to 40 now and don't
| find it's harder to pick up new things _when I 'm motivated_.
| If anything, I find it _easier_ as I have a broader
| background knowledge and spend my time more effectively - I
| didn 't believe my teachers when they told me that taking
| notes helps you remember stuff but they were right and I was
| a stubborn idiot. All of that offsets the undoubtedly
| decreased ability of my brain compared to when I was 21. It's
| just that I've done a lot of things before and find it hard
| to motivate myself for "$new_thing that's fundamentally just
| like $old_thing building $new_app that's not really any
| different from $old_app".
| ctvo wrote:
| > Programming-related jobs have high rates of skill turnover.
| Over time, the types of skills required by companies hiring
| software developers change more rapidly than any other
| profession.
|
| There's a reason I still strongly prefer candidates with a
| computer science degree to someone with 9 months at a bootcamp
| for some roles. New tools, frameworks, programming languages, and
| libraries constantly enter this industry. I believe knowing the
| _fundamentals_ and having a deep understanding of how computers
| work allows you to more quickly pick up new things.
|
| I understand there are curious graduates that come out of
| bootcamp programs who will dive deep and fill in the gaps and
| there are universities with subpar computer science departments.
| I still prefer the latter in general cases.
| galaxyLogic wrote:
| I started programming in "high-level languages" like Pascal,
| Lisp, Smalltalk and Prolog. I then had to do a project in C. It
| felt clumsy at first. But then I got it, the pointer arithmetic,
| and I felt empowered by it. I felt "closer to the machine". The
| machine felt more like friend. I felt "C doesn't lie" because its
| computational model corresponds so closely to the hardware. Just
| saying most any language can be fun.
| jrm4 wrote:
| We have far too many.
|
| The industry should better evolve to empower _everyone_ to
| "code" tools for themselves.
| weatherlite wrote:
| I think the problem of ageism wasn't mentioned at all and it
| should be. People who love the field have no problems keeping up
| to date. Sure some job posts will mention Hadoop or Kafka but
| whatever, a good dev will have no problem learning these in a few
| days. Does he get a chance though if he's 50?
| rainboOow9 wrote:
| Ironic thing here is that Hadoop is mostly already outdated.
|
| Which is btw one of the depressing thing for a lot of data
| engineers: we used to play with those cool distributed
| processing frameworks, and now? We are mostly writing some
| terraform to deploy cloud resources, most of the distributed
| part being handled by those cloud providers.
| whimsicalism wrote:
| The Hadoop ecosystem is still very much ongoing. You must
| work in small tech/startups if you think that these are being
| replaced by managed services.
| weatherlite wrote:
| > Which is btw one of the depressing thing for a lot of data
| engineers: we used to play with those cool distributed
| processing frameworks, and now? We are mostly writing some
| terraform to deploy cloud resources, most of the distributed
| part being handled by those cloud providers.
|
| Sounds to me like switching one provider/tool by another - or
| are data engineers feeling bummed because the job has become
| too trivial / less fun?
| mikkergp wrote:
| I'm not disputing the fact that there is ageism, as I'm sure
| there are thousands of examples of it, but there's so much
| demand and so many different companies. I've worked with plenty
| of over-50's. Maybe there's a sweet spot for growing companies
| where you need the experience, which has been where I've
| worked. Small companies don't need structure, and maybe want
| cheap employees. Large companies put all that structure in
| management and a few super senior folks. (though I saw plenty
| of over 50s in my large company experiences) Medium growing
| companies need experience. I dunno, just guessing since certain
| companies I've worked for seem to have a higher concentration
| of older folks.
|
| Here, this rando website says that 46% of software engineers
| are 40+
|
| https://www.zippia.com/software-engineer-jobs/demographics/
|
| Now I'm curious, this stack overflow survey paints a grimmer
| picture:
|
| https://insights.stackoverflow.com/survey/2018
|
| That's a survey though, I'm curious what biases are going to
| exist in the data. We might assume that older software
| developers move around less? May be less likely to respond to
| surveys? May be less likely to visit stack overflow, especially
| if they do less hands on coding?
| [deleted]
| weatherlite wrote:
| I'm with you, I don't know the answer this is definitely
| complex. It could be a combination of things - a) burnout due
| to ever changing tech b) ageism c) highly paid devs choosing
| to retire / switch professions early simply because they can
| financially
|
| 40 is definitely not that old anymore for tech I think. Well
| I'm 38 I'll find out soon.
| nerdygame wrote:
| cleandreams wrote:
| I retired a bit early and I have found it immensely rewarding to
| take classes in various hard technical subjects. Some of these
| are directly applicable to jobs I could do, or have done. I think
| tech employers should be more supportive of life long learning. I
| get dinged by recruiters constantly because my resume is great
| but I'd rather do this, TBH. I have worked in FAANG btw. Retired
| at principal level.
| phuff wrote:
| Hey! I'm trying to plan out my career a bit and I was wondering
| if I could pick your brain a bit. There's an email that can get
| to me in my profile, if you're willing to give me some advice
| :)
| itsmemattchung wrote:
| With OpenAi (and other comparable technologies) able to
| semantically understand "write fast and efficient C code for a
| prime sieve" and generate fairly impressive C code, I'm no longer
| sure I agree that we will never have enough software developers
| (after watching this, made me get just a little nervous as well
| as excited about the future of our industry):
|
| https://youtu.be/k_EF42H2ZC0?t=187
| reidjs wrote:
| How often in your career has the problem been that well
| articulated?
| Verdex wrote:
| Or for that matter, how often in your career has the problem
| been an example problem that people use to showcase basic
| examples of their programming language.
|
| Prime sieve is almost definitely in the top 10 of most
| written and published programs ever.
|
| Interestingly enough at the end of the video he asks the AI
| to write some code that makes money. And it responds with
| "maybe try investing or not spending money". This is much
| more in line with the type of questions I get asked in my
| career and somehow I doubt I would still be working if I had
| answered the same way seriously.
| II2II wrote:
| My first initial reaction was: did the computer write that
| code, or is it cribbing code from Stack Overflow? While the
| latter is problematic for developers who do the same, it is not
| a problem for developers who have to write original code or
| where the code has to be verifiable. If it is problematic, it
| would also say a lot about what the industry has evolved into
| and would probably be why so many people are leaving it (even
| if AI could not take over, less experienced and less expensive
| developers could).
| ur-whale wrote:
| What OpenAI does is regurgitate stuff it's seen on the
| internet.
|
| These things are basically a glorified hashtable (with
| compression).
|
| Much like what a google query does when it leads you to a chunk
| of code in stack overflow.
|
| Luckily, there's _much_ more to what SWE does, and it 's high
| time people stop believing that AI is at the level where it can
| do the job of a SWE, it's ridiculous.
|
| Or to put it in a way that's perhaps more clear: Go ask OpenAI
| to rewrite to GUI of FreeCAD to be usable, see what it comes up
| with.
| bambax wrote:
| I'm very curious about how this "AI writing code" thing is
| going to turn out.
|
| I have not tested AI myself for producing code, but I toy a
| little (ok, more than a little) with various GPT instances to
| write prose. Sometimes it's great, sometimes it's poor, but:
|
| 1/ It never gets anywhere: there is never any resolution
|
| 2/ Sometimes it just loops, takes up a clue from itself and
| produces the same set of words indefinitely.
|
| What I do is generate, survey, and then edit. It's a great tool
| to get new ideas. But how could this work for code that's
| supposed to accomplish something?
|
| Code is famously much harder to read than to write; that's why
| people always prefer rewriting than refactoring. With code-
| generating AI, all that's left for humans to do is the reading,
| understanding, and monitoring parts.
|
| It's a difficult job, and if done by incompetent youngsters, I
| think pretty dangerous too.
| Gigachad wrote:
| The problem space will just shift and the market will demand
| much more and much better software.
| grumple wrote:
| This is a super trivial example of a very simple algorithm that
| doesn't have to interact with any other systems. It's almost
| certainly copied directly from the training data as well, which
| is fine for an educational toy example, but generally a
| violation of copyright.
|
| I've been quite happy with Github Copilot but it is not
| remotely useful to a non-programmer.
| 988747 wrote:
| I read an article some time ago with the reasoning that went like
| this:
|
| "The goal of software development is to automate things. So, in
| principle, with time there should be less demand for software
| development skills because most of the hard work has already been
| done, and we have better, more high level tools. The only reason
| we see demand for software developers growing is because we let
| the bad developers in :) Bad developer can easily generate 2 FTEs
| per year, by introducing subtle bugs in code that someone has to
| find and fix. "
|
| Anyone here has the actual source ?
| cs137 wrote:
| You're assuming that management actually cares about fixing
| bugs.
| quickthrower2 wrote:
| Most work going on is feature work in my experience. Not bug
| fixes.
| victorNicollet wrote:
| A new feature will take longer to implement on top of a badly
| designed or misbehaving dependency.
| Asooka wrote:
| Where do you work and are you hiring?
| whimsicalism wrote:
| There's a much more obvious resolution to this problem that
| applies to the economy writ large.
| Vinnl wrote:
| If you believe in the Jevons paradox [1], you can explain it
| without reaching for "bad developers".
|
| [1] https://en.wikipedia.org/wiki/Jevons_paradox
| dang wrote:
| Discussed (a bit) at the time:
|
| _We Will Never Have Enough Software Developers_ -
| https://news.ycombinator.com/item?id=24910949 - Oct 2020 (10
| comments)
| goldenshale wrote:
| I think this article hits on some truths and gets a handful of
| things wrong. First, they are correct that we are in a dynamic
| profession that requires constant learning and expanding. No
| doubt the people who choose to stay in software are likely to be
| people who are curious, life-long learners where this is a
| benefit of the profession rather than a drawback. That said, one
| thing I noticed from teaching computer science while a graduate
| student is that the poor students think about languages and
| libraries as key skills, while the better students think about
| the data structures, algorithms, and design principles. These
| slightly more meta-level concepts are far more stable and
| timeless, while the underlying implementations of them are
| constantly evolving. If you think of each new library as "having
| to learn a new skill" I can imagine burnout and overload are more
| likely, but if you figure once you know 3D graphics you can
| pretty easily pickup any new graphics engine, then it might even
| seem fun to explore different takes on the same old concepts.
| It's like hearing a new band in your favorite genre.
|
| As for attributing burnout as the core issue here, I would
| strongly disagree with this idea. When teaching undergrads I
| noticed immediately that a good portion of each student cohort
| was basically there because they were interested in making money
| in the future rather than exploring the ideas of computer
| science. They were no doubt going to get frustrated or bored and
| move into management or some other profession rather than
| continue to expand as an engineer. This is totally fine, and they
| are probably richer for having learned what they did, but I don't
| know why we can't just see this and appreciate it for what it is
| rather than portraying it as the drama of burnout.
| paxys wrote:
| It's a mix of both. You need to have solid fundamentals _and_
| need to keep learning new ways to apply those fundamentals in
| the real world. There is absolutely effort involved in learning
| a new language, library, framework, platform no matter how good
| you otherwise are.
| kerblang wrote:
| Not to be rude, but did you finish reading the article? The
| whole point was that high-aptitude learners _give up_. In fact
| I don 't agree that re-learning the same tasks over and over
| with the zillionth framework iteration is a rewarding learning
| experience. It makes perfect sense to change careers instead.
|
| And as music goes, you sound like the record companies that
| thought everyone should listen to disco for the next 50
| years...
| [deleted]
| DantesKite wrote:
| > No doubt the people who choose to stay in software are likely
| to be people who are curious, life-long learners
|
| The article showed the opposite effect though. Curious, life-
| long learners stop working in software development because they
| have to constantly learn new skills and believe they can get
| more bang for their buck when they can invest in skills that
| don't lose their value over time.
| SoftTalker wrote:
| Yes, this is how I feel. I have no problem learning a new
| skill. I get discouraged when I learn a new skill and just
| when I start to get really comfortable and productive with
| it, it's suddenly "legacy" and some new thing is popular.
|
| The only skills that have really stood the test of time for
| me are C, PHP, unix shell stuff, and SQL.
| Kranar wrote:
| It's interesting because at least in terms of working
| professionals, of the most productive professions I've worked
| with, the ones who focus on "meta-level" concepts are usually
| the ones who overthink every detail and get very little work
| done and ultimately they are the ones who burn out.
|
| They tend to bike-shed details, take way too long to try to
| create sophisticated abstractions that never quite achieve the
| silver bullet they originally thought it would, and spend too
| much time dwelling on irrelevant details that ultimately leads
| no where and results in a kind of paralysis that can be very
| hard to break out from.
|
| The ones who master a specific language or master a specific
| library/technology that focuses on doing a few things very well
| and in very concrete terms are able to deliver the most
| business value. Furthermore they absolutely have the ability to
| take their mastery of that and map it to new languages or new
| libraries. I mean I'm not talking about going from Java to
| Haskell or Haskell to Idris, but rather people who master C++
| can fairly easily pick up Java or Python or TypeScript. People
| who have mastered Unity can easily pick up Unreal Engine.
| People who have mastered web development can easily pick up
| mobile development.
|
| The idea that people who have a solid mastery of a technology
| and a programming language are somehow just stuck and unable to
| take those skills and apply them to other areas I think is
| overstated and just untrue, but those who treat software
| engineering as highly theoretical and focus on abstractions,
| design principles and get caught up on these high level details
| tend to not get much done and when they realize that software
| is not as clean and elegant as they would like it to be, they
| get burned out and give up.
|
| I think going over any substantial codebase for products that
| are widely used and deliver solid business value on Github
| where most code is not at all reflective of the ideals often
| espoused on blog posts validates my point of view.
|
| In short, people who treat software as just a tool to
| accomplish a concrete task are more productive than those who
| write software for the sake of writing software. They don't
| write the cleanest code, or the most elegant data structures
| and algorithms, but they produce the greatest amount of
| tangible business value.
| ozim wrote:
| I think no one was writing about ones who master specific
| language.
|
| There is a lot of people who learn just a surface without
| going deep into tool and think they know enough.
|
| For me it seems that someone who would really go deep into
| learning language would get most of theoretical stuff on the
| way. Because there is no way to really master C++ or really
| master Java without learning about data structures and all
| kinds of "meta-level" concepts.
|
| Maybe the difference is mostly approach to learning more
| practical/more theoretical.
| athrowaway3z wrote:
| If your comment does anything for me its to show how terribly
| few words we have to discuss these things.
|
| > "meta-level" concepts
|
| I'd say having a strong grasp of what you can achieve with
| just using files and folder, or understanding how SQL solves
| en entire problem space are meta level concepts. Its just
| that we take them for granted.
|
| > business value
|
| Is apparently something different than 'value', but still
| includes every software ever that was valuable to a business?
|
| > high level details
|
| ...?
|
| > software engineering
|
| Building constraint solver for a compiler or ensuring a JS
| animation centers a div?
|
| > highly theoretical and focus on abstractions, design
| principles
|
| I'd recognize all these things. But out of context 'in the
| general case' they become meaningless.
|
| ---
|
| I understand the picture you are trying to paint, but i don't
| think it tells anything beyond "I've noticed people make
| things overly complex". I agree.
|
| However, keep in mind the 'get things done and provides
| value' software you've seen: is the software 'that survived',
| might have been set up by a very experienced person ( whose
| failures we're not seeing ), nobody might recognize it as
| being not-simple ( e.g. I've seen high value business
| software partial recreate 'regex'. Worked great,
| straightforward and easy to read function, just ~50 lines or
| so, could have been a single function call. ), how the
| requirements are presented is hugely important.
| yodsanklai wrote:
| > When teaching undergrads I noticed immediately that a good
| portion of each student cohort was basically there because they
| were interested in making money in the future rather than
| exploring the ideas of computer science.
|
| In my school, those who wanted to make money went straight to
| management or finance. Computer science was for the passionate
| ones and probably not the right path to make money for the
| brightest students.
| alephxyz wrote:
| It's hard to blame students when they look at job postings and
| all that they see advertised is positions for programmers using
| languages X, Y and Z, or when they see tweets and blog posts by
| hotshot programmers about frameworks A and B.
|
| The entire industry focuses way too much on 'experience with
| tool X' as a proxy for 'technical skill Y'. It's a bit like
| asking a carpenter how many years of experience they have with
| DeWalt cordless nail guns rather than ask about their house
| framing skills.
| auganov wrote:
| > It's a bit like asking a carpenter how many years of
| experience they have with DeWalt cordless nail guns rather
| than ask about their house framing skills.
|
| This kind of logic only works for tech organizations that
| already have enough in-house domain expertise to onboard new
| programmers. The other day somebody asked me how to find a
| programmer to implement something for them. From a
| programming standpoint there was very little to do, but it
| involved many obscure technologies that you couldn't pickup
| in a day (and no you can't pick different technologies). For
| a person who's already done something similar it'd be a quick
| and easy job, shouldn't cost too much. With a generic
| programmer it'd take much longer, cost much more and you
| couldn't be sure they'd actually deliver.
| ozim wrote:
| Finding someone "experienced with specific tool set" is
| also not a trivial problem.
|
| It is even harder if you don't even know how to verify that
| person really is experienced with specific tool set.
|
| So it goes like "pick your poison", hire generic dev and
| account for learning curve or spend money on recruiting
| fees/time for finding an expert. Where I would not be so
| quick to say "expert shouldn't cost too much" - because I
| can imagine expert taking less time but costing orders of
| magnitude more than generic dev.
| treeman79 wrote:
| Closer to hiring an electrician certified in Australia to
| work in the US as a carpenter.
|
| Give them six+ months to train up and I'm sure they'll do
| fine.
| BlargMcLarg wrote:
| Worse, industry is routinely bashing on CS degrees because
| they don't turn people into framework X-ready candidates.
| It's getting a little tiring just how little credit is given
| to the idea of "maybe these tools can be learned in a
| reasonable amount of time by people with a degree showing
| they can pick things up rather quickly".
| 908B64B197 wrote:
| > industry is routinely bashing on CS degrees because they
| don't turn people into framework X-ready candidates.
|
| To me that's noise and not much else.
|
| Something I don't think a lot of folks realize is that
| there's two parallel industries (and pipelines to jobs in
| the industry). They almost never overlap.
|
| One in which recruiting is largely done by non-technical
| folks who match keywords of frameworks, and where rote and
| learning whatever library is seen as the objective
| (bootcamps come to mind).
|
| The other one where CS fundamentals are seen as the
| priority, and where hiring focusses on finding people who
| posses the skill of acquiring new knowledge.
|
| You can guess in which one Google and FAANG or whatever the
| acronym is now and Stanford/MIT exists.
| Bahamut wrote:
| I work at a non-Google FAANG - from what I've seen in my
| org, "CS fundamentals" (which I assume is some proxy
| statement of sorts for leetcode-style interviews with
| emphasis on data structure/algo questions & knowledge)
| isn't as important for the work or to get hired for us.
| Our view is hard technical skills can be taught/picked up
| on the jobs, but behavioral aspects are not so easy to
| develop.
|
| We routinely have & hire interns from top programs and
| many lesser known ones, or even non-CS degree holders.
| xwolfi wrote:
| Yes but I interview for a role where we dont have set
| languages: we're a small optimisation team working across
| system when they reach capacity bottleneck and we do JS,
| C#, Java, C++, PL/SQL fixes completely transparently, we've
| slowly learned that languages really dont matter all that
| much for performance tuning as much as programmers
| mishandling which are identical in all of them (hash map
| loops, abusive recursion, over abstraction leading to
| extreme indirection, serialization laziness producing giant
| message transfers, database transaction mismanagement, zero
| profiling skills, and the main one: please stop frigging
| saying it's the garbage collector and look at your crap for
| real lol).
|
| When we recruit we ask "if we tell you no more Spring and
| we'll work on any language as long as there's a problem to
| solve, how do you feel". Most either say they d feel
| horribly sad, or dont even comprehend how it's possible.
| Some are indifferent because they need the job. Still
| looking for the guy that says "anything can be learned in a
| reasonable amount of time" so it s not that obvious I
| suppose :(
| olvy0 wrote:
| This sounds like my dream job, actually.
|
| It's what I do at work for fun, in between my "real"
| development / support tasks. I profile and optimize our
| internal application, its loading time, user
| interactions, etc.
|
| Sometimes when it's a long term I make a proof of concept
| and ask for permissions later, so for a while
| optimization becomes my actual job. Just finished a
| couple of months of performance tuning, actually, which I
| did in parallel to other tasks.
|
| TBH there are plenty of easy, low hanging fruits since
| the team who wrote it wouldn't recognize a performant
| code if it smacked them in the face. Or they concentrated
| on very minor optimizations in rarely executed parts of
| the code and tended to bikeshed them for hours instead of
| actually checking what the real problems were.
|
| I actually almost never use an actual profiler when
| starting, I just run under the debugger and pause the
| application at random instances when it appears to be
| stuck.
|
| In almost all cases I find it's executing some
| unnecessary batch of queries, or reading from a table
| using an unindexed column, or redrawing parts of the
| screen which shouldn't be updated, or throwing and
| catching exceptions that were used instead of if
| statements, or blocked when it could run in parallel to
| some other computation, or doing some other unnecessary
| O(n^2) loops instead of using a hash table. A combination
| of such improvements will sometimes gain up to 20%-40%
| speed or even more.
|
| When I'm done with these simple cases I start using a
| profiler for the that extra optimizations for those extra
| percentages.
| filoleg wrote:
| Agreed about the dream job, that's pretty much what i
| explicitly answer every time i am asked about my
| preferences in terms of stack/tech to recruiters and
| engineers i interviewed with. I lucked-in into such a
| situation at least once, and I can confirm that I still
| enjoy it.
|
| I can definitely see why some people might hate that
| situation, because it feels like nothing is working and
| you dont know anything at first. But if you aren't
| demoralized by that, and instead find joy in
| learning/figuring out all those new things on a regular
| basis, it all feels extremely rewarding. Like, why would
| I dislike being paid to essentially learn a bunch of new
| stuff regularly and solve actual real world impact
| problems using that new knowledge.
| Retric wrote:
| I think both sides of the argument have reasonable
| points. There are advantages to having deep experience
| with a tool, but I have also solved bugs in languages I
| didn't know.
|
| What I think is missing is there are serious diminishing
| returns with more experience in a specific language or
| framework. 10 years of experience split 3 in Java and 7
| in C# is very similar to 7 in Java and 3 in C#.
| lakomen wrote:
| Anything _can_ be learned, but not necessarily in a
| reasonable amount of time. Some things are easier to pick
| up, some are just impossible. Example, I was doing PHP
| for 11 years then jumped to Go 9 years ago (wow it has
| already been 9 years), Go was good for me because it
| lifted a lot of mental burden of the OOP craze and wrong
| concepts applied back then. On the downside, it didn 't
| have an ecosystem. But it was easy to pick up.
|
| k8s surfaced and I tried to learn about it, but it's just
| too complicated. After I had spent 2 weeks of intensive
| mind bashing at it, I still wasn't able to manually set
| up a 3 node initial control cluster. I gave up on it,
| never looked back.
|
| Spring boot time and again, medium difficulty picking up,
| mostly because of the exclusive Java community, if
| something like that even exists. Very arrogant bunch that
| speaks in implicit ways and assumes you just magically
| know stuff.
|
| Android is similar, always in flux, despite the many
| resources offered by Google you don't know what to pick.
| New Jetpack compose or old, ancient seeming xml layouts
| and configuration and navigation configuration. It's a
| hot mess. I tried to use AppAuth OIDC client, has a few
| questions, asked, the response was "We assume some prior
| Java and Android knowledge". Well, ok thanks for nothing.
|
| Angular, aside from rxjs, which was royal pain in the ass
| to learn, straightforward, albeit a bit overly
| complicated and typescript gets in the way more than it
| should.
|
| Jumped to Vue. Oh dear god, it's so nice and easy. None
| of the rxjs stupidity, no forced typescript and a large
| ecosystem. I can be super productive with it and create
| SPA, PWA, SSR, Electron apps, browser plugins, even
| hybrid mobile apps with it.
|
| Rust, my arch enemy. I tried to get into it, I was drawn
| by hype and the promise of more performance. But knowing
| Go, which is just good enough for the backend, and where
| things make sense, Rust doesn't make sense for me. For
| someone coming from C++ it must seem like the 2nd coming
| of Jesus, for me - the Go guy - it's an abomination. Yeah
| I get the basics, but imports don't make any sense,
| structure doesn't make any sense, erorrs don't make any
| sense. I feel like a freaking transporter always worrying
| about crates and boxes and who they belong to. Not fun at
| all. Handle with care, careful breakable. UGH.
|
| Yeah anything can be picked up but it depends on me being
| interested in what's to be picked up, the willingness of
| others to teach and the justification of why I need this
| added complexity.
|
| I write monoliths and I'm happy with that. Now all jobs
| postings require Microservices and EDA. I'm unhappy with
| that because I don't see the need for it in most cases.
| Now I have to learn expensive cloud on my own, which I
| have ZERO motivation for. I have to make everything extra
| complicated, it's hard enough as is getting a project
| done start to finish, client and server, the monolith
| way. If I'd have to go Microservices I'd never finish
| anything and even if, when launching until people
| actually use my service, 3 years later I'd be bancrupt.
| So where am I supposed to learn about this unless
| employed by those people who want Microservice EDA? But
| they won't employ me because I have no experience with
| that.
| antihero wrote:
| See I feel you have missed a lot of points, it's like
| you're pragmatic as hell are creating stuff but by the
| choices you seem to have made it seems like you have got
| quite a surface level understanding of some very well
| thought out stuff that has good reasoning behind it
| because you want to make stuff with ease regardless of
| how maintainable it is it how much tooling can help you.
| I wouldn't chalk stuff entirely up to hype.
| Jiocus wrote:
| Anything can be learned in a reasonable amount of time,
| but I already have a job. Good luck in finding your
| candidate though, sounds like a great environment to work
| in :)
| no_wizard wrote:
| my gosh this was my first real developer job back in the
| day, just like this. we were a so called "hit squad" and
| brought in to fix longstanding issues (this was a Fortune
| 100 company, where they had more internal software than
| developers to manage it, some of which was actually
| mission critical for the departments it served)
|
| I learned so much in that job, and probably would have
| kept it had they not relocated it to Santa Clara.
|
| If you can work in an environment like this for a few
| years you definitely should, that's my advice to
| everyone. You'll learn so many things that will be useful
| over the rest of your career.
| BlargMcLarg wrote:
| I hear you. I'd also ask what seniority you're asking. My
| relatively young friend group routinely scoffs at Java
| and C# shops for making a big deal out of experience in
| one language, while the two languages are slowly
| converging to be nearly identical in most places that
| matter. But I definitely see this attitude more around
| the 10+ YoE crowd.
| jimbokun wrote:
| > please stop frigging saying it's the garbage collector
| and look at your crap for real lol
|
| Because if the garbage collector is the bottleneck you
| need to fix your code to not produce so much garbage.
| shagie wrote:
| The first issue I tackled at one of the jobs I had was
| slow JSP page performance.
|
| The code had some sizable chunks of JavaScript in Strings
| and looked at each authorization the user had. Its been
| awhile, but in dynamically generating that JavaScript
| (ICK!) it generated several megabytes of garbage Strings
| by doing `script = script + "little bit more";` way too
| many times. This was done for each page load. 8am and
| hundreds of people click the page to get their start of
| day stuff... and... server has problems.
|
| That particular issue was fixed by changing it all to a
| StringBuilder.
|
| I've yet to see any sloppy garbage creating that is on
| the same order of magnitude as that JSP was.
| dmitrygr wrote:
| Must have been a long time ago. It's been almost a decade
| since that code pattern started getting compiled into
| calls to StringBuilder by javac.
| z3t4 wrote:
| If you are doing optimizations I would say you need at
| least a few years experience in the language. You often
| see people say they switched from language A to language
| B due to performance, then some guy optimizes the same
| lib/functions in language A and it gets 10x faster then
| the optimized version in language B... and people say:
| Yeh, but that guy has several years of experience. Once
| you know the layout of the minefield almost all languages
| are usable and performant.
| cornel_io wrote:
| Eh, there are a few language-specific gotchas, but if
| you're good at optimization it's really nothing too
| tricky to figure out within a few weeks. The core
| problems are the same, depending on the class of
| language: far from the metal, allocations and GC are
| almost always what kill you. Close to it, cache misses.
|
| Beyond that, it's just making sure you do less stuff, and
| being really aggressive with profiling (what looks like
| it takes the most time in the code almost certainly isn't
| what's really taking the most time).
| usrn wrote:
| TBH CS degrees don't really produce people who can code in
| general either. As far as I can tell they take people who
| already understand the basics and teach them to formally
| communicate.
| shagie wrote:
| They typically also require 1000-2000 hours (over the
| course of the entire degree) of instruction time in
| things relating to software development. Part of that is
| homework and the practice of the craft of software
| development.
|
| One of the key things that self taught developers miss is
| the instruction and review of the code. You write code
| differently if you're going to be graded or if its a
| throw away script.
|
| In theory, job code that is going to last for more than a
| run should be written closer to the rigor of the graded
| code while people who have self taught have never had
| their code reviewed in their instructional period and
| tend to (not always, but tend to) write code that
| wouldn't stand up as well to review.
|
| There are plenty of graduates who don't write code that
| stands up to review either... but there is a "you have
| spent a few hundred hours writing code and had it graded,
| and changed how you write code to get a better grade."
|
| For a person who comes into a CS degree program without
| experience at coding, and they do their homework, I tend
| to believe that they will have code that stands up better
| to review and fewer bad habits than someone who followed
| a self taught progression.
| webel0 wrote:
| As a self-taught programmer, I tend to be pretty self-
| conscious about my code quality for precisely this
| reason. As such, I've never had issues on this front.
| cupofpython wrote:
| >The entire industry focuses way too much on 'experience with
| tool X' as a proxy for 'technical skill Y'
|
| Strongly emphasizing this. This is HIGHY applicable to the
| analytics environment. As a business analyst who specialized
| in mostly ad-hoc development because it was the most value-
| add area at the companies I worked with.. I had a lot of
| trouble finding new work because I didnt use Tableau, or
| Power BI, or Looker, etc. I was some sort of fool for doing
| everything in SQL, Excel, and Python.
|
| IMO the tools are great, and you need a much lower level
| understanding of analytical concepts to get value from them.
| But for some reason people kept getting the impression I
| would somehow be less effective with them because I dont use
| them. And I had trouble correcting them with the limited
| bandwidth that exists to communicate with a single applicant
| in the hiring process. If I tried to get right to the point,
| I felt myself appearing arrogant.
|
| The carpentry analogy is very similar to how i described it.
| "I am currently using a ruler and screwdriver, and these
| tools provide lasers and power drills"
| boringg wrote:
| Once you understand how the industry churns and burns and
| doesn't really give much credence for capability as you age -
| it becomes disheartening to try and want to be an IC. Most
| people see the writing on the wall for being an older IC
| therefore they move into management or product or other roles.
| zeroonetwothree wrote:
| As I've gotten older it's harder for me to learn an entirely
| new area (like say going from web dev to mobile or ML). But
| it's actually easier to learn a new variation of something
| (like the latest JS framework) because it's usually pretty
| similar to one of the things I already know. I guess this leads
| to increasing specialisation, but it also means studies that
| merely count "new skills" will be misleading if they don't
| differentiate in which way the skills are new.
| Frost1x wrote:
| I'm the complete opposite. Hand me a new JS framework that
| does the same thing I've done a million times but have to
| learn it's opinionated abstraction set that's somehow better
| and I just turn off. I simply _do not care, at all_. You need
| to simply explain to me the improvement you 're proposing or
| it might as well be trash to me.
|
| Now give me a new theoretical concept where I can expand my
| knowledge or integrate into my knowledge map and view of the
| world and I'm excited, there aren't enough hours in the day.
| Tell me about this all new concept I wasn't familiar with--
| I'll start thinking of ways I can use it, how I can leverage
| it, or how it may connect with other ideas and concepts I
| have.
|
| Now give me a tight deadline which most business environments
| create and I agree with you, give me the boring stuff I can
| pump out, get my paycheck and go home to enjoy the rest of my
| day.
| rafaelero wrote:
| Well, that's not what the data is showing. Why are you trying
| to create a narrative that is not trying to explain what we
| observe? Smarter people leave the field earlier and the author
| offers a compelling explanation why.
| Patrol8394 wrote:
| There is no shortage of swe. What I see and what I have
| experienced first hand is that companies, especially the more
| hyped/small ones, pretend to be FAANG and gets very picky when
| interviewing. They often employ FAANG style interview.
|
| Now, if I really have to spend that much time prepping to
| interview at your unprofitable company (that most likely will go
| under) don't you think that I would try my best to work at faang
| instead ?
|
| As matter of fact, I was rejected at plenty of these small
| insignificant companies, but end up having offers as L6 at FAANG.
|
| Be humble and you will find plenty of good engineers out there.
|
| I know tons of good swe that don't want to interview/ work at
| mega FAANG, and if I was running a business I would definitely
| try to attract those talents by being different. Offering a
| "normal and reasonable" interview process along with better
| perks, flexibility and wfh.
|
| Instead, they all want to run bizzilion of micro services in k8s
| grumple wrote:
| I agree with some of what you said, mainly this:
|
| > Now, if I really have to spend that much time prepping to
| interview at your unprofitable company (that most likely will
| go under) don't you think that I would try my best to work at
| faang instead ?
|
| I feel the same way.
|
| That said, my company and many others make the interview
| process much easier but still find it difficult to hire. I know
| this is a common problem, because I get bombarded with good job
| postings by recruiters and they are usually still there months
| later when I finally get around to responding.
| rootusrootus wrote:
| I definitely think "we do not do leetcode interviews" and maybe
| "we only have three interviews total" would be selling points
| on a job posting. People who are experienced in the field don't
| want to go through the same hoops that newbies do just to prove
| they know how to write basic algorithms.
| whimsicalism wrote:
| Personally I do because I enjoy working with very smart
| people.
|
| The backlash against leetcode is the same as backlash against
| other types of tests: most people are going to fail and most
| people don't like failing, so they blame the test.
| Patrol8394 wrote:
| leetcode == smart ? oO that's new
|
| I interview many candidates at FAANG, I can easily tell the
| ones that have prep by just doing leetcode and the ones
| that knows the shit.
|
| I couldn't care less if you can solve all kinds of complex
| dynamic programming challenges.
|
| I ask coding questions that you won't find in leetcode and
| requires problem solving skill and good craft.
|
| And this is because I do like working with smart people and
| not with people good at memorizing patterns.
| whimsicalism wrote:
| I consider solving technical challenges in interview the
| "LC style" interview as compared with talking about your
| past experience or language trivia grab bag. I am not
| saying literally ask questions found on leetcode.com
|
| I think it is easier to know the shit to do LC interviews
| than somehow memorizing the question bank. I haven't seen
| many people succeed who were unskilled but managed to
| just memorize the questions.
| Patrol8394 wrote:
| so how come that I find a good chunk of swe at FAANG are
| not that smart, and barely get anything done. Plus the
| quality of their work (generally speaking) is very low
| compared to what one would expect. And this is true
| across the board, it is a recurring theme when talking
| with peers.
|
| I think LC style interview have ruined the interview
| process in the tech industry.
|
| Note: I do ask candidates to code during the interview,
| but I ask things that are related to real problem, some
| of which, I had to solve in my day-to-day.
|
| In addition, I put a lot of emphasis on how well they
| articulate their thought process, and the quality of
| their craft.
|
| Also, I would not discount `past experience talk` that
| easily. Actually I use that to drill down in their resume
| to better understand their real contribution. More often
| than not, people just lie. They are very easy to spot. At
| that point is game over. I don't care if you nailed the
| coding. If you lie and oversell yourself you are done.
|
| Another thing that I find very annoying is that very
| often interview are conducted by junior engineer, and
| they don't have imo the maturity and experience to
| properly assess candidate skills and potential. You
| either do well according to what their expected solution
| is, or you are out.
|
| Interviewing is not just a binary process coding well
| yes/not. It is a little more involved.
|
| I passed candidates that did not do well on coding, but I
| was convinced they had potential. Whereas I did not pass
| candidate that did very well on coding, but did not show
| any interest or passion at all.
| hiq wrote:
| > so how come that I find a good chunk of swe at FAANG
| are not that smart
|
| You put the bar wherever you want. A company can decide
| to set it lower than what you would expect or like, but
| it could still make business sense, e.g. if 99%+ of hires
| still perform well with this bar and the company would
| like to hire faster.
|
| This is related to:
|
| > and barely get anything done. Plus the quality of their
| work (generally speaking) is very low
|
| That's a problem of the performance review process. If
| everybody considers that someone is not delivering, that
| could be for multiple reasons, and even with a very high
| hiring bar that could still happen, so you can't rely
| solely on interviews.
|
| If you don't have a good performance review process,
| you'll end up with worse hiring because you can't measure
| the impact of your changes.
|
| > I passed candidates that did not do well on coding, but
| I was convinced they had potential. Whereas I did not
| pass candidate that did very well on coding, but did not
| show any interest or passion at all.
|
| Can you do that objectively? It's very easy to introduce
| bias if you try to evaluate whether candidates show
| passion.
| throwaway2037 wrote:
| I like this kind of answer. You are trying to be the
| leetcode alternative, which I fully support. I have
| previously written on HN about my most common interview
| programming question: "Please implement the classic C
| function atoi() in any language of your choice. Do not
| use built-in string-to-number functions." This question
| has a _lot_ of edge cases, but it is simple enough to
| program on whiteboard, paper, text editor, weird-IDE-
| that-I-never-used-before-this-interview(!). The questions
| that people ask and how they explain their solution says
| a lot about them as engineers.
| whimsicalism wrote:
| i would call that leetcode style i guess i have a broader
| interpretation than what most people have in mind. it's
| more easily memorized IMO than traditional leetcode -
| atoi and std::string class are very common questions
| nowadays.
| Aeolun wrote:
| The backlash is the same as the one against standardized
| testing methods in school. People that don't fit the mold
| of the testing method will fail regardless of how competent
| they are at their actual job.
|
| It's good you like that I suppose, but it sounds absolutely
| bonkers to me.
| whimsicalism wrote:
| > don't fit the mold of the testing method will fail
| regardless of how competent they are at their actual job.
|
| The mold being answering questions about their supposed
| area of expertise.
|
| I think people really like to claim that they are
| misunderstood geniuses who just don't fit the mold of
| being able to answer questions about the things they
| know. I have no doubt that such people exist, but I would
| not want to scrap an evaluation system simply because it
| doesn't catch every possible person, more important to me
| is keeping bad people out.
| Patrol8394 wrote:
| > keeping bad people out
|
| you seem very confident about that. In my experience
| LC/FAANG style interview don't keep bad people out.
| whimsicalism wrote:
| Do they keep all bad people out? No.
|
| But I have never encountered a company that doesn't have
| a on-the-spot technical interview (involving coding or
| math) that has had more success keeping bad engineers out
| than FAANG.
| Patrol8394 wrote:
| You can implement all kind of interview processes, you
| will always end up hiring candidates that turns out to be
| not a good fit.
|
| I am arguing that LC/FAANG interview does not do a better
| job at filtering them out.
|
| The solution: accept that you will do bad hiring, but
| that you will let them go as well.
|
| Instead, everyone want to be politically correct and the
| play safe. So people are hardly let go.
|
| Also working at FAANG implying you are a stellar swe is a
| big time BS.
| whimsicalism wrote:
| ah right, leetcode interviews are a woke/politically
| correct practice promulgated by fake talented FAANG
| engineers to keep out the real salt of the earth SWEs who
| know how to do real work.
|
| it's fascinating how these playbooks can recycle
| themselves in any number of scenarios. yes, conditioning
| on being an engineer at FAANG you are much more likely to
| get a better engineer, I'm not going to apologize for
| saying the truth.
|
| e: not going to keep replying, I seem to recall getting
| in previous fruitless arguments with you when you
| suggested banning renting was the way out of California's
| housing crisis.
| hiq wrote:
| > I am arguing that LC/FAANG interview does not do a
| better job at filtering them out.
|
| You're talking of gigantic tech companies that actually
| have a business interest in getting that right and you
| just assume that haven't done any studies about that. If
| you want to argue they're wrong, fine, but the money is
| against you on this, so more proof and arguments would be
| welcome.
|
| I think we all agree that no interview process is
| perfect, but you're basically claiming that they're all
| equally bad.
| woeirua wrote:
| I guess Sergey and Larry weren't "smart" then because they
| never went through a leetcode interview.
| whimsicalism wrote:
| If you think what I just said implies what you just said,
| then you are the type of person I would not want to work
| with.
| Cd00d wrote:
| adamsmith143 wrote:
| http://they.whiteboarded.me/companies-that-dont-
| whiteboard.h...
| Patrol8394 wrote:
| I am not sure if this is kept up to date. I did interview
| at DoorDash and they definitely do leetcode style
| interview.
| battery_glasses wrote:
| Basic algorithms? FAANG algorithm questions are usually far
| from basic.
| throwaway2037 wrote:
| You wrote: <<People who are experienced in the field don't
| want to go through the same hoops that newbies do just to
| prove they know how to write basic algorithms.>>
|
| I am constantly interviewing candidates for roles at my
| company. It seems like CVs are a complete gamble. Either some
| are lies, or wildy understated, and everything in between --
| at all levels of experience! "[J]ust to prove..." and yet so
| many can not do the 2022 version of FizzBuzz. I am stunned
| how many senior (well, so they say!) hands-on technical
| applicants cannot do basic things like write a very simple
| linked list class, or explain to me how a hash map works. For
| get about explaining the finer points of sorting algorithms
| (honestly, very low value in my line of work).
|
| There is no reasonable alternative to testing of some kind
| for hands-on techincal roles -- I am flexible about method:
| (1) white board coding (ugh in 2022), (2) IDE/text editor on
| shared PC / video chat (meh / eh in 2022), or (3) take home
| (the best in 2022, even if there are drawbacks for people
| with families).
|
| Joel Spolsky said it best about hiring: The goal is to avoid
| _bad_ hires. Average and above are fine.
| [deleted]
| rootusrootus wrote:
| I concede it may just be that I've been lucky, but when
| interviewing experienced candidates I've never really had
| any problem judging their competency just from discussing
| their past work. A little bit of back-and-forth deep dive
| into the technology has always exposed people who are
| shallower than their CV would have you believe.
|
| What has burned me, however, cannot be tested adequately in
| an interview. Bad attitude and laziness. Anyone can behave
| well in interviews, so we've hired a few people who turned
| out to have a passive aggressive streak or condescending
| attitude that interferes with the rest of the team. We've
| also hired people who are really great developers ... when
| they work. But they're really lazy and getting them
| interested enough to do the work is the hard part.
|
| Hiring is hard. I doubt I need to tell you that. There is a
| reason we gravitate towards hiring people we've worked with
| in the past, or come recommended by someone we trust.
| chadash wrote:
| I've had the same experience. Everyone wants you to "just
| look at their resume". Meanwhile, I've interviewed _plenty_
| of people with great resumes who can 't solve a simple
| problem like reversing a string [1].
|
| If you can point me to extensive open-source experience on
| projects that roughly approximate professional coding, then
| fine, I'd be happy to walk through your code with you
| instead of doing an algorithmic problem. The issue is that
| that's a minority of developers... most people don't have
| the time or desire to do extensive open-source work outside
| of work hours and I don't blame them for it [2]! But given
| that resumes are unreliable, I need to test you somehow.
|
| [1] No, I don't ever have to reverse strings at work. But I
| do have to write efficient code. And if you can't
| conceptualize how to reverse a string then you probably
| won't stand a chance at more difficult algorithmic issues I
| often come across.
|
| [2] I don't recall who it was, but I once heard a very
| well-regarded chef say that he's tired after work and so he
| doesn't like to cook much at home. I have zero problem with
| a developer doing the same with coding! Go home and work on
| a hobby, spend time with your family, or smoke pot and
| watch netflix... I care about what you are capable of at
| work, not what you do with your free time.
| rockbruno wrote:
| >technical applicants cannot do basic things like write a
| very simple linked list class, or explain to me how a hash
| map works
|
| In my experience people _know_ these things, they just don
| 't realize that what they're doing can be described
| generically.
|
| An example: If you're in an iOS interview and ask the
| person to describe a graph, they will get very angry and
| complain that this is useless knowledge and they don't need
| it to get the job. But if you ask the same person to
| describe an UIView hierarchy, they often have no problem
| doing so. So they _know_ what a graph is, they just didn't
| know it had that name.
|
| With that in mind, my tests shows that generic algorithm
| questions suck and questions themed around actual features
| of the product are the best. If you word the question in a
| way that feels relevant and is familiar to developers, they
| will be more likely to know the answer even if deep down
| the solution is exactly the same as the generic ones.
| Goronmon wrote:
| _...explain to me how a hash map works. For get about
| explaining the finer points of sorting algorithms_
|
| I've been in software development for 15 years and being
| able to explain either of these things has never come up
| and I probably wouldn't be able to give a decent answer
| without reviewing the topics specifically.
| whimsicalism wrote:
| Yes, companies are hiring for competency not tenure or
| years of life lived while holding job. If you want the
| latter, I have heard it is more structured that way in
| Japan and much of Europe.
|
| I would expect most people I hire to be able to explain
| how a hash map works.
| csomar wrote:
| Depends on what exactly your company is doing? Why do you
| care if an applicant understand how a hash map works; and
| what's particular about a hash map?
|
| I'd care more about an applicant _understanding_ the
| concept of a hash; or hashing in general. If an applicant
| shows that he understands that a hash is a magical and
| fascinating mathematical concept; and it can have uses in
| Information /Computers, that would be more interesting
| (to me) than someone who memorized a hash map definition.
|
| He can always learn about a particular application of
| hashing (hash map, for example). But the latter shows
| aptitude and capacity to learn these later on the job.
| whimsicalism wrote:
| To me, "what a hashmap is" is just an extremely basic
| engineering concept. Your reference to "memorizing" (to
| refer to the topic you don't like) vs. "understanding"
| (to refer to the topic you do like) is value-laden and
| also suggests to me that you think a hashmap is more
| complicated than it actually is - it is truly just one
| step from understanding what a hash is.
| bryanrasmussen wrote:
| well I mean there is quite a lot of differences between
| what the answer to 'what is a hashmap?' can be - is it
| acceptable to say a hashmap is a bunch of key value pairs
| where the key is an identifier by which you can look up
| the value you want - or should it be more in depth - akin
| to the wikipedia article
| https://en.wikipedia.org/wiki/Hash_table describing not
| just what it is but also its place in CS and how it is
| implemented? If the second it's probable the memorized
| description would be accurate.
| whimsicalism wrote:
| I would expect the basic notion of hashing to decide
| where to place an element as well as a strategy for
| dealing with collisions (the basic approach being hashing
| to a linked list). This didn't require any "memorization"
| on my part.
| bryanrasmussen wrote:
| Ok fine, so not an in-depth definition, but someone might
| think you mean an in-depth definition if you don't
| specify the level you expect is being used (perhaps
| because they have encountered that situation). I mean if
| you ask me define a hashmap and how it works for example
| I might think: "aw damn, this guy wants the low level
| details, I bet this place sucks to work at!"
|
| Although I would probably ask them to specify the level
| of detail they want before trying to comply, and then not
| get the job because I ask a lot of unnecessary questions
| or something.
| whimsicalism wrote:
| I'm not sure what you even mean by an "in-depth
| definition." What I said is basically constitutive of a
| hashmap, it's place in the history of CS or whatever is
| not.
| bryanrasmussen wrote:
| a not in-depth definition would be a 1 sentence
| definition of a hash map with probably give me an example
| of when you might want to use it.
|
| an in-depth definition would be that, followed by how you
| implement a hash map (thus if your language of choice
| already has a hash map, don't use that but show us how
| you would implement this classic data structure), how do
| you avoid collisions, maybe discuss some various ways
| that you could implement it and what the tradeoffs are.
| This would be you 'understand!!' what a hashmap is, like
| deeply. (I hope my tone makes clear I do not advocate for
| this)
|
| on edit: I think it seems you might actually be
| advocating for this deep definition? If so, probably you
| are working at relatively low level?
|
| on edit 2: for example if you were using Python you might
| say a hash map is a dict, and talk about how to use dict,
| the in-depth definition would not allow this. Which I
| think is what the other posters were worried about, being
| asked not to use your language's implementation of the
| concept but go lower and show you can make the whole
| thing.
| whimsicalism wrote:
| I don't think understanding how a hash map, an incredibly
| simple data structure used frequently, is all that "low
| level." If I really wanted low level, I would talk about
| having linked lists of arrays rather than a linked list
| of nodes so that you could benefit from fewer random
| lookups.
|
| I work as an ML engineer, so very high level.
| chadash wrote:
| > why do you care if an applicant understand how a hash
| map works; and what's particular about a hash map?
|
| Because a hash map is:
|
| 1) a pretty basic concept in data structures
|
| 2) Variations on hash maps are used _all the time_ in the
| real world. If you use objects in javascript,
| dictionaries in python, or maps in C++, then you are
| using things that essentially implement hash maps.
|
| Point number 1 is like if I went to an orthopedic surgeon
| and they couldn't tell me what the liver does. You can
| say "well the liver has nothing to do with my finger that
| got smashed in a car crash, so what do I care." Or you
| can say, "that seems like a red flag. Maybe I'd be safer
| choosing a different doctor."
|
| * Note: I have no idea how often the liver comes up in
| orthopedic finger surgery and for all I know it's a lot.
| But I think you get the point.
| Goronmon wrote:
| _Yes, companies are hiring for competency not tenure or
| years of life lived while holding job._
|
| Oh I wasn't trying to say that this knowledge was
| valuable or not. I was just pointing out that you seem
| surprised that experienced people wouldn't be able to
| provide a good answer to that question. And the answer is
| that in many jobs, its not useful knowledge.
| kube-system wrote:
| I don't think FAANG style interviews are a good way to do it,
| but it is more important to be picky about hiring at a small
| company. If you're in a company where everybody knows
| everybody, then any new hire will affect the entire team. A
| good hire will pull the whole team up. A bad hire will
| negatively affect everyone.
| jansommer wrote:
| Companies have only tested my code skills and handed me
| personality tests when applying for full time jobs. As a
| freelancer, I get one or two interviews where I talk to the
| architects, tech leads and managers, and that's it - either I'm
| in or out after that. They end up treating me as an employee
| anyway, so don't really know why this distinction is made in
| the first place, but I suspect HR.
| p0nce wrote:
| Many software positions do not account for the opportunity cost
| of learning job-specific knowledge, or soon-obsolete knowledge,
| making it hard to justify the investment in the long run. With
| pressure, the human capital will also erode faster, leading to a
| situation where more fresh blood is needed. Consequently a smart
| software company need a mechanic to maximize learning RoI for its
| workers, else the best choice for them would be to leave (even a
| job they appreciate). So called "accidental complexity" is almost
| always low RoI.
| cs137 wrote:
| There isn't a shortage of software developers. The pay isn't
| great--the kids getting $300K packages out of Stanford are an
| exception; it's a marketing expense. In fact, if you control for
| the level of intelligence it takes to be any good, SWEs make less
| (and get far less autonomy--do you think lawyers work on Jira
| tickets?) than any other professional, and they hit a
| salary/challenge plateau quick... after which, they increasingly
| face ageism.
|
| People leave because the job sucks. I don't mean that programming
| sucks; I quite enjoy it. Computer science is still an engaging
| field worth studying, and research programming isn't bad at all.
| Corporate SWE is pretty awful, though; you get paid far too
| little and treated far too shabbily to justify spending hours
| dealing with bugs and bad decisions that exist not because you're
| working on hard problems (after all, I've generated my share of
| bugs and bad decisions) but because of inadequate processes,
| mindless cost-cutting, generic incompetence, and an overall lack
| of care, especially at the top. All of this, to make a barely
| middle-class salary while people who are already rich and
| connected make millions off my work? No thanks. 2.25/5, would not
| do again.
| erellsworth wrote:
| Average salary for a software developer in the US is over
| $100k/year. For a 30 year old, that would put them in the 95%
| income percentile, or 87% for a 40 year old.
|
| The comparison to other lawyers is weak because becoming a
| lawyer requires a hell of a lot more education. You can become
| a software developer without even a having a college degree.
|
| You are also ignoring other professions like nursing. Nurses
| make far less than software developers and work a hell of a lot
| harder. Same with teachers.
|
| As far as barely making a middle-class salary while rich people
| get richer off your work? Welcome to capitalism.
| quickthrower2 wrote:
| Agreed. I made more from owning and living in a house than I
| can possibly save from SWE job.
| www_harka_com wrote:
| How do you make money from owning and living in a house?
| jonfw wrote:
| Buy a house, live in it, sell it for more than you bought
| it for
| quickthrower2 wrote:
| It goes up in value. Also interests rates decreasing means
| more immediate money in lower living costs.
| bruce343434 wrote:
| You can't pay for groceries with those unrealized gains.
| You'd have to sell your house. Wait, where will you live?
| quickthrower2 wrote:
| True but you can borrow against the house to invest, for
| example
| Clubber wrote:
| You can take out a loan on the house with the house as
| collateral. That's a tactic wealthy people use with their
| stocks. Also having a home equity loan is a good padding
| for rainy days.
| zarzavat wrote:
| It's a rather abstract view of making money. Other houses
| also go up in value. You only make money from the
| difference between how much houses in your area are going
| up, and how much houses in the area you want to move to
| are going up. And that difference may well be negative.
| iso1631 wrote:
| The alternate is not owning the house and instead paying
| rent, which means your rent would have to be far lower
| than the appreciating asset (house) and the cost of
| servicing the debt (interest part of the mortgage)
|
| That's certainly not the case in the UK. I'd be surprised
| if it were in the US
| whimsicalism wrote:
| The primary reason buying a house is better is because
| the government has put it's thumb on the we scale to
| allow you to leverage the fuck out of your assets.
|
| If you could get a loan of the same amount and yolo it
| into the stock market, I am not sure buying a home would
| come out better.
| quickthrower2 wrote:
| If you live in a major metro area it is the opposite: the
| price of where you want to live to escape the rat race
| gets relatively cheaper
| bluGill wrote:
| A lot of people are doing a cash our refinance so they
| can capture the gains from their house value.
|
| I don't recommend it, but many people do.
| mcculley wrote:
| * by ensuring that others pay more in property taxes
|
| * by ensuring that others cannot build, increasing value of
| your investment
|
| * by leveraging the deduction for mortgage interest
|
| The system is working as designed.
| nicoburns wrote:
| It's housing that's the anomaly there though, not SWE
| salaries.
| quickthrower2 wrote:
| It is both IMO.
| nicoburns wrote:
| SWE salaries are anomalously high whereas they would need
| to be anomalously low to fit in to the parent up-thread's
| comment.
| quickthrower2 wrote:
| Not outside of a small number of US tech cities and
| certainly not outside the US. My first coding job paid
| about $30k for example.
|
| I am currently a senior engineer earning less than a SV
| graduate. My pay has been largely comparable to a plumber
| for my whole career. Not for lack of trying.
|
| I suspect if whatever red tape os preventing US companies
| from remote hires world wide happening en masse, then
| non-MAGMA employees will see deflation in their wages.
|
| Similarly if more people are let in on unrestricted
| working visas that last a while.
| deathanatos wrote:
| No, it's housing. Housing is expensive b/c there is no
| supply, and you can't fix a supply side problem by
| putting more money on the demand side: that just enables
| people to bid higher than they already are, and the
| people selling what scant supply exists will pocket the
| additional cash. The same amount of people that today are
| below the point where supply meets demand will remain
| below it.
| jmcgough wrote:
| Lawyer pay honestly isn't that great. I know lawyers who went
| to top schools and routinely work 60-80 hour weeks to make as
| much as SWE do.
|
| The lawyers who didn't go to top schools became public
| defenders etc and make about 70k a year and are saddled with a
| quarter million dollars in law school debt.
| max51 wrote:
| >SWEs make less than any other professional
|
| Except for almost all of them. Aside from a few exceptions
| (doctors, laywers), everyone else makes significantly less. A
| structural engineer with a master's degree for exemple will
| makes less than half (closer to 3 - 4x in my region).
| jonwachob91 wrote:
| >> SWEs make less (and get far less autonomy--do you think
| lawyers work on Jira tickets?) than any other professional
|
| Nurses are professionals too, and they will never see anything
| close to $300k/year.
| TexanFeller wrote:
| The intelligence floor for becoming a nurse is low, so nurses
| have extremely large variance in their intelligence,
| knowledge, and training. Knowing someone is a nurse doesn't
| mean you can assume they are pros. Some nurses keep up with
| the latest medical research papers and are overall similarly
| knowledgeable to doctors, and some know less about biology
| than I do and will tell you about vaccine conspiracies and
| how some homeopathic nonsense will help you. I've met people
| at both ends.
| jaredandrews wrote:
| > do you think lawyers work on Jira tickets?
|
| LOL, a lawyer in my family does. He actually meets with a whole
| group of lawyers every month or so and they all do a
| retrospective to figure out how well applying
| agile/lean/whatever principles to their firms has been working.
| He actually feels it gives them a real edge.
| pushingice wrote:
| I've suggested this to my lawyer wife more than once. The
| problem is that she works for multiple partners with no
| visibility in to each other's tasks. So each partner thinks
| they can have 100% of her time whenever they want, and get
| upset when that turns out not to be true.
| trollytroll69 wrote:
| buddy our goal is to make their professions just a shitty and
| atomizing as ours. it is the way (the faster the better). the
| professional class are an impediment to progress idc how mean
| that sounds.
| draw_down wrote:
| trashtester wrote:
| SWE's are not the only ones that think that their pay is low
| compared to their intelligence level, their education level,
| how tough, inconvenient or important their work is or what they
| feel they deserve for some other reason.
|
| For instance, I'm sure there are plenty of HR managers in
| various companies that are secretly furious about all the young
| young mostly males, mostly white or asian, still in their 20s,
| join the company and make more than they do.
| dhzhzjsbevs wrote:
| You're not wrong.
|
| https://m.youtube.com/watch?v=WkKHupWzB-g
| trashtester wrote:
| Didn't that video make her lose her job?
| TexanFeller wrote:
| HR managers are rarely ever intelligent. The work they do
| doesn't require it and intelligent people don't want to do a
| job where they'll be surrounded by lower intelligence people.
| trashtester wrote:
| Maybe some HR managers believe that empathy and "EQ" are
| more important than IQ?
|
| Maybe they even think that intelligence is a social
| construct invented by the Patriarchy for the purpose of
| oppressing people who are not "cis white males"?
|
| Who knows, maybe for some, these ideas may even have been
| part of their education....
| grumple wrote:
| > Maybe some HR managers believe that empathy and "EQ"
| are more important than IQ?
|
| Have you ever interacted with HR? I'm pretty sure they
| are trained to be cold and uncaring, and to apply
| business rules without exception. Never heard an ounce of
| empathy from any of them, it always feels like
| interacting with an automaton that was somehow annoyed
| with you.
| trashtester wrote:
| > Have you ever interacted with HR?
|
| Plenty of times. Some that are really smart, some that
| are not. Some that are cold and "corporate", some that
| are getting way too personal. (As in a "metoo" moment.)
|
| Politically, I've met at least one that was secretly a
| eugenicist and others that are pretty far left.
|
| All of them individuals, but several of them
| collectivists.
| drekipus wrote:
| I'm sure HR managers know that the majority of jobs they are
| hiring for are different from the job they're in, with
| different pay scales and demographics.
|
| Infact I'd say it's their profession.
| sshine wrote:
| Also, HR Manager is a low-risk job.
|
| Recruiter is the high-risk equivalent.
|
| So not only do you compete with a lot of people for the
| job, the pay structure does not depend on performance.
| cableshaft wrote:
| Maybe, but I've also seen HR departments be the first to
| go in lean times.
|
| We effectively didn't have an HR department at my
| previous job, at a company of 500+ people. And they did
| when I first started, about a dozen people.
| BlargMcLarg wrote:
| Why would the ethnicity or sex matter when these HR managers
| would still see the same differences regardless of ethnicity
| or sex?
|
| Either way, I'd think twice about putting HR managers as
| victims here when they are the main perpetrators of low raise
| budgets and high hiring budgets.
| trashtester wrote:
| When people see that some other group of people, with
| identity traits different from themselves, are doing better
| than themselves on some metric, it often induces
| resentment. That's just a fact.
|
| Whether its justified or not, varies with circumstances and
| what ethical system people have.
|
| When black people in the 50's felt that way about white
| people and their privileges, most people today would see
| those concerns as justified.
|
| When German people in 1922 became angry because most jews
| had enough money for food, while many Germans went hungry,
| and started believing in conspiracy theories, like the
| Protocols of the Elders of Zion, most people today would
| say they were not justified. (though there are still some
| who secrely believe those things)
|
| And when Hutu's wanted to "cut down the tall trees" in
| 1994, most people in the west only read the headlines, and
| didn't care that much.
|
| In the case of HR managers being unhappy that software
| developer make more than them, some will blame some generic
| "wage gap", others will explicitly believe in some kind of
| Patriarchy conspiracy theory. (And a lot of HR managers, of
| course, are simply fine with things as they are.)
| mmarq wrote:
| > When German people in 1922 became angry because most
| jews had enough money for food, while many Germans went
| hungry
|
| Even if this were true, and it isn't, people didn't start
| believing in anti-Jewish propaganda because the Jews had
| more to eat than the average German. People always
| believed in crazy anti-Jewish propaganda since, at least,
| the first crusade.
| trashtester wrote:
| > People always believed in crazy anti-Jewish propaganda
| since, at least, the first crusade.
|
| Absolutely they did. However, even at that time, it seems
| (if wikipedia is to be trusted) that the Jew's roles as
| bankers was part of the reason for the massacres:
|
| "Many crusaders had to go into debt in order to purchase
| weaponry and equipment for the expedition; as Western
| Catholicism strictly forbade usury, many crusaders
| inevitably found themselves indebted to Jewish
| moneylenders. Having armed themselves by assuming the
| debt, the crusaders rationalized the killing of Jews as
| an extension of their Catholic mission"
|
| https://en.wikipedia.org/wiki/Rhineland_massacres
|
| You are absolutely right that antisemmitism didn't
| suddenly pop up in 1922, or even with the creation of the
| "Protocols" conspiracy. But prior to 1922, antisemitism
| probably wasn't worse in Germany than most other western
| countries.
|
| But as we consider the inflation we are seeing today, try
| to imagine how it would be if the inflation is not 5-10%
| but 29500%, as it was at the peak in 1923. In other
| words, it would take 3.7 days for your paycheck to go to
| half value. When you got your salary, you had to run to
| the bakery and buy as much bread as you could. Old poeple
| and people on a fixed salary would lose everything in an
| instant.
|
| Even in the present age, especially after 2008,
| conspiracy theories involving the banking sector is
| everywhere, and there are still whispers implicating a
| Jewish conspiracy, if you listen. Now imagine standing at
| a corner in Munich on a day where the factory didn't need
| your work, too afraid to go home to your abusive wife who
| would beat and scorn you for not bringing food to the
| hungry family.
|
| Imagine some small man with a mustache telling a very
| convincing story that comletely rationalizes your
| troubles. He reminds you about the Goldmann banker up the
| street, and the Ruben gem store at the corner. Their
| families are not hungry, yet they didnt "work" (meaning
| physically) a single day of their lives, they are simply
| collecting usury. Imagine being told this, while hungry,
| while worried about being beaten by your wife when you
| come home, in a world where anti-semmitism is still seen
| as acceptable, in a world where usury is still seen as a
| sin, in a country where the interest rates on loans have
| 5 digits.
|
| What I'm saying is that those germans were just like us,
| just under different circumstances. To them, the jews
| were the socially accepted "bad guys", just as nazis and
| facists, and where people can label people as nazi or
| facist with not much more evidence than not liking that
| person.
|
| The person that would say today, that "It's ok to punch a
| nazi." (meaning MAGA-republican), might very will be the
| person in 1923 thinking that "It's ok to punch a jew.".
| The reasoning is very similar. And it's not restricted to
| the left. People on the right are currently generating
| massive amounts of resentment against "the elites". And
| in some cases, the anti-semmitism is once again coming
| out into the open.
| mmarq wrote:
| I am going to say that you sound a bit confused.
|
| > But as we consider the inflation we are seeing today,
| try to imagine how it would be if the inflation is not
| 5-10% but 29500%
|
| Hitler took power 10 years after the hyperinflation.
| People didn't vote for the NSDAP because of
| hyperinflation, nor they started hating the Jews more
| than before because of it.
|
| > You are absolutely right that antisemmitism didn't
| suddenly pop up in 1922, or even with the creation of the
| "Protocols" conspiracy. But prior to 1922, antisemitism
| probably wasn't worse in Germany than most other western
| countries.
|
| Antisemitism was rampant everywhere in the West, the
| Germans only took it to its inevitable consequences and
| only after 1933. Of course, this doesn't change the fact
| that nazis were criminals, but the Shoah has much deeper
| roots that the hyperinflation or some temporary
| unemployment.
|
| For instance, only in 1870 Roman Jews became full
| citizens, before then they couldn't own property and,
| among other things, once a year they were forced to run
| naked during the Roman carnival. This was only 60 years
| before Hitler seized power.
|
| You can find similar stories about all cities that had a
| large Jewish community.
|
| > The person that would say today, that "It's ok to punch
| a nazi." (meaning MAGA-republican), might very will be
| the person in 1923 thinking that "It's ok to punch a
| jew.".
|
| No, it's not the same thing because no MAGA-republican
| has been punched and arrested and they even elected a
| president.
| BlargMcLarg wrote:
| I have a hard time believing the reaction would be any
| different if a bunch of older white collars would stare
| at young Hispanic software devs making more instead of
| Asian devs. Only difference being they couldn't hide
| their jealousy behind politics.
| trashtester wrote:
| I don't think it makes any difference to most "older
| white collars" whether those devs are hispanic or asian.
| Boomers were born at a time when racism against asians
| were much worse than racism against (non-black) hispanic
| people.
|
| There are, I would say, two main forms of racism. One is
| directed at those people see as inferior. Typically, that
| is right-wing racism. That one is created when some other
| group, on average, performs worse (or appears to do so)
| than the group the racist identifies with. Such a racist
| may see the hated group as sub-human. They may not feel
| threatened outright, but may be concerned if the
| population of that hated group grows too quickly.
|
| The other group, is resentment racism (or sexism or other
| similar identity-group-ism), which is triggered when
| confronted with groups that do better than the group the
| racist person identifies with. This is more common on the
| left*. This kind of racist will see the hated group as
| outright evil. And if they feel sufficiently threatened
| by the hated group, may attempt outright genocide, since
| they may feel they are fighting for their life.
|
| * Nazies were full of both kinds of racism. They saw Roma
| people as virmin, Slavic people as merely inferior, while
| they were accusing Jews of attempting to seek world
| domination. In other words, Roma and Slavic people were
| sub-human while Jews were seen as Evil, inferior only for
| moral reasons. And as we know, the hatred against to Jews
| was by far the strongest. Mein Kampf describes this in
| detail.
| psychoslave wrote:
| >SWE's are not the only ones that think that their pay is low
| compared to their intelligence level, their education level,
| how tough, inconvenient or important their work is or what
| they feel they deserve for some other reason.
|
| Sure, but it doesn't mean some or all of them are not right,
| especially when the unequal distribution of wealth is well
| known and documented to evolve for the worst.
|
| https://en.wikipedia.org/wiki/Distribution_of_wealth#Global_.
| ..
| whimsicalism wrote:
| This has to do with ownership and inheritance, not that
| SWEs are poorly paid laborers. Many software engineers are
| in the global 1% richest.
| deathanatos wrote:
| > _Many software engineers are in the global 1% richest._
|
| I mean, some are, yes, but ... I'm not, and I know many
| SWEs who aren't.
|
| > _According to the 2018 Global Wealth Report from Credit
| Suisse Research Institute, you need a net worth of
| $871,320_
|
| (https://www.cnbc.com/2018/11/01/how-much-money-you-need-
| to-b...)
|
| I miss that cutoff. But if you narrow to my country, the
| requirement for being in the top 1% jumps to _$11M_.
| whimsicalism wrote:
| Yes, I said global quite intentionally.
| Gigachad wrote:
| Cry me a river. Software development is some of the easiest,
| highest paid work in history. The majority of the population is
| grinding away in tough physical labor or abusive service jobs
| getting paid pennies while software devs moan about only making
| low six figures and getting a few boring jira tickets while
| they sit in their home office reading hacker news for half the
| day.
| goodpoint wrote:
| > Software development is some of the easiest, highest paid
| work in history
|
| In US for sure. But there are many other places where you get
| a better balance between learning/working/salary in other
| jobs.
|
| Not to mention the notoriously higher rate of burnout in the
| industry, even in the US.
|
| The people in this threads making huge overgeneralizations
| might be indeed overpaid.
| emptyfile wrote:
| Oh yeah, every dev in the world makes $100 000 minimum per
| year, sure. And it's boring and easy with reasonable
| deadlines and appropriate vacations and time off work.
| capableweb wrote:
| Even if you make something like $20000 per year, you have
| it better than most in the world. People spend their body
| (the one we only have one of) doing way more intense (and
| vital for the world) labor than software engineers do, and
| earn much less.
|
| If you think unreasonable deadlines are a big issue, then
| you're in for a rough awakening if you spend any time with
| the rest of the workforce that doesn't sit in front of a
| computer all day.
| rapind wrote:
| Let me sum up your entire argument.
|
| Most of the world lives in severe poverty, therefor
| software developers should accept any amount that the
| owner class feel like paying them and be thankful.
| april_22 wrote:
| In comparison to the majoritiy of the population it truly is
| a nice job, though if you ain't working at FAANG your pay can
| be lower compared to e.g. a mechanical engineer
| capableweb wrote:
| Yeah indeed. Coming from someone who had to work with
| physical labor before I started programming, software
| developers don't know how good they have it.
|
| "The pay isn't great", "treated far too shabbily", "dealing
| with bugs and bad decisions", "inadequate processes" and so
| on, sucks when development is the only thing you've dealt
| with, but you have no idea how it is to actually have a blue
| collar job if you're actually complaining about those things.
|
| I think cs137 and others like them should try to have a part-
| time job at McDonalds (or whatever that is not in front of a
| screen), because it will make you love your software
| engineering job again.
| rapind wrote:
| Any white collar job looks better than McDonalds. It's a
| ridiculous comparison.
|
| I could say McDonalds workers don't know how easy they have
| it. They should try picking fruit as a seasonal immigrant,
| because it will make them love working at McDonalds.
| commandlinefan wrote:
| > picking fruit as a seasonal immigrant
|
| And those seasonal immigrant fruit pickers don't know how
| easy the have it. They should try being kidnapping
| victims chained in a basement, waiting to be tortured to
| death by an axe-wielding maniac.
|
| That's the problem with "you can't complain, somebody
| else has it worse" - I can _always_ think of somebody who
| has it worse.
| glouwbug wrote:
| I'd argue being kidnapped and chained to the wall is
| software engineering. Our handcuffs are just gold
| lucumo wrote:
| > Any white collar job looks better than McDonalds. It's
| a ridiculous comparison.
|
| I've had a colleague who was paid worse as a software
| engineer than his previous job as a McDonald's burger
| flipper. I also have software engineer friends who were
| paid minimum wage as software engineers.
|
| I learned from that that having a high-value skill means
| nothing if you're not willing to take action to extract
| that value.
| cableshaft wrote:
| My first job was fast food too. Except for the pay, the
| grease, the unpredictable and strict hours, and the
| cleaning of bathrooms, I'd love to take a job like that up
| again.
|
| There's stress, but it ends at the end of the
| breakfast/lunch/dinner rush, not a constant low-grade
| stress over the whole day and often lingering into the
| night from unfinished JIRA tickets.
|
| Then there's mostly chatting and hanging out with
| interesting people, either kids with dreams or adults with
| off-the-beaten-path lives (not an endless stream of white
| collar adults who only have stories about how they went to
| a bbq or just had another kid) while cleaning or prepping
| food, helping a customer here and there. Some customers
| were assholes but they'd be gone a few minutes later and
| you'd go back to other things. And because it's a public
| facility sometimes my friends would stop by just to say hi
| and shoot the shit for a few minutes.
|
| And I was much healthier then too, despite working fast
| food. Mainly because I spent my day moving instead of being
| stuck in a chair.
|
| I also worked a retail, a warehouse, and a factory job. The
| retail job was even better because you didn't have to deal
| with the grease or cleaning bathrooms, and the customers
| were somewhat nicer. If it paid remotely near what I make
| now I'd probably switch to that tomorrow.
|
| Factory job was probably the toughest. More isolating, no
| A/C in the summer, more constant stress, more physically
| demanding, mandatory 10 hour days for weeks sometimes, and
| there was an incident where a drunk forklift driver almost
| knocked a tower of heavy steel racks on top of me. I quit
| the next week.
| computerex wrote:
| Well, I think the parent is comparing software engineering to
| other white collar professions like lawyer.
|
| In my opinion comparing SWE to blue collar work like
| construction is apples to oranges. Ofc the blue collar work
| is harder and more demanding physically.
|
| It's better to think about whether software engineers are
| being compensated fairly relative to other professions like
| lawyers.
|
| I think they are given that wages seem to be governed with
| supply and demand. On one hand I don't make as much as my
| sister, who is a doctor. On the other hand, I make
| enough/comfortable money and don't have to deal with the
| liability/responsibilities/obligations of being a doctor or
| lawyer, and I can work from bed naked should I choose to do
| so.
| Ekaros wrote:
| Or even more so compared to other office workers like
| managers and such. Or marketing, accounting and so on. All
| in all it is not too bad.
| Gigachad wrote:
| You also don't need to spend years in a very expensive
| education with tall entry barriers and taking on massive
| debt. But also, you had the info in doctor fakeries
| available and still chose software.
| TheSpiceIsLife wrote:
| I think you meant doctor _salaries_?
| bradlys wrote:
| I mean - this is YMMV. Typical SV FAANG engineer is from
| an Ivy League or adjacent competitive school. Often with
| a masters.
|
| So, yes, you might not have to do the full specialty
| training and residency but it can still be quite
| competitive and expensive.
|
| You're only earning surgeon money when you've made staff
| level at FAANG. Which usually means you're near the same
| age as surgeons and there was a lot of risk and grind
| getting there. If anyone thinks getting to staff at FAANG
| is trivial - I'd suggest they've been very lucky in life
| and aren't a representative person of how hard it is.
|
| People who could do either often go into software because
| of the nearly unlimited earnings cap. Theoretically you
| could start your own company and be ultra rich. That's
| what I see often as the source. Less common with doctors
| afaict.
| ethbr0 wrote:
| > _work from bed naked_
|
| Can confirm. Just did an onboarding in my underwear.
| (Although mostly because I forgot time conversion when on
| business travel was a thing, because COVID)
| highwaylights wrote:
| On one hand, I agree with you that on the whole we're a bunch
| of spoiled crybabies. Totally grant you that.
|
| On the other hand, saying that the majority of the population
| is grinding in tough physical labour is just not true. Most
| other jobs are generic office jobs that don't need to be done
| (just like 80%+ of software engineering jobs don't need to be
| done).
|
| Most of us are just _doing things_ for money. Are most people
| working hard? Not usually, because it mostly doesn 't matter.
| Spreadsheets idle in inboxes, meetings lead nowhere and
| achieve nothing, brown-nosers and family members get promoted
| into jobs they're incompetent at. And the world continues to
| spin regardless.
| pkdpic wrote:
| Also, have you all tried making a non-swe career work
| lately? How about for 5+ years?
|
| In the last two years I've worked with hundreds of bootcamp
| students who have reached the end of their rope with 20th
| century career paths that no longer make any f-ing sense.
| From teachers to construction workers to bartenders to
| graphic designers. Not all of them have a deep love for
| writing software, but all of them recognize that its one of
| the only viable paths available if you don't want to have
| roommates into your 40s.
|
| As my best friend told me in an abandoned bay area parking
| lot before I switched careers to swe, there just doesn't
| seem to be any other reliable way for people in our
| generation to make a living. Maybe it only applies to
| california, maybe it only applies to millennials, but
| having been on both sides of that fence now I 100% agree.
| xtracto wrote:
| I saw this as well as someone who hired from "Bootcamps"
| graduates for a couple of years. The people that got into
| bootcamps came from all sorts of professions. Most of
| them had a Bachellor degree (this is in Mexico) and had
| already worked in their profession for some time.
|
| There were people from Tourism, Law, (non-software)
| Engineering, Biologists, Chemists, Philosophy, among
| others.
|
| Most of the people in those areas were burned out of
| _REALLY_ being overworked, underpaid and being treated
| like trash (you should see how Law firms treat their
| interns).
| walleeee wrote:
| > there just doesn't seem to be any other reliable way
| for people in our generation to make a living
|
| I suspect this may be exaggerated, in that there is still
| demand in other career paths, they just aren't as
| appealing for various reasons, e.g. manual/technical
| trades with reasonable pay but some physical labor
| involved or a long apprenticeship period
|
| I do worry we might be flooding the field and siphoning
| talent from sectors that matter, even as the proportion
| of software jobs that don't really need to exist balloons
|
| this seems like a recipe for a lot of disappointed people
| in need of retraining once we realize code can't eat the
| entire world, and in the meantime it feeds the bubble
| cycle, pointless or abusive "innovation", and speculative
| nonsense software is plagued by
| colinmhayes wrote:
| > Most other jobs are generic office jobs
|
| I really don't think this is true. Maybe in the US, but
| worldwide I would charecterize most job environments as
| closer to sweatshop than office.
| mettamage wrote:
| We need data for this. More importantly, we need data for
| how tough it is to get certain jobs. That means stuff like:
|
| * Time spent on finding a job
|
| * Time spent on studying in order to attain a job
|
| * Actual amount of hours worked (hard to get accurate data
| on it)
|
| * Actual amount of effort per hour (hard to operationalize)
|
| It's a very tough discussion to have, but I have a gut
| feeling that you're simplifying too much and are partially
| wrong. But I can't even give evidence that you might be
| wrong because I don't have data. So at best I feel we're
| both blind and we don't have a one-eyed king that can see!
| ;-)
| groby_b wrote:
| Or, you know, you could just listen to people.
|
| Qualitative evidence is just fine. We might want to stop
| exclusively fetishizing numbers, and instead of
| complaining how hard it is to find data, _do_ something
| to fix the problems right in front of our face.
| lucumo wrote:
| > Or, you know, you could just listen to people.
|
| Well, that's all dandy. But when someone actually shares
| something it's "cry me a river". Their contribution is
| summarily dismissed because it's not the Right Evidence
| from the Right People.
| prewett wrote:
| We can get statistics for some of the parent's claims:
|
| > On the other hand, saying that the majority of the
| population is grinding in tough physical labour is just
| not true.
|
| 10.3% of US jobs are classified as "physically
| demanding". [1] (I didn't see parent said "labour" until
| after my research, but I expect figures in the UK are
| similar). Assertion is TRUE, the majority is not doing
| "grinding" labor.
|
| > Most other jobs are generic office jobs that don't need
| to be done (just like 80%+ of software engineering jobs
| don't need to be done).
|
| Hard to say about the parenthetical, and it is impossible
| to say if the jobs don't need to be done without running
| an experiment, but some research has been done on whether
| people think their job needs to be done. A study of the
| European Work Commission Survey [2] showed that in 2005
| only 7.8% of people responded that they were not doing
| useful work. In 2015 even fewer, 4.8% felt they where not
| doing useful work. (The UK reported slightly higher at
| 5.6%). A "recent poll" from an article dated 2017 which
| links to a 404 for the poll claims that poll said that
| 37% of Brits felt their jobs were useless. [3] Even the
| originator of the "bullshit jobs" book thought that 20 -
| 50%--maybe as high as 60%--were useless. Assertion is
| probably FALSE, _most_ jobs have some utility.
|
| > Most of us are just doing things for money.
|
| Yes, and so what? Does that make it not worthwhile?
|
| According to a Pew study from 2016, 49% of Americans are
| "very satisfied" with their job (59% of people whose
| family incomes were over $75k), and about half said they
| viewed their job as a career. 51% said their job gave
| them some sense of identity (higher percent as with more
| education), while 47% percent say the job is just what
| they do for a living. However, those working in non-
| profits, government, or self-employed were about 62%
| likely to say their job gives them a sense of identity,
| while only 44% of those working at a company said the
| same) Assertion is PROBABLY FALSE, depending on the
| definition of "most" and the intent of the claim, but the
| statistics certainly do not make it a definition-true
| assertion.
|
| [1] https://dc.citybizlist.com/article/639055/dc-has-
| the-2nd-sma... (scroll to the bottom for the US figures)
|
| [2] https://phys.org/news/2021-06-workers-useless-jobs-
| previousl...
|
| [3] https://www.weforum.org/agenda/2017/04/why-its-time-
| to-rethi...
|
| [4] https://www.pewresearch.org/social-
| trends/2016/10/06/3-how-a...
| highwaylights wrote:
| Am I to assume you're not happy to trust ma gut?
| BigJ1211 wrote:
| This seems to be a perspective that's exclusively silicon
| valley (perhaps large parts of the US) based. Not at all true
| in Europe at the least. Not that it's a bad job by any
| stretch of the imagination, but even low six figures is
| really rare in the EU for Software Development.
|
| Easiest is also highly subjective, if your job is making
| wordpress templates/sites then sure. If you're working on
| complexer systems then this statement is horseshit. I've done
| physical and service jobs that were both easier than the
| software development I do, only difference was that the
| physical job was also physically exhausting.
| Gigachad wrote:
| I'm from a small Australian city. I earn in the top 5% of
| the country with 8 years experience and no degree. And I
| see all my friends who picked software in the same
| situation.
|
| It's probably the most privileged position possible.
| shakow wrote:
| I have to agree with GP. I know many developers in
| France/Germany at the Master level, and although their
| job is far from being the worst, their total compensation
| is rather in the top 30%. Not bad, but far from a
| 6-figures.
| BlargMcLarg wrote:
| Getting a paper is almost mandatory here due to the ease
| of getting one.
| djvdq wrote:
| Same here. I'm from Poland, I've 6 YOE, no degree, and
| also top 5% of earners. No other job will let me achieve
| this in such short time. You can earn similar money as a
| doctor, lawyer or let's say plumber BUT ypu have to do at
| least one of: a) work 80 a week instead of 40 (and let's
| be honest, none of us work 8h a day). b) do hard physical
| work instead of sitting in a chair c) be responsible for
| people lifes (and face jail in case of failure) etc
|
| In short: I'm privileged AF
| fileeditview wrote:
| Maybe it's true in Australia.. however here in Germany
| e.g. your chance of being a top earner if you have no
| degree is near nil. Usually you are expected to have
| university degrees for tech jobs. There are also some
| without but it's the minority and their promotion
| prospects are a lot worse.
| klausa wrote:
| This is true maybe for big, traditional German
| corporations like Siemens or VW; but have absolutely not
| the case for any of the start-ups or any of the big tech
| companies from US.
|
| And especially not true after 2020, when so many more
| companies are willing to hire people remotely, often for
| close-to-US-levels of pay.
| djvdq wrote:
| I was thinking about moving to Germany from Poland. I was
| surprised that devs there has such low wages in
| comparison to cost of living. I abandoned the idea after
| it turned out my QoL will decrease quite a lot even I'd
| get more money than I've now
| klausa wrote:
| I'm curious what numbers you've heard, my quality of life
| here is significantly higher than it was in Warsaw, but I
| was making relatively much less back then.
| bluGill wrote:
| My company has noticed that good developers in Germany are
| cheaper than in India. Good is key here, you can get bad
| developers in India for very cheap (this might be good
| enough). The highest paid software positions in Germany are
| non-union jobs and the majority are not willing to leave
| the union for more money, which means they are refusing to
| do the work of a senior engineer, and this in turn means we
| can't use the cheap labor for lack of leaders.
| ju-st wrote:
| > highest paid software positions in Germany are non-
| union jobs
|
| How does one identify a well paying non-union employer?
| Noname companies in almost all cases pay much less than
| union employers.
| bluGill wrote:
| This is Germany, not the US, rules are different.
|
| All I know is a lot of great engineers at my company are
| internationally refusing more pay to non union jobs.
| I.have no idea if it applies to other companies, or what
| the benifits are
| keewee7 wrote:
| I remember reading Indians on r/DevOps who were surprised
| they were earning more than Germans in DevOps/Ops
| positions.
| mathverse wrote:
| Adjusted for costs of living or TCO? IT pays peanuts in
| Europe.
| qgin wrote:
| It doesn't make sense to me why pay is so low in Europe.
| Is there actually that much less demand relative to
| supply?
| mathverse wrote:
| Taxes.
|
| You are not getting that much in net salary above certain
| amount.
|
| Europe is a hellhole if you are a young ambitious
| individual.
| mrtksn wrote:
| It's not taxes, the taxes are high but the gross salaries
| in EU and even in the UK are very low, compared to the
| USA. You don't have stuff like developer making 200K a
| year but taking home 50K a year, it's more like making
| 60K a year and taking home 40K.
|
| IMHO it's the culture and the VC environment. There's
| simply not that much money around to throw at moonshot
| projects, therefore you don't have many unicorns that
| lose a few billion euros a year paying extravagant
| salaries for talent. Obviously EU is a very rich place
| but people with money invest their money in stuff that
| are profitable right away, likely to be profitable in
| short term because a giant company is behind it or invest
| in the US companies if they are more adventurous.
| electroly wrote:
| I suspect this was simply so obvious that OP didn't feel it
| was worth mentioning. If your goal is making a lot of money
| in software development, you'd be a fool to stay in Europe.
| You have to move to the US. That's where the money is.
| commandlinefan wrote:
| > Easiest is also highly subjective
|
| Anecdotally, I've observed (over a 30-year career) that
| less than half of the people who _have the qualifications_
| can actually produce halfway decent code (as in code that
| doesn 't crash the first time it's used or introduce new
| problems).
| dangus wrote:
| I think sales is a much better gig than software engineering,
| personally.
|
| Any engineer who has enough EQ and people skills to give some
| demos on Zoom is going to find that Sales
| Engineering/Solutions Engineering is an easier job with more
| earning potential, all with no on-call rotation.
|
| On top of that, the company treats you like you're valuable
| rather than a cost center (especially relevant to people
| doing infrastructure and IT engineering). Sales teams go on
| vacation to team-build, engineers are shoved in a conference
| room with some lukewarm sandwiches.
| fileeditview wrote:
| Your comment already has a lot of responses but one thing I
| didn't see mentioned is about the tough physical labor. It is
| often neglected that working at the computer is really bad
| for your body. Sitting for hours is unhealthy and creates all
| kinds of problems: obesity, disc prolapse, bad circulation,
| so much more. Also your eyes suffer a lot and become worse
| much faster than in most other jobs.
|
| I agree that being a SWE is certainly not the worst thing in
| the world but it has also a lot of bad properties that often
| are overlooked and the most positions do not have moon
| salaries, that we see on HN regularly.
|
| Also to do whatever lower income job you don't need to study
| for 5+ years (master). You need to compare with jobs that
| have similar requirements to your education.
| Gigachad wrote:
| You do not need a 5+ year degree. I have no formal
| qualifications and have no issue securing six figure jobs.
| And I have seen many others do the same.
|
| You also have the ability to get a standing desk and take
| breaks to walk around.
| fileeditview wrote:
| Yea so maybe that degree thing is a German problem. I do
| not know the other markets/countries. Here, what I said
| is certainly true.
|
| A standing desk is better than no standing desk but won't
| correct everything by itself. Taking a break and walking
| around is fine but I still need to get back to staring
| into the computer screen to do my work.
|
| I don't know your age but for me it started with about
| ~35 that I realized that this has negative effects on my
| body.
| fjfbsufhdvfy wrote:
| The trick for Germans is to find a remote job at an
| American company. Much better pay - and you don't have to
| live in America! Win all around.
| gunfighthacksaw wrote:
| After 1 year of SWE, I realized my body was becoming
| frail and mushy relative to when I was slugging cast iron
| fittings in the warehouse. Took me about 2 weeks to put
| together a workout regime with built in progression.
|
| One of the things I'm glad of is the flex time and
| working from home so I can crank out workouts whenever it
| suits me.
| go_elmo wrote:
| No one talked about service workers. These peoples are
| exponentially more fcked than any of us can ever be. There is
| still a too large gap between employee and CEO / founder
| compensation in our buisiness, despite six figure salaries
| and yes, it is worth complaining about and fighting for.
| ecmascript wrote:
| Username checks out. I laughed so hard and I recognize myself
| in the description. Just an awesome comment.
| rapind wrote:
| > Software development is some of the easiest, highest paid
| work in history.
|
| Nope this is an outdated opinion. You can do just as well or
| better in trades (source: my electrician buddy). If you're
| referring to the FAANG salaries (sub 1%) you're comparing to
| doctors, lawyers, entrepreneurs in terms of opportunity cost.
| Your average joe programmer isn't killing it like you seem to
| think, and they'd do just as well in trades or middle
| management.
|
| The cynic in me thinks this is an opinion promoted by
| employers, just like the BS "labour shortage" headline.
| codegeek wrote:
| The point is that the trades lile electrician or HVAC get
| paid well but ut is much harder physical work just had my
| AC replaced and the guy was sweating through rhe day to put
| everything together I paid well but it wasn't harder than
| making a SWE salary.
| dionidium wrote:
| Have you seen the way somebody who has been in the trades
| for 20 years walks? They have a very particular kind of
| gait. You can easily tell them apart from the weekend-
| warriors walking into Home Depot just by their stride. It's
| the walk of a body that's been absolutely wrecked by
| physical labor.
| johnatwork wrote:
| Man this is the truth.
|
| They all have some combination of: odd posture, odd gait,
| a dry cough, or bad skin. You can talk about ageism in
| the Tech world, but I've worked as a tradesman for a bit
| of time when I was young, and there were not many past 50
| much less 50 and healthy. Over lunch they each all
| recounted their health issues, which made me quit that
| summer and get an office job.
| mdorazio wrote:
| Do you actually have data to back that up, or just one
| anecdote from a friend? Median pay for electricians is
| about $57k/year [1], and that's after 4 years of
| apprenticeship and passing the exam. That's compared to a
| median salary of over $100k for software devs [2]. Sure,
| you can make a lot of money as an electrician, HVAC person,
| welder, etc. if you own and run your own business, but your
| average tradesperson is not in that category, just like
| your average software developer isn't running their own dev
| shop.
|
| [1] https://money.usnews.com/careers/best-
| jobs/electrician/salar...
|
| [2] https://money.usnews.com/careers/best-jobs/software-
| develope...
| Mezzie wrote:
| There's a huge difference in where plumbers vs. SWEs
| live, though. You have to compare the actual purchasing
| power. SWEs are more likely to be located in HCOL areas
| and therefore have higher salaries because SWEs need the
| infrastructure cities provide. Whereas there are plenty
| of plumbers who live in rural areas.
|
| I have no idea how that comparison would shake out, or if
| the rise of WFH for tech people would/will change it,
| though.
| bluGill wrote:
| You can do just as well in the trades - if you are a master
| (whatever the top rank is) working 80 hours a week. Right
| now the trades are in high enough demand that you can get
| that overtime, but that will change and then you are back
| to hoping you can even get 40 hours. In the meantime
| working for a boring company is a 40 hour a week job with
| great pay. FAANG is much higher pay, but they are also more
| hours per week in general (or so I'm told).
| bombcar wrote:
| Remember that a high-paid software developer is unlikely
| to have poor electrician friends, so by definition any of
| their friends are likely to make as much or more money.
|
| The trades can be a good life, especially since you have
| much more freedom in where you can be located, but to
| pretend they average as high as FAANG is silly.
| irrational wrote:
| Yeah, but in trades you have to climb in hot attics, deal
| with sewers, work outside, etc. And you have to put in a
| full days work. How many of us developers actually put in a
| full 8+ hours? I know that I don't. I can usually get my
| assigned work done in about four hours. Can you imagine an
| electrician or plumber or doctor or lawyer only working 4
| hours a day? It's insane how much I get paid for what I
| actually do.
| colinmhayes wrote:
| I know a few doctors working < 20 hours a week.
| bluedino wrote:
| Don't forget starting your day at 5am, driving an hour
| and half to and from the job site, or living at a Holiday
| Inn for weeks at a time.
| kungito wrote:
| I don't have to imagine them because I see them while
| working for me or while talking to my friends who do the
| job. They go from coffee to coffee, work hard 6 hours for
| a day then take 2 days break, take 4 hour lunch breaks,
| say they are gonna come then come 2 days later, and many
| other stories. Now ALL of them hiked the prices 2x to 3x
| no matter the craft because of course THEIR material also
| "dramatically rose in price". Plumber, painter,
| glassworker, woodworker, electrician, you name it. Some
| things actually rose in price like steel or wood, but
| some rose only 20-30% and of course they double the price
| of work after the price of material "doubles".
| automatic6131 wrote:
| >doctor or lawyer only working 4 hours a day
|
| I'm absolutely sure that lawyers and doctors only work 20
| hours a week.
| irrational wrote:
| Ha! My father is a doctor and in his 70s. He says he is
| retired because he only works 60 hours a week at the
| hospital emergency room. According to him, 60 hours a
| week is being retired since it is so few hours for a
| doctor.
| roflyear wrote:
| Agreed. Software devs have had it easy for a long time. I
| hope that doesn't go away but it is true!
| weatherlite wrote:
| lol yes this is a good point. We should all volunteer in a
| hospital or police department for a few days to get some
| perspective... And another thought: many jobs descriptions
| list any technical novelty under the sun even though only
| some small project in some small team somewhere in the
| company uses it. Why? To look more appealing to job seekers.
| It's much cooler to describe the job as PHP + Elixir + Kafka
| + Big data than simply PHP - which is mostly what the job is
| about.
|
| I'm not denying the field is changing fast, it is. But
| there's other reasons why 50 year olds are pushed away
| besides some imagined inability to keep up.
| alexfromapex wrote:
| So many things I have to disagree with. Not all software
| engineering is easy, particularly the highly paid variety.
| The six figure salary is diluted by spending weekends
| constantly having to learn new technology off the clock.
| Companies then expect senior engineers to mentor other
| engineers and give presentations of their technical
| challenges, debasing the value of the knowledge gained
| working off the clock. Manual labor jobs don't typically
| require the student loans software engineers have to pay off,
| further offsetting the salary gains by years. Manual labor
| workers get to go home and be done at the end of the day and
| aren't tacitly expected to be available at all hours. It may
| not be the worst industry but it definitely is not a fun
| industry to work in at a lot of companies. It has one of the
| worst interview cultures on earth probably and the more years
| I work the more I see the obvious flaws to the point where I
| want to leave.
| vsareto wrote:
| >The six figure salary is diluted by spending weekends
| constantly having to learn new technology off the clock
|
| You don't need to do this forever. Usually you can just
| focus on a stack and related technologies and do well. Once
| you have experience and a clearly defined need, ad-hoc
| research is good enough.
| mathverse wrote:
| You dont have to "learn it for the job" you have to learn
| it for your next interview where you need to have that
| trendy tech on your resume.
| [deleted]
| commandlinefan wrote:
| > You don't need to do this forever
|
| The thesis of the linked article is that you do. For the
| most part, it matches my experience. I'm 30 years in and
| already wondering how useful the Hadoop/Spark/Scala stuff
| I spent the last few years mastering is going to be in
| the next 5 years.
| lukas099 wrote:
| On the other hand, a C or Java engineer can probably be
| pretty confident that there will be jobs for the
| foreseeable future. Pretty much the Lindy effect in
| action.
| 62951413 wrote:
| I agree with your sentiment but question some of your
| examples:
|
| * Scala introduced us old Java hands to a whole different
| world of modern languages. If you know it you get Kotlin
| or the latest Java changes for free (probably TypeScript-
| like other ecosystems too).
|
| * Spark introduced a generation of backend developers to
| distributed query engine technology (my generation is
| unlikely to delve into postgress codebase in comparison)
| and made ETL trivial in real life systems
|
| Hadoop clearly died in the last few years or so (outside
| of EMR where it's mostly invisible anyway). But it's a
| perfect example of a complete technology lifecycle - it
| had a good run for a decade starting around 2010 which in
| our line of business is incredibly long time. Not to
| mention how many things about distributed systems people
| like me learned from that stack over time.
| drnonsense42 wrote:
| A lot to disagree with here, but off the bat, many of the
| highest paid software engineers are the ones working the
| very least or not at all.
| spacemanmatt wrote:
| The more experience I have, the more I get paid for
| consultation on the basis of my experience. I understand
| how that works.
| capybara_2020 wrote:
| Hmm what makes you think software developers are not abused?
| Maybe in your world they are not, but it regular to hear
| about devs working 12-14 hours a day. With bosses and clients
| harassing them even at off hours.
| bluGill wrote:
| You hear about that in "high status" organizations. Most
| companies cannot get away with that, and treat their
| developers much better.
| achenet wrote:
| This has not been true in my experience. The shitty small
| business masquerading as a startup treated me horribly,
| now I work for OVH and everyone is super nice.
| glouwbug wrote:
| Amazon's AWS is known for long hard sink or swim
| overtime, and they're the first letter in FAANG
| bluGill wrote:
| A high status company, they can do that. Find a boring
| company nobody has heard of
| BlargMcLarg wrote:
| There's absolutely zero point venting out frustration on
| fellow working class members when upper management and up are
| actively trying to reduce costs by cutting headcount and/or
| wages relative to profits.
|
| This race to the bottom is how software devs will become the
| new "teacher shortage", and how wealth will continue to
| funnel to the upper classes with those on the lower end
| unable to climb up.
| _fat_santa wrote:
| > Software development is some of the easiest, highest paid
| work in history.
|
| I joked with a girl yesterday when she asked me what I did. I
| told her: "I'm a dude that's paid way to much to sit in his
| living room and make websites and apps".
|
| Not everyone will make $300k per year, but you'll probably
| still make way more than most other professions. Teachers
| make like $70k in good places, often times much less. Here we
| are sitting in our pajamas at home changing the background
| color of a button and making twice as much.
| PartiallyTyped wrote:
| What they expressed is not contrary to what you express. They
| said the _expected_ salary _conditioned_ on intelligence for
| SWE is lower to that of other jobs, and I am inclined to
| agree. If you include game dev jobs in SWE then it goes even
| lower.
| spicymaki wrote:
| I can't get on the "It is a hard-knock life for Software
| developers" train. We are very-very well compensated, and we
| are insufferable.
|
| I do understand the issue. Humans are prone to complain about
| any slight whether real or imagined. Millionaires will
| complain about not having enough money, A-list celebrities
| will complain about not having enough visibility, sports
| stars will complain about every foul play.
|
| Money just does not lead to life satisfaction, only craving.
| I just have to accept that this is the human condition.
| ed_elliott_asc wrote:
| The thing that really crystallises how spoilt we are is:
| https://nohello.club/
|
| We take ourselves so seriously we cannot afford the time
| for someone to be polite!
| pawelduda wrote:
| Even the website itself states this pretty much on top:
|
| > Do still be polite, and feel free to have social
| conversations!
|
| Given that, I don't really see what's impolite about it,
| especially in an async conversations, where the other
| person is not expected to be on their feet, waiting for
| incoming messages.
| qgin wrote:
| Don't mix up engineer culture with being spolied.
| Engineers will find ways to trade social boilerplate for
| efficiency whether they get paid 500k or nothing at all.
| [deleted]
| q-big wrote:
| > I can't get on the "It is a hard-knock life for Software
| developers" train. We are very-very well compensated, and
| we are insufferable.
|
| The compensation can be high if you work in Silicon Valley
| (even though the cost of living is high there). The
| standard corporate programming job is already paid much
| worse. Also in a lot of countries that are not the USA,
| software development is not such a well-paying job.
| rco8786 wrote:
| > The standard corporate programming job is already paid
| much worse
|
| Data for this? Does not match my experience whatsoever.
| rednerrus wrote:
| The average SWE in America is making $93,000. Average
| teacher is about $65,000, Average construction worker
| $38,000, average bartender $65,000, average hotel worker
| $45,000.
| shakow wrote:
| Average construction worker, bartender & hotel worker
| don't have a Bsc/Msc.
| grumple wrote:
| Average SWE doesn't need one either.
|
| Most of the people I once worked with in the service
| industry had degrees though. Sure, not compsci, but
| something.
|
| Also most construction workers I've know made way more
| than that average, often close to 6 figures if not above
| it. Of course I'm in a big city, may skew things.
| shakow wrote:
| Maybe that's a geographical thing; I live in Europe, and
| there are barely any SWE without a master or equivalent
| here.
| Ekaros wrote:
| I don't think there is that many countries were software
| developers aren't reasonably well compensated compared to
| local standard of pay. And that is the level that we
| should really compare to. Is the pay above median or in
| top 25% for the location? I would guess that it is for
| most of the world.
| _fat_santa wrote:
| > The pay isn't great--the kids getting $300K packages out of
| Stanford are an exception; it's a marketing expense.
|
| You don't have to make 300k for the pay to be great. Even if
| you fall short of that and land at a company that only pays you
| $120k, you're still making a killing compared to most other
| professions.
|
| > Corporate SWE is pretty awful
|
| Then get out of Corporate. I work for an SMB, make about as
| much as I used to in Corporate, but the stress level and
| workload makes is much easier. Everyone want's one of those SWE
| jobs for a company that is in the news, but in fact you want
| the exact opposite. You want a low profile job at a company no
| one outside your niche has heard of. The pay is about the same,
| work is 10x less crazy, and if you disagree with a decision,
| usually you know the person that made it because the company is
| only about 200 employees.
| InefficientRed wrote:
| _> do you think lawyers work on Jira tickets?_
|
| LOL Jira has nothing on billing in 15 minute increments.
| AyyWS wrote:
| > do you think lawyers work on Jira tickets
|
| You want to represent a murderer, rapist or a Bernie Madoff?
| Lawyers deal with an order of magnitude more BS. You may feel
| bad when you work on a dead end feature. Imagine if your
| representation let a rapist walk.
| thrwawy283 wrote:
| I'm optimistic growing remote work means extending the working
| life of an SWE (counter to ageism).
| onlyrealcuzzo wrote:
| Most companies with good pay have a decently high median age
| for senior SWEs.
|
| I'm not sure why anyone 50+ would want to work at the vast
| majority of startups...
| bryanrasmussen wrote:
| so, de-aging video call filter?
| kache_ wrote:
| If you're not getting paid enough, have you tried leaving your
| job and finding another one?
| sarojmoh1 wrote:
| What's the alternative though? What other "career" change can a
| SWE make that will make them even close to what they used to
| make?
|
| What about escaping corporate swe and working for oneself?
| tialaramex wrote:
| Many lawyers have to religiously time track everything. Because
| hours attributable to a specific client are _billed_ and
| billable hours are where the revenue comes from.
| Victerius wrote:
| On the other hand, lawyers knowledge of the law and legal
| procedures doesn't become stale after a few years.
|
| "Requires 20 years experience in the Affordable Care Act" -
| Said no law firm ever
| agent281 wrote:
| It does get stale and changes per jurisdiction. Just look
| at how GDPR and CCPA changed the privacy landscape. At
| least programmers don't have to deal with linked lists
| having different time complexities in California.
| mikewarot wrote:
| On the other hand, tax codes and laws change all the time.
| If the law changes, and you don't know it as a professional
| in that area, the outcome isn't good.
|
| Every field has to deal with change. In law, you've got
| politicians changing the rules, in the corporate area,
| you've got Office Politicians changing the rules.
| sandoze wrote:
| No SWE has been audited for pointing their JIRA ticket too
| high.
| spacemanmatt wrote:
| Totally not true. Creating room to sit on your thumbs
| through the time management system gets noticed by pretty
| much everyone. Some SWE roles are billed to client accounts
| hourly, too.
| lucumo wrote:
| This happens for quite a few software engineering jobs too.
|
| It's not the 6 minutes I heard lawyers do, but I definitely
| have been asked to track intervals of 15 minutes.
| jonfw wrote:
| If you were a lawyer and said "I am not willing to track my
| time" you limit your options significantly more than a
| programmer
| xwdv wrote:
| You could work two easy software engineering jobs from home in
| parallel and double your income though.
| gerhardhaering wrote:
| Good luck if you spend 40-70 % of your working time in
| meetings and pair programming sessions, like I do.
| bruce343434 wrote:
| Lawyers work on "discovery". Requesting and sifting through
| piles of documents. The jira ticket doesn't seem so bad.
| Ekaros wrote:
| In general to me the whole process of getting the degree, the
| bar and then the actually work and the pay unless you make it
| seems like rather bad compared to how easy SWE or related
| work can be.
|
| The school is laughably expensive for something that should
| in reality be rather cheap. Read books, listen to lecturers?
| No laboratory work or practical experience and so on, clearly
| overpriced. And the studying to get approval of cartel? And
| then end up working for rather poor compensation for quite a
| long bit in career... As the pay is bi-modal, yes partners
| rake in money, but they also need to get the clients. But the
| people doing bulk of the work aren't that well paid.
| mistymountains wrote:
| Exactly. I was into a half dozen top law schools and had a
| very good LSAT score but what you mentioned nagged at me
| until I chose a technical masters instead.
| Enginerrrd wrote:
| This is... To be charitable: uninformed.
|
| As a civil engineer: I assure you my studies were QUITE
| rigorous. The job is very demanding, and I assure you the
| complexity can be very high, the consequences of mistakes are
| severe and occur over a massive variety of time scales. I had
| to work for four years apprenticing under licensed engineers
| after school and pass no fewer than four examinations, and get
| 4 licensed engineers to personally vouch for my work before
| getting licensed myself as a civil engineer. I am personally
| liable, in perpetuity, for loss of life injury or property
| which occurs as a result of work that I put my stamp on.
|
| As a licensed P.E (who is, dare I say, fairly talented amongst
| my peers even) with a total of 8 years experience, do you know
| what I get paid to deal with that complexity and liability?
| About $80k in medium cost of living area for 45 hours/week.
| That's not atypical. Does that "control for the intelligence"
| required of the job?
| weatherlite wrote:
| Wow unfair, is it because you work for the public sector that
| the salary is mediocre? It is not a bad wage but indeed
| sounds like the salary should be 50% higher.
| Enginerrrd wrote:
| No, I work in the private sector in land development. This
| is actually a good deal for me because I'm full remote
| whereas in my area I'd be looking at a $15-20k pay cut.
| abduhl wrote:
| 80k for 8 years of experience with a PE is a bit low. You
| should be cracking six figures by now if you're structural
| and coming close if you're actual (roadway) civil. Are you in
| materials testing? If so, obviously you should try to switch
| over to an inspection gig to get some of that sweet overtime.
| I was clearing something like 110k salary at similar
| experience back when I practiced and quite a bit more with my
| equity/COLA/bonus, but I was in a high risk niche field. Not
| sure where you're at but any market of reasonable size should
| be able to support you getting a raise, especially if you're
| actually as good as you think.
|
| I agree with everything you say. Software engineers (most
| should not even be called engineers, they're coders or
| developers and on the same level as a lab technician to me)
| are prima donnas whose mathematical and scientific
| backgrounds are (on average) at least one level of education
| behind any actual licensed engineer/professional making half
| as much. And their degree of liability is infinitely lower,
| as you note. I'll probably get sued or be involved in a
| lawsuit for my work another half dozen times before 2032 even
| though I haven't stamped anything in 3 years.
| _gabe_ wrote:
| > most should not even be called engineers, they're coders
| or developers and on the same level as a lab technician to
| me
|
| I'm a programmer and I 100% agree with this statement. I
| never tell anyone that I'm a software engineer even though
| that is my job title, I am a programmer. It annoys me to no
| end that we keep diluting language like this and devaluing
| the meaning of these terms. An engineer is held to a much
| higher standard than any web developer ever will be.
| stonemetal12 wrote:
| >do you think lawyers work on Jira tickets?
|
| Yes, I more or less think they do. Unless they are a headliner
| or founder of their own firm.
|
| Lets say you are a lawyer at glob corp, and they get sued. Do
| you really think you can say "Eh, the other guy has a point. I
| am not going to defend this one."? You either work the case
| defending glob corp, or you are no longer glob corp's lawyer.
| cure wrote:
| > do you think lawyers work on Jira tickets?
|
| Probably not, but instead they get to bill their working hours
| in 6 minute increments. And they have to bill a high number of
| hours a day. Praise yourself lucky if you don't have to do
| that!
| jokoon wrote:
| I live in France, I have been able to write c++ for ten years
| now, and it's not like employers want me.
|
| I might not be the best developer, and France might be a bad job
| market that always requires a degree, but that's my reality.
| sebastianconcpt wrote:
| This is super interesting. One of the reasons why I got to
| develop my strongest CS skill into Smalltalk (a puristic niche
| technology) is because I've understood that working with it makes
| easier the maximization of what is timeless and the minimization
| of what ages faster than fish out of the fridge (libraries).
| trashtester wrote:
| Just wait for gpt 42, it will be better than most of us at
| coding.
| speedgoose wrote:
| As a software developer, you are going to use gpt 42 to develop
| software. You will probably write a lot less code manually, but
| it's not a bad thing.
| trashtester wrote:
| Perhaps, or maybe gpt models will reach AGI capabilities way
| before version 42, and able to fill every role in a
| corporation, from CEO and down.
|
| If we assume one version every 12-24 months, GPT 42 would
| arrive some time between 2060 and 2100.
| tartoran wrote:
| They'd still need Gpt or AGI specialists or any new type of
| engineers that would arise from that. One class of problems
| may be solved but it will certainly be replaced by a
| different one.
| trashtester wrote:
| Exactly. I was discussing Joscha Bach's theories with a
| younger psychology student at a family event a couple of
| weeks ago. Turns out Bach's ideas from AI research are of
| his corriculum in his psychology training.
|
| Maybe a decade or two from now, they will hire
| psychologists to make sure the AGI's remain sane or at
| least safe, and not at all software developers.
| psychoslave wrote:
| > Perhaps, or maybe gpt models will reach AGI capabilities
| way before version 42, and able to fill every role in a
| corporation, from CEO and down.
|
| That's assuming that corporation are all about delivering
| the product they sell, and that the "side effect" of social
| bounds it generates is insignificant.
| trashtester wrote:
| Or that the AGI race ends up being an arms race between
| China and the West.
| faebi wrote:
| Finally someone who actually reviews my code. Or will I be the
| code reviewer?
| Victerius wrote:
| You'll review GPT42's code. Then your GPT43 boss will review
| your review.
| trashtester wrote:
| GPT43 is the code under review, I presume?
|
| And the human review process is primarily aimed at ensuring
| that human extinction is still covered by the loss
| function?
| mellavora wrote:
| Even better, it is really good at PRs!
| speed_spread wrote:
| Just wait till you have to debug GPT42-generated code produced
| by offshore subcontractors fulfilling GPT43-generated business
| requirements beamed straight down from Orbital 4B.
| trashtester wrote:
| By "debug", you mean shooting up all the drones that ended up
| being created with some instruction that had as a side effect
| that humanity would go extinct? (Perhaps something like:
| "Collect all H20 from Earth, and bring it to Orbital 4B")
| csours wrote:
| Can you name all the tools you use to develop software? Just
| thinking about it makes me tired.
| kache_ wrote:
| Why would I work at 50 when I retire at 40?
| 0xLaMDA wrote:
| fmakunbound wrote:
| An ass-clown engineering director/manager I had, proudly shared a
| chart - I guess it was from something related to the post - that
| at the current rate, everyone in the US will need to be a SWE at
| Amazon for it to continue to grow. I can't tell if that case is
| true or not and I don't remember the time frame, but I have a
| suspicion SWEs will instead have to work smarter with better
| tools and languages that effort "multipliers". x10 languages, and
| tools perhaps.
| jisbruzzi wrote:
| I think the profession is too new for the research data to really
| make sense. The sample size of devs with 20y of experience can't
| be comparable to that of the devs with 2y experiencie. I think
| the statistics from the paper stop making sense with the higher
| ages.
|
| I'm 26 years old. I have no idea what my future looks like.
| Neither do other people my age.
| BlargMcLarg wrote:
| >High-ability workers are faster learners, in all jobs. However,
| the relative return to ability is higher in careers that change
| less, because learning gains accumulate.
|
| This is not the only reason for the quick learner -> high dropout
| thing. By the article's definition, I'd be a "fast learner". Most
| of the industry expects me to come in already knowing what they
| want me to know, while most ways to obtain said knowledge are
| blocked by barriers difficult to bypass for non-corporates.
| Meanwhile, almost every corporate I get in expects me to do the
| same things for several months and gives me a few learning
| opportunities every year. At the same time, university primed me
| to absorb knowledge like a sponge and never get stuck on a single
| perspective, while corporates are complaining why graduates don't
| know Spring after graduating.
|
| So somehow you're expecting me to stay while my knowledge
| deteriorates unless I keep it up in my own time, all the while
| giving lowball raises and not satisfying my desire for
| challenges. Yes, I get it, grunt work has to be done. But you
| really can't tell me you're in need of software developers when
| you actively push people to do the very thing you claim you don't
| want them to do.
| pmoriarty wrote:
| _" somehow you're expecting me to stay while my knowledge
| deteriorates unless I keep it up in my own time, all the while
| giving lowball raises and not satisfying my desire for
| challenges"_
|
| That's not really the expectation... the expectation is that
| you'll be replaced by someone younger who's already learned all
| that.
|
| The expectation for more senior people is that they'll go in to
| management or architecture.. or maybe burn out.. it doesn't
| really matter to most corporations, as their workers are
| replaceable.
| rainboOow9 wrote:
| This is spot on, and personally, the main reason why I decided
| to move to an engineering manager after 10 years as a
| developer.
|
| And even as an engineering manager, I do not feel safe. I think
| only once you reach director level, you are protected from
| market hype and newest frameworks trends.
| weatherlite wrote:
| You think directors feel safe? I highly doubt it...
| nomorewords wrote:
| Safe about their current job? Probably not. Safe in the
| sense that they can definitely get a job at the same level
| (albeit at a smaller company in some cases) - pretty much
| rightbyte wrote:
| Ye no. The reason is not Javascript framework churn. I feel the
| notation that the software field change fast is a MBA take on it
| since the in fashion key words change name all the time.
|
| I guess the underlying reason is that engineers wont be promoted
| to (real) chief engineers with agency. Being a boss requires
| reports for some reason. So experienced people leave sweetshops
| to escape the grind when they get fed up.
| whimsicalism wrote:
| To me it is acceptable if the management class is drawn from
| tech people. MBA people are largely.. not the type of person I
| am interested in being managed by.
|
| Big tech that I work at generally doesn't have MBA type
| managers and it is good.
| cs137 wrote:
| > I guess the underlying reason is that engineers wont be
| promoted to (real) chief engineers with agency. Being a boss
| requires reports for some reason.
|
| Sadly, this is absolutely true. Manage or be managed.
| Capitalism invariably becomes corporate (if unchecked,
| monopoly) capitalism which invariably becomes managerial
| capitalism, in which people are assessed by their position in
| the tree structure rather than anything they do, and 0 reports
| |= loser.
|
| Unfortunately, if you think you can take on a middle-management
| role and also do technical work, you're probably wrong. Middle
| management isn't hard but it's super time-consuming, if you do
| it right (that is, if you care at all about the people you're
| managing, although you won't have much ability to protect them
| as you might hope for, because PMs). You'll barely know what
| the people under you are doing (most managers'll admit this in
| private) because so much of your time will be spent on meetings
| and political bullshit.
| kulikalov wrote:
| > Programming-related jobs have high rates of skill turnover
|
| True, but there are fundamental patterns that remain the same.
| And if we are talking about the level-of-abstraction type of
| change, then having experience in the underlying techs certainly
| helps.
| marcosdumay wrote:
| One of the things the article is actually measuring is that
| nobody hires based on deep knowledge on the profession.
| t_mann wrote:
| Some really good points on the ultra-fast depreciation of SE tech
| skills. A relative of mine is a mechanical engineer, well past
| retirement age and still going strong in his 2-man consulting
| shop because that's what he loves doing. He works with precision
| manufacturers, automotive suppliers,... all very cutting-edge
| stuff, helping them develop new product lines, manufacturing
| processes,... He says the core skills that he's using are still
| those that he learnt in university several decades ago.
|
| I was actually surprised because I heard so much about crazy new
| materials like carbon fibers, graphene, technologies like
| 3D-printing,... but apparently what makes a machine break are
| still the same things: mechanical stress, heat dissipation,
| friction,... new materials and processes might change the
| coefficients, but not the (mostly Newtonian) physics (my
| interpretation btw, not his words).
|
| One could say the same thing about software engineering - true
| fundamental advances in algorithms and data structures are
| sufficiently rare that it wouldn't be a nuisance to keep up with
| them. But the %-age of how important those basics are relative to
| the extremely fast-changing landscape of tools and frameworks is
| much smaller (plus, one could argue that even the fundamentals
| see a lot of shifting ground in CS, with neural architectures,
| differentiable programming, not to mention quantum computing).
| hellohowareu wrote:
| I think the skill depreciation concept is a bit exaggerated.
| Especially in the context of the newness of computers relative
| to the engineering field in general, the latter which has been
| around, arguably, for thousands of years.
|
| For example, SQL & Unix have been around since the 1970s.
|
| Linux since late 1991.
|
| Javascript: The end of 1995. NodeJS: 2009.
|
| Sure, there's a ton of churn in the JS Ecosystem, but all it
| takes is a bit of wisdom, skepticism, and patience to avoid the
| hype-cycle.
|
| Also, once you learn to build certain things with a programming
| language you learn the paradigms of the system you build.
|
| For example-- Web Servers. Looking at ExpressJS vs Python Flask
| documentation, there are many analogous pieces, because they
| follow the same standards for protocols.
|
| Another example-- data engineering / statistical computing:
| Checking out R vs Python packages, there are a lot of the same
| concepts, just in a slightly different format/language.
|
| HTTP/1.0: 1996 (RFC 1945)
|
| TCP: 1974 "In May 1974, Vint Cerf and Bob Kahn described an
| internetworking protocol for sharing resources using packet
| switching among network nodes."
|
| "TLS is a proposed Internet Engineering Task Force (IETF)
| standard, first defined in 1999"
|
| Considering all of this... I don't think most major things
| actually change that much. Sometimes a popular new framework
| takes the world by storm, but that's pretty rare compared to
| the output and churn of the ecosystem.
| t_mann wrote:
| From the perspective of whoever is experiencing it, it
| doesn't really matter how it fits into the historical
| picture. What you experience is sitting in front of your
| screen while your family is having dinner, not points on a
| multi-decade timeline.
| bradlys wrote:
| The issue is that every job I've had requires learning a
| bunch of new shit. Rarely am I just transferring over to the
| same languages or frameworks. Add on that each company
| decides different design patterns that they want to utilize
| and has a different interpretation of what REST is and what
| HTTP status codes are... it's a pain in the ass to be an
| expert in any good amount of time. Expert being one that can
| dive into the true weeds like cryptic memory leaks that
| require special profiling tools that aren't documented
| anywhere - etc. (and able to do this at a moments notice with
| ease)
|
| Especially if you're a full stack eng who is constantly
| swimming over the entire stack and they keep pushing new DBs,
| new logging tools, etc.
|
| There are commonalities but it is _a lot_ of learning as you
| go. I used to know Angular pretty well but now I don't
| remember it at all. I haven't even gotten to really ramp on
| React as much because my company uses it in such a terrible
| way that it's clearly not fit for.
| 62951413 wrote:
| In the last 20 years I have seen mostly ultra-fast depreciation
| of SE _interviewing_ skills.
|
| After the first ten years software development becomes quite
| intuitive and you internalize all those best practices. You can
| be trusted to start a new service from an empty git repository.
| Later it gets incremental, there's a lot of path dependency in
| languages and frameworks and few things come out of the blue.
| Those that do are frequently intellectually stimulating to
| learn.
|
| But interviews have been steadily getting strange and difficult
| (in a way not related to real life software development), at
| least in the last 10 years.
| svachalek wrote:
| Very true. This stuff started at places like Google and
| Facebook and it makes a sort of sense for them as right or
| wrong they're very focused on hiring new college grads. With
| no real work experience to speak of you can do a lot worse
| than hire the ones that show they can apply their CS
| coursework to leetcode problems.
|
| But doing the same to workers with 10 years of real world
| experience doesn't make nearly as much sense. Like hiring
| medical doctors by quizzing them on organic chemistry
| problems. Google and Facebook do it because they can and they
| don't know what else to do, but I don't understand how it
| became a universal practice.
| daveslash wrote:
| Yeah. I agree. I have " _Cracking the Coding Interview_ "
| on my bookshelf. There's a lot of very good stuff in it. I
| enjoy thumbing through it. But I keep waving it at my boss
| saying " _I will _not_ do this to people with several years
| of experience ~ This book is _not_ going to be my blueprint
| for interviewing_ "
| treis wrote:
| >I was actually surprised because I heard so much about crazy
| new materials like carbon fibers, graphene, technologies like
| 3D-printing,... but apparently what makes a machine break are
| still the same things: mechanical stress, heat dissipation,
| friction,... new materials and processes might change the
| coefficients, but not the (mostly Newtonian) physics (my
| interpretation btw, not his words).
|
| I don't really see the difference between that an programming.
| Writing code is still a bunch of "if" statements, the same
| underlying data structures, same algorithms, etc. There's some
| new technology being added on the top akin to carbon fiber and
| the other things you mentioned but it's fundamentally the same.
| t_mann wrote:
| You really think that a SE in their 70's who learnt how to
| write if statements and data structures 50 years ago would
| say that they're still basically doing the same thing now as
| back then? Maybe if they work on legacy stacks like the famed
| COBOL devs coming back out of retirement. But the thing is
| that what he's working on is cutting edge, not maintaining
| systems that were built decades ago.
| JackMorgan wrote:
| A fascinating premise, and matches what I saw as an engineering
| director. The best just get bored and move on.
|
| I think many teams are unaware how much extra value is possible
| by retaining existing employees vs hiring new ones. Each year I'd
| try to make sure I was "making them an offer they couldn't
| refuse" with new interesting challenges, new tech, plenty of
| personal research time, as much pay increase as I could possibly
| give, etc. A lot of engineering managers think that it's no big
| deal to just hire new staff, but even going from average turnover
| of two years to three years is an massive improvement.
| jayd16 wrote:
| >The best just get bored and move on.
|
| Is that the premise? Seems to be saying that constantly
| changing skills exhausts developers to the point that it
| becomes more lucrative to work in another profession.
|
| Although, I suppose learning new things just to tread water can
| be boring too.
| vitaflo wrote:
| This is how I read it too. That a fast learners skill is
| degraded in a field that is constantly reset (software dev)
| vs one where you can stack knowledge. And thus the fast
| learners will eventually leave the software field and
| transition to one that doesn't reset constantly so they can
| stand out more.
|
| Doesn't have to do with boredom so much as maximizing
| potential.
| tboyd47 wrote:
| It's not even that they get _bored_ , it's that they're
| comfortable with their tools and don't feel like doing the
| mandatory re-tool every 5 years.
| asiachick wrote:
| I think for some engineers (me) there's not much you can offer.
| I don't just want any new random tech challenge. It's unlikely
| your company or most companies have something I could truly be
| passionate about solving.
| AnimalMuppet wrote:
| > The best just get bored and move on.
|
| It may not be a matter of "the best". I have taken a
| personality test that had an item on it that covered product
| lifecycle. If 1 is initial conception, 2 is prototype, 3 is
| initial release, 4 is major enhancement, and 5 is maintenance,
| my _personality_ is that I prefer 2 or 3. By 4 (major
| enhancement) I start to get bored, and by 5 (maintenance) I 'm
| _definitely_ bored.
|
| It's not that I'm one of "the best" (though I like to think
| that I am). I have a personality clash with the later stages of
| product lifecycle.
| cs137 wrote:
| My experience, unfortunately, is that good managers like you
| seem to be don't last long. They get replaced by manage-up
| sleazeballs who'll never, ever protect the people beneath them
| because it's not game-theoretically optimal.
|
| The thing is, executives measure themselves by how quickly they
| get promoted into the next role, so no one cares that good
| management might reduce turnover in the next 2-3 years--in
| fact, the executive mindset is that it could just as easily
| increase turnover (what if we invest in their careers, and they
| leave?)
| dgb23 wrote:
| "what if we invest in their careers, and they leave?" - Does
| that also apply to decision makers?
| joshmarinacci wrote:
| My philosophy as an engineering manager is to actually pursue
| this outcome. If I treat them badly they will leave. If I
| treat them well and train them into better engineers then
| they will leave. It's like being a college football coach.
| Having your star athlete be drafted to the NFL is entirely
| the point.
| cabraca wrote:
| its not just the best ones. If you remove people from the grind
| for 1-2 days a week, give them a small budget and enough
| autonomy to do what they want, most people will fix shit that
| bugged them for a long time.
|
| The main problem is how micromanage-y the current development
| processes are. Everything has to be a ticket/user story and has
| to be planned and approved by some people that never even wrote
| a single line of code. Everything has to have some immediate
| business impact. I even see scrum teams measuring for team
| utilization now. target is 90% atm and they wonder why
| productivity is down.
| heretogetout wrote:
| We have a lot of bugs everyone complains to me about and I
| have sufficient downtime to fix them* but I have to go
| through drawn out planning, UI, UX processes before I can
| even start. I just don't bother any more.
|
| And yeah, it's definitely not just the best ones. I am
| mediocre and am so bored and so done with dev.
|
| * the downtime is there because I am waiting for planning,
| UX, and UI for a different high priority task.
| politician wrote:
| I think that many companies don't know or have forgotten
| that programming is a creative process more than a
| manufacturing process. You're not pulling chicken breasts
| off an assembly line and wrapping them in plastic.
| kilroy123 wrote:
| I could not agree more. My current gig is the opposite and
| after a year I'm ready to leave.
| dt3ft wrote:
| We can't even push to a git repo unless it has a linked work
| item/story/task/bug.
|
| So, in order to say, upgrade packages or refactor difficult
| to read code, the work item needs to be approved by a non-
| tech PO.
|
| Guess how much gets done outside of planned/micromanaged?
| Answer: next to nothing.
| fmakunbound wrote:
| > We can't even push to a git repo unless it has a linked
| work item/story/task/bug
|
| Exactly the same where I work. The pace of getting things
| done is absolutely glacial compared to what you know you
| could achieve if you had any agency. I think the only
| reason this organization I'm temporarily a part of can even
| compete is that all its competitors must be equally
| inefficient.
| sirsinsalot wrote:
| But when something major breaks, and the answer to the
| question of "why?" is ... "well, I just thought i'd make
| that change, but nobody asked for it" what happens then?
|
| I wouldn't want to be accountable in that situation.
|
| Every change carries risk.
| Frost1x wrote:
| And what if the same major thing breaks but you were
| asked to do it? Your necks on the line and you did
| something wrong that you were asked to do correctly. The
| problem is that part of current micromanagement
| environments isn't just about micromanagement but also
| passing down risk and responsibility to developers.
|
| You can do the change work in a feature branch and
| propose the idea after the fact. If there's interest
| "I've already done it." Stakeholders get a bit of instant
| gratification like their request just materialized into
| thin air. If they're not interested, don't mention it and
| let the work go unused, rack it up as professional
| development time and work.
|
| I do this fairly often. If a decision has a bunch of real
| risk associated with it I make sure to get sign off and
| create an appropriate evidence trail to pass risk back up
| when it's passed down. Much of work is just passing risk
| and liability around to PYA.
| sirsinsalot wrote:
| Because if you're asked to do something, someone has
| presumably thought it through and accepted the risk to
| the business/client.
|
| I'm not sure I'd keep someone on the team who did a
| branch AWOL and proposed the idea after the fact. Doesn't
| show much respect for the team, that time could've been
| spent working towards goals agreed by the whole team.
|
| If you don't have a lead or management environment with
| ears open to exploratory change, tech debt payoff or "do
| it better" tasks or whatever... and you have to manage up
| so much... that sounds like an issue to me.
| dubswithus wrote:
| What happens if you do it anyway and don't put it on the
| board?
| bendbro wrote:
| You wasted time on something that doesn't get you out of
| PIP, into promotion, or a higher salary. At companies
| that micromanage, I would imagine your direct manager is
| the sole owner of your performance rating.
| dubswithus wrote:
| I'm not trying to get a higher salary or promotion. I
| make enough money. I can't say for certain since it has
| never happened but I would probably quit on the spot if
| PIP'd.
| voxic11 wrote:
| In my company it depends on the repo but worst case is
| you get arrested for making unapproved changes to
| regulated sports betting systems.
| nso wrote:
| This made me laugh out loud because it was so unexpected
| but also makes perfect sense.
| dfsegoat wrote:
| Ouch. Out of curiosity, are those local or federal
| regulations?
| voxic11 wrote:
| Mostly state level here in the US. The feds just don't
| allow any type of gambling across state lines but
| otherwise leave it up to the states to regulate. Its
| actually a huge pain in the ass to deal with since there
| has been very little standardization of state regulations
| so far.
| tut-urut-utut wrote:
| Why would you do that?
|
| Worst case, you get criticized for doing unauthorized
| work.
|
| Best case, you spend your time on a task that gets
| unnoticed, and now you have to do overtime to do stuff
| that you are assigned to and actually supposed to do.
| dubswithus wrote:
| I don't mind criticism. I've been chewed out before. I
| refuse to work overtime and if push comes to shove I'll
| find a new job.
|
| Why would I do it? Bit of a rebel I guess.
| onion2k wrote:
| Guess how much would get done if you learned to explain why
| that work is important to a non-technical colleague? Lots.
| People don't always understand code, but they do understand
| problems, and why those problems are important to keep on
| top of.
|
| If your PO is sensible then a couple of paragraphs
| explaining why refactoring is important with a closing line
| that says spending a week catching up on refactoring now
| will save 4 sprints of work in a year's time will get you
| the time. People aren't stupid. Once they understand why
| something is necessary they've very receptive.
|
| Also, add refactoring time in to your estimates in the
| future and you won't end up in this situation, plus the
| code that's committed will be better.
| plasticchris wrote:
| Do your non tech colleagues need to have approval before
| saving a spreadsheet or writing a doc? Do they need to
| plan it out in tickets weeks ahead of time and get sign
| off before starting their work? Then report status daily
| on their progress?
|
| One of my friends is a technical writer and she is amazed
| we put up with this on the engineering side. No one would
| ask it of other professionals.
| plutonorm wrote:
| This is like needing to ask to go to the toilet. It's
| degrading. Utterly disrespectful. You expect people to
| stick around?
| onion2k wrote:
| Updating a dependency, refactoring some code, or just
| making a 'simple' change sets off a chain of events that
| affect other people. The other devs need to review the
| code, the QA team need to test it, and then regression
| test the rest of the app, the devops team need to deploy
| it, the legal team need to update the legal documentation
| that lists the licenses for the dependencies the code
| has, the technical writers need to change the docs if the
| update has a visible impact for users, and so on, all
| across your org.
|
| What looks like a small change to a developer is _never_
| actually a small change.
|
| I really hope there aren't that many people impacted when
| you go for a piss.
| plutonorm wrote:
| Once you have technical decisions being taken by non
| technical managers you are sunk. It's hugely insulting to
| experienced engineers and it's a major reason that people
| leave. People crave respect and if they perceive that
| they aren't getting it, they will do what they can to get
| out. You cannot micromanage engineers in this fashion and
| expect to have good retention.
| BlargMcLarg wrote:
| >Guess how much would get done if you learned to explain
| why that work is important to a non-technical colleague?
| Lots.
|
| From my experience, this is more a cop-out than anything
| else. At some point I'd expect you understand children
| with a track record of doing as they are told and
| informing you of important details do not need to be
| strictly parented around every corner. To expect that
| very thing from adults with way bigger incentives to
| behave feels off.
| dt3ft wrote:
| Explaining why maintenance is necessary time and time
| again (tech evolves fast) is soul-crushing and quite
| frankly rather demeaning. I need x amount of hours for
| maintenance work every sprint, or the codebase will
| slowly become outdated and undesirable to work with.
| Again, tech evolves and changes rapidly, open source
| packages die quite often. Maintainers abandon their
| packages (my PO likely has no idea that we rely on free
| open source software to ship features), there are
| security issues with using abandoned packages... To sum
| up: when I see issues, I want to fix them. If I have to
| go through a corp process and ask for time to fix the
| issues... I sort of tend to lose the apetite/mood. This
| right here is the core issue.
| rootusrootus wrote:
| That definitely sounds broken. I have a hard rule with my
| PO: 30% of the sprint is _mine_ (read: the team 's). He
| only gets to schedule 70% of the stories according to his
| priorities. I use that 30% for tech debt, primarily, but
| sometimes for spike projects and other things that interest
| us.
| chociej wrote:
| I like this in a certain light. It's not so much a
| problem that PRs should be associated with tickets, it
| just sounds like the gatekeeping involved in getting
| tickets into an iteration is horribly overbearing. There
| _should_ be work happening that is driven by technical
| wants and needs, and the PO should be amenable to that.
| ozim wrote:
| Yeah - team members are also stakeholders and improving
| dev experience by allowing refactoring is something that
| needs to be taken into account.
|
| Unless company does not want to have any devs working on
| that project in the future. But it would be just like not
| wanting customers to use that project.
| Guid_NewGuid wrote:
| It sounds like SOC2 compliance requirements
| unfortunately. Plus process overhead on who can raise
| tickets.
|
| I've found compliance makes it harder to write good code.
| If you get a PR approval with optional suggestions you're
| heavily disincentivised from actually addressing those
| comments since if you push those changes you now need to
| wait for review again.
|
| Like everything process and compliance it's designed by
| low-confidence managers with an inate distrust of their
| teams.
| sirsinsalot wrote:
| I fundamentally disagree with this.
|
| In our product, a change has the potential to cost
| businesses lots of money and also bring our customers
| into legal trouble, potentially making us liable too.
|
| That's why we have heavy-handed change control, code
| vetting and so on. Yes it makes things slower, but due to
| the risks involved.
|
| I've also worked on embedded projects where field updates
| are HARD and costly. We had heavy-handed change control
| then.
|
| When I put those controls/processes in place, it wasn't
| due to low confidence, it was due to confidence in two
| things: (a) even the best SWE makes mistakes and (b) work
| to control change risk pays off
|
| Sure, it isn't appropriate in many chases, but to write-
| off process as being designed by "low-confidence
| managers" because you don't see the point, is a bit
| myopic.
|
| Any SWE who thinks that a codebase doesn't benefit from
| review before merging is driving on ego.
| Guid_NewGuid wrote:
| I see your point, I think this is the crux of the matter
| though:
|
| > Sure, it isn't appropriate in many cases
|
| I think where low-confidence management comes in is the
| application of the process without reference to whether
| the process is appropriate. It's easier to require all
| changes to be reviewed, every change to have a ticket and
| all post-approval changes to require re-approval even if
| the thing being edited is CSS for an internal tool than
| it is to build out process that accounts for the field
| and risk.
|
| It feels like many places/management teams take an "off-
| the-shelf" compliance approach rather than constructing a
| process that works for the team.
| sirsinsalot wrote:
| The same rigid application of process is often done in
| the name of Agile, when it is in fact the opposite
| hilbertseries wrote:
| My company is soc2 compliant and we don't need work items
| to push code. Certain changes need to be approved, but
| they can be approved by a software engineer on one of the
| approving teams for the repository.
| teucris wrote:
| As a product manager I appreciate this take. Lots of
| bureaucracy is caused by a few base requirements for
| compliance/governance required by laws or customer need.
| It's a huge time suck for PM and engineering, but I don't
| know if this is avoidable. Maybe more automated
| verification systems?
| solatic wrote:
| > Lots of bureaucracy is caused by a few base
| requirements for compliance/governance required by laws
| or customer need.
|
| Read the underlying compliance requirements carefully. In
| the case of e.g. SOC2, the regulation requires
| _visibility_ but does not say who may open tickets or who
| needs to approve them. You can do a lot by making
| processes more open, and so long as they are still
| visible, you can still pass.
|
| If specific customers tell you how to run your business,
| either write process that isolates their requirements to
| a bare corner of the business (e.g. a completely separate
| environment for FedRAMP) or consider firing those
| customers.
| Chio wrote:
| I don't believe this is how it is actually implemented in
| _most_ companies. Where I work every PR must have a linked
| story / bug / etc but _anyone_ has the rights to create a
| story so it acts more as a way to track what changes
| actually goes into a release for x-teams to review and see
| if they need to document it, etc.
|
| In regard to refactors, people tend to just squash them
| into another change they are making. This makes the git log
| a bit harder to follow at times, but people did this back
| when we just used to push to trunk too so I don't think the
| story is the deciding factor.
| throwaway2037 wrote:
| You wrote: <<I don't believe this is how it is actually
| implemented in _most_ companies.>>
|
| I would say for non-tech companies with a strict set of
| IT guidelines, this is mostly true. Please ignore non-
| tech companies with weak or zero IT culture. It will be
| the 'Wild West' at those places! Nothing will be
| maintainable beyond a certain size because there will be
| so much key person dependency.
|
| For pure tech or tech heavy (banking, insurance, oil &
| gas, etc.), there is frequently more flexiblity,
| including "dummy Jiras" just to track a non-QA'able code
| change like upgrade C++ / DotNet / Java / Python library,
| or refactor some code. In my experience, 'Jira-per-
| commit' rule isn't awful, as long as tech debt does not
| require non-tech approval, and the ticket is just a
| tracking device. (A few different vendors offer very nice
| total integration between issue ticket, bug ticket, pull
| request, code review, etc.) Just a one liner in the Jira
| should be enough. In my experience, the best teams try
| hard to "do what works for us", instead of be a slave to
| the Jira process. Yes, I realise this is highly dependent
| upon team and corporate culture!
|
| Finally, I would be curious to hear from people who work
| in embedded programming -- like automotive, aeronautical,
| other transport, and consumer electronics. I have no
| experience in those areas, but there is a _huge_ number
| of embedded programmers in the world! Do you also have a
| very strict 'Jira-per-commit' rule?
| sirsinsalot wrote:
| I get why bureaucracy is a total pain, getting work
| approved by stakeholders constantly ...
|
| But the actual ticketing/PR system? Change requires
| control.
|
| The actual issue is not _using_ that control tool to get
| the right things done. If basic technical debt issues are
| not an easy sell in your org, that's the real problem and
| one that should be handled by senior/dev manager.
|
| A big red flag for me is any org that doesn't recognise and
| service technical debt and empower engineers to make a win.
|
| I also wouldn't say tech debt pay-off should be without its
| justification in some cases. If an engineer can't measure
| the positive impact of doing something, it can make it a
| hard sell. Why should an engineer spend 2 weeks doing
| something if we can't describe the payoff?
| michaelt wrote:
| _> Change requires control._
|
| But code, unit tests, git commit messages and merge
| requests are already providing 4x documentation of code
| changes. Adding Jira tickets and production deployment
| documentation gets you to 6x documentation.
|
| In my experience, if your company's problems weren't
| solved with 4x documentation, they won't be solved by
| going to 6x documentation.
| sirsinsalot wrote:
| I'm not sure that's a like-for-like comparison and if
| those things overlap like that, it sounds wrong:
|
| - Ticket: Description of the requirement
|
| - Code: How it was done
|
| - Review: Peer-learning, change evolution
|
| - Unit test: Testing of implementation as understood by
| SWE
|
| - QA: Did the change match the requirement, did the SWE
| understand it? Is the outcome the right one?
|
| Each "item" should serve a distinct purpose, have
| distinct value and be justified. If they seem like
| duplicates, then that probably points at issues
| elsewhere.
| michaelt wrote:
| - Ticket: AB-123 Increase the API maximum page size from
| 500 to 1000
|
| - Code change: MAXIMUM_PAGE_SIZE -500 +1000
|
| - Unit test: assert len(request[0:2000]) == 1000
|
| - Commit message: Increase the API maximum page size from
| 500 to 1000
|
| - Merge request: Increase the API maximum page size from
| 500 to 1000. For AB-123
|
| - Daily scrum update: I've increased the API maximum page
| size from 500 to 1000, if someone could have a look at my
| merge request.
|
| - Deployment request: Increase the API maximum page size
| from 500 to 1000, for AB-123
|
| - Post-deployment test plan: AB-123, ensure maximum API
| page size is now 1000
|
| - Stakeholder demo: When an API request is made, the page
| size is now 1000.
| olvy0 wrote:
| I know what you mean, but to be a bit of the devil's
| advocate here (only half kidding):
|
| As a reviewer of such a pull request, I'd go over all the
| places in the code where this page size constant is used.
|
| I'd also like to see a rough assessment of the impact of
| this change. Does it affect a lot of code? Some code?
| What percentage of users are to be affected by this
| change?
|
| Also, who asked for it? It's ok if no user asked for it
| and it's your own initiative. But if users did ask for it
| (or rather complained something like "the app rejects our
| API requests" or "the app is effin slow, please fix"),
| then it'd be nice to connect to their tickets / mails /
| chat logs. This could serve as a proof to management if
| someone decides to question this change.
|
| Deployment: If this change is in an API called by many
| functions (so, big impact), but it can bring with it a
| big benefit to many users, I'd like to see a rollout plan
| - as simple as putting it into a beta version, or (if we
| have them) using feature flags to enable it, and a plan
| (can be an automated script) that tracks crashes during
| this rollout. If the change doesn't have a big impact
| then that's not necessary.
|
| Ideally I'd like to see coverage results that proves that
| all those functions which use this constant and all code
| paths leading to them have coverage. It's perfectly ok if
| they don't, perfect is the enemy of the good, but at
| least the major ones. I would also go over carefully at
| least over some of the code which uses this constant
| directly and indirectly to ensure no funny business like
| too many threads allocating this bigger buffer, no funny
| out of bounds issues due to code assuming size is of a
| certain length (if it's C/C++/C#) etc.
|
| So really, what is the user-visible impact of this
| change? If it has no user-visible impact, then why was it
| made? The ticket as it was specified here doesn't answer
| this question and therefore reflects a somewhat broken
| organization/team, where engineers are disconnected from
| their users and/or lack the eloquence or willingness or
| time to explain their changes. I bet the person who wrote
| this doesn't even bother writing comments about non-
| obvious changes (such as this one!), making their code
| harder to maintain.
| politician wrote:
| - Incident report: Regression. When running on AWS, page
| size of 1000 causes the process to crash intermittently
| with data loss. Recommendation: reduce the max size to
| 500.
| treis wrote:
| It's amusing to me that in none of these did you say why
| you were increasing the page size.
| finnh wrote:
| Requiring a "non-tech PO" to upgrade a package is just
| broken, though. PMs are good at some things, but giving
| them power over every minute of an engineer's day is a
| recipe for badness.
| sirsinsalot wrote:
| Agreed. I'm not sure I'd let anyone who wasn't from a
| hands-on SWE background decide the priority of technical
| work.
|
| Of course, in some cases, it is right to say "Here's the
| problem, and what could go wrong if we don't fix it. You
| need to accept the risk".
|
| It's a sad fact of life that technical problems need to
| be sold to non-technical people as they're often the ones
| shouldering the risk.
|
| Part of my day-to-day is selling tech debt pay-off work
| to clients who have to pay for it. They rightly ask "why
| should we pay for this?".
|
| I think in 99% of cases (like your package upgrade
| example) the systemic failure is elsewhere and the
| approval is often meaningless and inefficient.
| kansface wrote:
| > But the actual ticketing/PR system? Change requires
| control.
|
| The ticket system isn't for engineers. If it were for the
| engineers, they wouldn't be continually _forced_ to use
| it. The ticket system is for the legibility of management
| or sometimes compliance (other flavors of management).
| This visibility is at the expense of the productivity of
| the engineers themselves.
|
| > Change requires control
|
| No, fundamentally, change is gated by control. The more
| control, the less the change, with sufficient levels of
| "control" leading to no change.
| singlow wrote:
| Requiring it to be documented and approved is just
| responsible from a change-management perspective. At my
| company we have similar requirements and it is basically
| required to do that in order to meet security audit
| expecations. The problem is when they managers don't let
| you have a say in what gets done.
|
| If a developer on our team things something should be done
| and can do it quickly, they are encouraged to create a
| ticket and do it. It gets code-reviewed and accepted. If it
| is not a quick change, they need to bring up the ticket at
| a planning meeting to make sure it is balanced against
| other priorities.
| mysterydip wrote:
| > give them a small budget and enough autonomy to do what
| they want, most people will fix shit that bugged them for a
| long time.
|
| This has been huge for me at my current job. I saw some
| unused equipment in a lab and started asking questions why.
| Turns out the thing worked, but not great, so no one used it.
| What started as just fixing bugs and adding features became
| my own line item in the budget and requests for the (new and
| improved) equipment from other departments. It's something I
| look forward to working on.
| [deleted]
| wes-k wrote:
| I've dreamed about a 20% policy like google had, except it's
| where you can work on anything, including code debt.
|
| I've tried to stress to managers in the past that developers
| feel the pain of code debt. It makes us slower! Enable us to
| spend time sharpening our tools and managing our codebase.
|
| One problem of course is, not all SWE can do this well. I
| wouldn't necessarily trust a junior hire to recognize and
| execute a proper refactor.
| xur17 wrote:
| I've worked at companies that tried to have explicit 20%
| policies, and it worked okay for some period of time, but
| then became difficult to prioritize. That said, I've
| typically been pretty successful at casually using 10 - 20%
| of my time to work on random low hanging fruit (dev
| ergonomics, performance, etc). For some reason using a
| quiet Friday afternoon, or time between tickets seemed to
| work better than an explicit "work on whatever you want
| every Friday".
| popotamonga wrote:
| At my old place they just overestimated my tasks
| complexity by 200-300%. I wasnt going to be the one
| saying no... So i had plenty of time to fix whatever.
| rolisz wrote:
| In my old workplace, I overestimated my tasks by 2x. Who
| was to question me? The PM who hadn't coded in 10 years?
| My manager who had never used Python before?
| wayeq wrote:
| Lucky you.. in my experience the answer to your 2
| questions is: yes. Having no or outdated experience
| doesn't stop them from questioning even accurate
| estimates and attempting to filibuster their way into us
| lowing them.
| Frost1x wrote:
| I've always been a fan of the under promise and over
| deliver paradigm in tech. Overestimating gives you nice
| fat error margins should something unplanned come up,
| you're not slaving evenings and weekends away trying to
| meet a rough estimate that someone turned into a deadline
| for scheduling.
|
| Once you finish meeting minimum requirements, should you
| have that margin padding, you can then refine what's been
| created. Fix issues or shortcuts you may have taken,
| improve or optimize some portion that'll give significant
| improvement in experience, add some additional
| functionality you think would be nice to have where
| permitted (while the context of everything is fresh in
| your mind).
|
| Ultimately what's delivered will more often than not meet
| minimum requirements so whomever requested the work will
| be satisfied. They may even be incredibly pleased and
| consider you a wizard for some of the improvements (they
| also may not want the improvements so be sure to keep
| those modular you can very easily slice them off if
| they're undesired).
|
| This keeps everyone happy really. When you start trying
| to optimize on the estimates so they reach actual time or
| a little under actual time to pressure developers to do
| OT, that's when you get into toxic environments. If you
| give a little error margin developers will likely
| reinvest it in your application where it sparks joy in
| them meaning you're about to get the highest quality
| work, the stuff the engineer _wants_ to do.
| b3morales wrote:
| My take is that it's always going to come with an
| implicit expectation of some "business value" resulting
| if it's time granted to you by your management. If you
| say "let us hack, we could come up with something that
| makes millions of dollars!" they're going to wonder
| constantly when exactly you're going to come up with
| those millions.
| dgb23 wrote:
| How does a junior become a senior? By trying stuff that
| cannot do well yet and making mistakes.
| deathanatos wrote:
| When I was a non-senior eng., I interacted with plenty of
| senior engineers, found that I easily possessed the
| skills to work at their level / do their job.
|
| My company at the time laid off my entire division. I
| decided it was time, needed a job of course, and so
| applied for and landed a job as a "senior SWE".
| [deleted]
| eropple wrote:
| This is really important. At my first job, in 2010 or so,
| we were using Servlets. Not just Servlets, but Servlets
| with some home-rolled shims to make it act like Servlets
| 1.0 in a distinctly post-1.0 world. Doing pretty much
| _anything_ in there was slow, and I realized it at the
| time. So during a hack week I built an MVC layer on top,
| with routing that didn 't involve XML files and just--
| made it generally _better_. Or so I thought at the time.
| To their credit, the team took it seriously and gave it a
| try, and while in a vacuum it was a better system I hadn
| 't understood how the people on the team thought about
| web development and it wasn't a better fit _for them_.
| They didn 't feel like there was a problem, so a solution
| didn't make sense. It could've been technically amazing
| (it wasn't, but it was _fine_ ), but it didn't solve a
| real problem, so it was an academic exercise at best.
|
| Other refactors and systemic expansions, like a slot-
| based system for advertisement placement, worked a lot
| better, because I'd learned a little about how to dig
| into what problems actually existed and how they were
| causing aggravation to people.
| xwolfi wrote:
| That s the problen with juniors yes, you have to drive
| them towards productivity while not killing their
| enthusiasm.
| eropple wrote:
| Yeah, totally. And in my experience (on both sides of
| things), a good junior developer is going to probably
| realize _what sucks_ well before having a strong
| understanding of how to make it not suck. The first
| attempts are probably not going to be perfect (maybe not
| even good) - but that 's the sort of thing folks don't
| really learn by being told. You have to walk into that
| screen door a couple times. Which is why hiring junior
| folks is such an investment.
| solardev wrote:
| Ideally with guidance/mentorship though. There's a lot of
| stuff I learned the hard way that I wish I didn't have
| to!
| onion2k wrote:
| _I 've dreamed about a 20% policy like google had, except
| it's where you can work on anything, including code debt._
|
| Where I work we have 1 'maintenance day' each sprint where
| the devs choose what to work on. That can be fixing
| annoying issues, improving the code, learning something,
| trying something out, etc. It works well when other things
| aren't taking priority (which is far too often tbh).
| mattgreenrocks wrote:
| > If you remove people from the grind for 1-2 days a week
|
| The modern office seems hellbent on killing every last bit of
| slack in their workers, then wondering why they leave or get
| burned out.
|
| I realized the other day that a big part of my drive to move
| towards self-employment is really just a way to carve out
| time to take adequate care of myself. I have significant
| doubts that it is possible to continue to advance in tech to
| staff+ levels, be a good spouse, parent, and friend, and not
| run myself into the ground with physical/mental issues. And
| that is sad on multiple levels.
|
| So I respond by easing up on advancing my career, because it
| gives back to me the least.
| shagie wrote:
| > The modern office seems hellbent on killing every last
| bit of slack in their workers, then wondering why they
| leave or get burned out.
|
| There's a book to hunt up...
|
| Slack: Getting Past Burnout, Busywork, and the Myth of
| Total Efficiency
|
| It's written by Tom DeMarco of Peopleware fame.
| Frost1x wrote:
| Pretty much. I often wonder where people find positions
| claimed on the internet where they're working 2-3 hours a
| day. I've increasingly throughout my career saw more and
| more slack evaporate to a point it's almost nonexistent.
|
| I always wondered why people complained about how much time
| certain aspects took up they could automate away and my
| question was always: well, once you automate away that nice
| simple task, what do you do with the extra time? You
| created more slack and someone's going to come looking to
| fill that void the second they're aware. And the new task
| is going to be more difficult until you get to sets of
| tasks so cognitively intense and complex you can't simply
| automate them away. Then your day is filled with incredibly
| challenging stressful work.
|
| I have no issue with doing complex work, I've spent my
| career doing it. What I have issue with is the amount of
| such work I can do in any given time span. At some point I
| need a break where I do something simple and mundane.
| Continous complex problem solving is the road to burnout.
| You'll be greeted by more and more failure and lack of
| visible progress combined with ever increasing stress
| levels.
|
| If you're an entrepreneur, small business owner, or manager
| looking to optimize your labor force then you may want the
| opposite. You want more time to focus on the complex and
| the more simple you can automate, the better or if you have
| a workforce, you want your highest comped individuals
| focusing on the most optimally complex tasks they're
| capable of handling. You don't want your Fellow level
| engineer refilling the coffee maker because it's empty or
| implementing some basic features on some UI, go back to
| inventing new algorithms, math, or building new
| technology... but people need those nice relaxing breaks
| and slack, they can't run at their best constantly.
| namaria wrote:
| I think the low hour anecdotes come overwhelmingly from
| Europe, where 45K is considered a high salary
| namaria wrote:
| >I have significant doubts that it is possible to continue
| to advance [as a worker under capitalism] (...), be a good
| spouse, parent, and friend, and not run myself into the
| ground with physical/mental issues.
|
| It's heartbreaking how much human suffering is entirely
| avoidable in a post scarcity society where it is still
| artificially enforced to avoid the "moral hazard" of
| commoners daring not to toil or worry every waking hour
| commandlinefan wrote:
| > has to be planned and approved
|
| It gets worse, too - as long as I've worked as a software
| developer there's been _some_ sort of time tracking system in
| place, and it has to be planned up-front, and has to work out
| to at least 40 hours (after they "negotiate" your estimates
| down). Which leaves no time for the unplanned stuff that
| inevitably comes up. This always goes in a cycle like this:
|
| 1. Management demands that every bit of work be associated
| with a ticket
|
| 2. devs just open tickets for the unplanned stuff so that it
| shows up in the ticket tracking system
|
| 3. management complains about devs opening "their own"
| tickets and prohibits self-opened tickets
|
| 4. devs do the unplanned (always "super high priority!")
| stuff without any ticket tracking and fall behind on their
| "planned" tickets (that nobody really cares about any more,
| but are still on their board)
|
| 1. management demands that every bit of work be associated
| with a ticket...
| sobren wrote:
| It feels bad too have a ton of structure, but the opposite
| is worse IMO.
|
| Single line tickets from the CEO that turn into months long
| projects with no guidance on the functionality. Engineers
| that burn down entire features because "it's bad code."
| Secret projects where you get berated for asking
| stakeholders to to clear up requirements because "you're
| scaring them."
|
| It's easy to look at a rigid structure and assume it sprang
| wholecloth from Zeus's head - but most of the time it's an
| overcorrection. Being burned by a company where Freedom is
| just an excuse to make employees to work overtime will make
| anyone go a little overboard.
| goodpoint wrote:
| You just gave a bunch of examples of problems that are in
| no way fixed by ticket bureaucracy, only hidden.
| namaria wrote:
| A lot of this thread boils down to "bad engineering is
| bad" and "bad management is bad". Not a lot of insight to
| be found IMO...
| lokar wrote:
| Wow. I have never seen anything close to that. Why would
| anyone put up with that?
| adrianN wrote:
| Shit that bugged them for a long time might have a lot less
| value to the business than a tedious task that nobody wants.
| bruce343434 wrote:
| So you'd rather have bugged out people which decreases
| morale which decreases productivity? See it as an
| investment. Yes, motor oil is more expensive than no motor
| oil, but it makes the engine run a lot better.
| grvdrm wrote:
| You're both right, unfortunately - which makes it hard to
| ever consistently choose a path. Many people are stuck in
| the middle of the two sides in lots of orgs.
|
| Your tedious tasks are important. But some of your
| research/autonomous work is important as well. But both
| are sometimes hugely wasteful as well. I'm regularly
| reminded that someone more senior can ascribe "business
| value" to something and push that to the top of your
| priority list even when that thing isn't valuable.
|
| To me, as a manager, it's worth thinking about it from
| the perspective of praise. People might feel better if
| you're reminding them that the tedious stuff IS actually
| important, IS actually valuable (and why), and etc. And
| it's important to tell folks to share their side/research
| efforts as well. I've neglected to share so many of these
| little efforts over the years, but feel that they're
| almost always well received.
|
| Last part said a different way. Share something, get the
| response, and then do what you can to connect and make it
| more relevant to a real problem or issue if it's not
| already.
| treis wrote:
| I see this a lot at my current job. The tech stack is
| ridiculously complicated and I think a lot of it is due
| to this sort of motivation. They let developers run wild
| and build using whatever tools or new hotness that they
| wanted. But ultimately we sell Widgets. And the 3rd
| refactoring of an application to use some immutable data
| library doesn't do anything to help us sell more Widgets.
|
| So yes, we have happy developers that have good morale.
| But we also have probably twice the number we need
| because nobody put their foot down and said "this is
| work, not play".
| jimbokun wrote:
| Shit that bugged them for a long time can multiply overall
| productivity going forward, and add far more value than
| slowly banging out the next user facing feature in a low
| productivity environment.
| itsmemattchung wrote:
| > The best just get bored and move on.
|
| Or a reorg happens and you land a shitty manager.
|
| To be fair, almost all my managers were amazing, people who
| truly cared about their staff: at professional level as well as
| a personal level.
|
| I've only had one absolute psychopath as a manager ... but I
| should thank him because he was the last straw and gave me
| enough courage (and anger) to leave AWS and start my journey as
| a solo entrepreneur.
| y-c-o-m-b wrote:
| Oddly enough I joined AWS not too long ago and while the job
| itself sucks, my manager is exceptionally awesome. In fact I
| only interviewed with AWS as kind of a half-joke, but he was
| so likeable that it convinced me to take it seriously. He has
| a healthy "fuck em" attitude when it comes to pressure from
| outside the team, so he's constantly protecting us in a
| multitude of ways (e.g. during on-call rotations or deadlines
| being imposed on us). He has yet to do a single thing that I
| would consider micro-management.
| alexalx666 wrote:
| We need more stories like that :D
| deathanatos wrote:
| Literally every engineering director I've ever seen says
| exactly what you're saying. E.g., "as much pay increase as I
| could possibly": for my experience and growth, an employer I
| worked with offered a -6.6% increase in real salary for my time
| there. ([?]3 years tenure.) Negative. The work was also ... not
| what I'd like to be doing. So between "stay with company" and
| "find different company", it shouldn't be too hard to predict
| which option was more appealing.
| quickthrower2 wrote:
| You should fill in your profile with a link to your careers
| page :-)
| willjp wrote:
| Re: skill churn
|
| I got the impression that there is much less of this in lower
| level languages. It seems like there is a fairly stable
| foundation of C, Cpp that everything else is built on top of. I
| wonder if embedded programmers have this problem.
| trashtester wrote:
| > I got the impression that there is much less of this in lower
| level languages.
|
| Not only the lower level languages, but fundamental skills in
| general, I think. Undertanding the computer from the hardware
| level, OS level as well network protocols, filesystems etc tend
| to continue to provide benefits even if one fashionable
| technology is replaced by another.
|
| Similarly, fully undertanding algorithms, data structures,
| design patterns and architectural patterns also generalize,
| provided you DO understand these concepts with their strengths,
| weaknesses, and when to use them and not use them.
|
| If you have the skills above (+ some math and general
| troubleshooting ability), you are able to approach most
| software/compute problems from first principles. If so, you may
| find that you are able to take up senior roles even involving
| technology you have not used before, as long as the tech
| introduces few new fundamental ideas. (And if there are new
| fundamental ideas, you need to learn those to keep up, but such
| ideas arrive much more rarely than new tech).
|
| People who do not learn these things from first principles, but
| instead are memorizing patterns they learn from other people,
| have to do a lot of new memorization when new tech becomes
| fashionable.
|
| Not only does that take a lot of effort, it also makes it
| unlikely that they will be able to identify antipatterns by
| themselves, and it may cause them to end up trying to use the
| new and fashionable tech in ways it is not suitable for.
| bryanrasmussen wrote:
| >If so, you may find that you are able to take up senior
| roles even involving technology you have not used before, as
| long as the tech introduces few new fundamental ideas.
|
| But will you be hired for those roles? Not that many
| companies will do that I think.
| trashtester wrote:
| That depends on your reputation, network and references, in
| that order.
|
| Also, some of the companies that hire look precisely for
| such abilities.
| II2II wrote:
| From an outside perspective, as someone who does embedded
| development as a hobby rather than a profession, the answer is
| both yes and no. The stability of C and C++ helps, but you
| still have some churn in libraries and you almost certainly
| have to deal with vendor specific libraries (which makes moving
| between vendors difficult). Trying to bypass libraries doesn't
| really help on that front, since you are simply trading of
| churn in libraries with churn in microcontrollers.
| leoedin wrote:
| In my experience it's the opposite problem. Advocating for
| modern development practices or languages (even unit testing,
| let alone Rust) for embedded projects is hard work. Most new
| embedded projects, even today, are written in C or C++.
| matt321 wrote:
| I have the same experience. I cant event get people onto
| github. We spend thousands a month trying to keep our
| international teams connected to our local servers and they
| still have to zip up the project and send it to me over
| teams.
| doctor_lollipop wrote:
| How does the language matter? I write software (mostly) in C
| for a living (the simple man's "embedded" as in "Linux on an
| ARM board", not the "bits on a micro controller" kind) and I
| made sure we use test-driven development with proper version
| control and CI.
|
| We have been trying to use Rust for some new projects but
| cross-compiling is still much more hit-and-miss with Rust
| (i.e. third-party libraries) than it is with C. I imagine it
| would be worse for proper embedded projects.
___________________________________________________________________
(page generated 2022-06-14 23:01 UTC)