HN user

py_or_dy

234 karma
Posts2
Comments20
View on HN

Same, I noticed my decline about two years before I got covid (2019). Getting covid def didn't help. I've managed to work a pretty simple software dev job mostly fixing bugs and not under any time constraints. I think that helped, but then I just now got laid off because the company realized that they could outsource most of the software work to china and/or Philippines. That and the notion that along with AI, I don't think the American based software developer will ever be a thing again. Which that is making me depressed again...

I did over 120 combined interviews/phone screens/take home tests,etc for about 55 different companies between 2020-2022. Imo, unless it is for a big tech company, interviewing is just not worth it. Sadly I get too nervous to even try out for any of the big tech companies. Plus I'm white and in my 40's. Companies now really want people out of high school/code camp that can program in python or javascript and pay $25 an hour. If a smallish company is handing out take home tests they are only to waste your time. Most of the companies I interviewed for were looking for 3-5 new devs. In some extreme cases I was told they were looking for 10-30 devs in the next 3 months. Here we are nearly 2 years later and I browse the company linkedin page and the employees listed are still the same ones. They never hired anyone. I depleted my $60k life savings in my 18 months of unemployment. If it wasn't for my faith in a "God" and my family, I would have just killed myself via a stent of extreme drug use and homelessness. I haven't drank or smoked since high school. I did get a couple of brief contract jobs but was quickly fired/laid off. But that little bit of money on top of the stimulus payments are what got me into 2023. Then found a backend dev job for a porn site. There was no interview, I was the only one that applied. I now work with the worst code and the laziest people. But it is the coolest team. There are no "PC' police or HR nazis here. Money pours in. I work like 10 hours a week and feel like I'm in heaven.

Oh, but onto your questions. So yes it is frustrating. And as far as feedback. I stopped asking for feedback because it was always maligned. Nobody will really know why you didn't get hired, remember, these companies aren't really hiring unless you are young and cheap. In most cases my feedback sounded like it was almost for someone else. Like "needed more linux experience (I haven't touched a windows or mac OS since 2005). Or my favorite, after talking about a data warehouse I built to house 5TB of data and 15 billion rows, and all the different schemas I migrated through, their reason was they wanted someone with "more database experience".

I'm pretty burned out too with my work (mostly web dev stuff). I've been meaning to get "AWS certified" or learn Kubernetes, but like you, it all seems so crazy to me. I used to love old school "linux administration", but this new wave of tech gives me no interest.

Curious how you get an offer such as this? I've thought about changing job roles, but I really suck at leet coding so I've never really bothered. I figured that as a 40 year old male, no one would hire me for a role unless I was already experienced. Is that not the case?

I've been doing some form of development since the age of 28. I look young for my age so I could probably pass for 35. I've made sure nothing giving my true age away is online or on my resume. I think the biggest issue is I have mostly been in the Perl ecosystem and most of those companies are self hosted, not using docker, etc. I do have requirements of only being remote, this worked fine in the perl world. But those jobs are mostly non-existent now and plus I was tired of the mindset that perl software stacks seem to harbor (never updating software, why use a framework when you can cowboy code your own, etc). Spent 2 years playing around with Django, figured it would be an easy transition. Hard to say why I don't get hired. I even did 7 interviews with one company. Several occasions I even celebrated early (buying stuff I didn't need with my dwindling savings account, going out to eat at fancy places with the family, etc) because I had 2 or 3 interviews ongoing and they were going so good and I was such a good match that I just knew I'd get an offer from one. But no... Slowly went from asking $130k per year to $120k, $110k, $90k.. That didn't help, the companies got crappier, the interviews just got longer and harder (the opposite of what I was wanting because I was so burned out by this time). Had a couple of perl companies reach out to me, but they are old legacy code and part time 1099. I can barely make myself put in over 15 hours combined per week with them though. Just feels like I am poisoning myself by going with them and want to do more interviewing but then the voice telling me it is pointless comes back so I just end up sitting in my home office for 12+ hours a day staring out the window.

Stuff is screwed up. I applied at over 80 companies last year, got interviews with about 60 of them, did about 110 individual phone screens/interviews. Got no offers. It seems the management paradigm right now for small shops or startups is to dedicate $350k or so per year for developer salaries. A single principle or staff engineer is hired. Takes $150k per year. And they in turn try to shove 4 juniors into the remaining $200k. I'm 40 years old with no lead experience and I'm not a junior. So I fit none of these roles.

I'm not moving, I've been working remote only since 2015. That is the biggest factor to going to a FAANG. I am near Austin, TX, there are many SaaS startups there but the dev teams are always people under the age of 30 for the most part. They live in small apartments, not married, no kids, some didn't even have a car. I'm 40 and live on 20 acres of land and even though I personally live and breath code, it is clear I would never "fit" on any of the Austin teams even though I am perfectly fine being around modern yuppie types.

Sounds like a long rant about how you can't get a job in a thriving tech industry where salaries are actually going up by a lot.

You say it is thriving, I say it is not. So who is correct? Every job I applied for was django development with a remote team. Once I'd get rejected, I'd keep an eye on the company's linkedin page and see who got the position instead of me. In two cases it ended up being someone much more senior than I (like 10 years experience in pure django), and in 3 other cases it was someone with less than two years of experience and who recently graduated from a coding bootcamp (and I guarantee they are paid no where near $100k). And in about 10 other cases, the linkedin page has stayed the same, so not sure if they hired anyone at all or what. But I've only really been paying attention to the pages for about 15 different companies versus the 60 or so I interviewed for.

Edit: Oh and about the wage thing... forgot to mention for many of these smaller software shops they are now doing most of their hiring out of South America. Fullstack labs, consumer affairs, just to name a few but the list goes on.

I can't help but feel like the "software industry" is in a slow decline (or race to the bottom). Back in 2007 before I even knew how to "program", I was a linux admin at a small start up. We found someone that we trusted enough to build us a basic webpage. But he wanted $75 per hour. Couldn't find anyone else so bit the bullet. It was written in php, took the guy a few weeks to do, and we paid him somewhere between $3k and $5k for the work. For the other side of our business (our actual product, taking GPS coordinates via SMS and displaying on top of a google maps like interface), same thing, we could only find one other person that we actually trusted to build our actual product. But he wanted $75 an hour. We bit the bullet. Two weeks go by and and he shows us a mostly working demo. A back end Ruby script writing the SMS to a mysql DB, and a Rails app displaying the coordinates with mapnik. Another week later and he is finished and invoices us for $16,000.

I was in college at the time and couldn't wait to graduate and start rolling in money. I mean, these two programmers didn't even have degrees and I was about to have one. That meant I could do the same thing only charge $100 an hour right?

My first "IT" job out of college I made $54k a year. After three years I got my first promotion to $64k but quit a few months later. Did a couple of 1099 contracts at $50 an hour over a year. Got hired by Apex and sent to AT&T for $35 an hour. Did that for a year and then back to 1099 contracts again. This time at $55 an hour. Moving on up! After 4 years of that, quit cold turkey and figured with 10 years of experience now under my belt that I could easily find some better contracts or full time work.

22 months and 110 interviews later, still nothing.

Curious, what is the "wrong" person? I've worked with some co-workers before that were clearly not a fit, but it was so obvious. One time I was asked to help a new hire with a project that was falling behind. He had spent 2 months trying to get some javascript (that he copied from a project I had done) working. He didn't even know what the web console was. As soon as I opened it and saw the javascript errors the fix was simple. But he spent 2 months just smearing random javascript around... Surely it would be easy to filter that person out during interviewing.

But on the other end... I've worked with some people that are pretty good at leetcode and very fast coders. But even though they write many pages of code every day and tons of commits, their code is absolutely horrible, full of bugs, impossible to read. They got stuff done, but it was at great cost in the future. That was mostly why I left my original job in the first place (looking for work now for 18+ months). We hired a couple of new people and they were pumping out so much code I couldn't keep up with all their commits. Bugs started rolling in and they were too busy working on the new projects to fix their old crap. Boss had me hunting down and digging through their garbage code while my projects were getting behind and I was the one "under-preforming". I started going insane, unable to get out of bed, staring out the window for 12+ hours a day unable to look at their code. Mostly walked out. Those new people all quit after I left as well but the company's market crashed due to covid so we would have all be laid off anyway.

Best of luck. I have no idea how to get hired. I jumped shipped from my last employer in May of 2020 thinking I'd take a 2 month break and then start interviewing. Over 18 months I submitted over 80 applications, and got interviews at 40-50 different companies. Total phone and video interviews ended up being over 110 before I basically gave up. I was trying to transition from a full stack dev mostly with perl backends into a full stack django dev. But I don't think the fact that most of my experience being in perl was the issue, as in some cases my past experience was not talked about much or not mentioned at all. Plus I've re-written my resume and linkedin to mostly only mentioned python and django projects that I've worked on.

The interviews were all the same mostly. Do a take home project or do leetcode problems while the interviewer stares at you. Sometimes I did bad, sometimes I did alright, and other times I did great. It didn't seem to matter. The funny thing is as I got more desperate, I started applying to crappier companies and more junior positions for lower pay. As I went down the ladder, the interviews got even more complicated and challenging!

A couple of years ago I got interested in HVAC technology after having my HVAC unit replaced and researching options. As I'd mostly depleted my savings, I started debating on jumping ship to be an HVAC tech. I could cram for an EPA certification test over a couple of weeks and get a refrigeration cert and then be nearly guaranteed a position at a couple of local HVAC shops for $15 an hour. The only reason I haven't done that (yet) is like you said because of my kids. My life story would be I went to tech school out of high school and was an avionics tech for 3 years, followed by 5 years to get through university, followed by 10 years of software developer experience and then 2 years of no work followed by becoming an HVAC tech working with high school drop outs as co-workers. There would be no telling my kids to get an education when this (forced) path I'm on shows how worthless it is. I've never felt so lost and useless in my entire life.

The other reason for not jumping ship (yet) is that I feel so qualified on django/python stacks. You could drop me into any dumpster fire of a django project and I'd be fine. It is extremely insane that the only people getting hired in that space are people with under 2 years of experience or people with over 10 years of django only experience. There is absolutely no middle ground (which is where I fall in).

I'm now debating jumping on a difference language with a smaller community (similar to how perl used to be) like golang or elixir. But there is no guarantee there but I feel like hiring in that space would more likely respect past experience or at least know that if you graduated college and have years of experience that you would be able to "mostly learn anything" and be reliable. Dunno...

Goodness, you and the OP have really hit the nail on the head.

I spent the last 5 years quite happy at a simple dev shop. Then they hired a bunch of people, paid them more than me, and allowed them complete free reign to write what ever kind of code on some brand new projects. After a year of this, one person quit mid-project, another died mysteriously (covid?), and then another just recently quit. My boss expected me to just pick up the slack on these three projects that were written in the most arcane and buffoon way possible. I basically just said no, and left. I had already been driven half insane over the year just trying to figure out the crap they were committing.

This was in the spring and I'm still unemployed. I'm mostly Java and some older languages, and was really looking forward to jumping onto python and django. But it's been a struggle really learning django good enough to interview for without any good experience behind me. I have a family and on top of covid issues and this year in general, sitting at home trying to learn a giant web framework is not very motivating when I could be spending it with my family (which were already severely affected by all my time I "wasted" going above and beyond at my last job for 5 years).

I just recently did an interview for a small django shop that didn't even test on django. Instead, I was given a half page of python code and asked to "fix" the problems. No requirements or tips. There was a syntax error, a bug, and a few cosmetic things.. I managed to find 8. All this while being stared at over Zoom. I was informed that "junior" devs can find 10-12 "problems", but they only hire those that "find" more than 18 (apparently 25 is the max).

I still got the code and look at it every now and then. Half a page of code that does nothing but take a list of "item" objects and print out an aggregate of a total price by item type. A loop over nothing but:

  total[item.type] += item.cost
Of course there was some random data mangling above and below that, but that is the logic. Find the problems?! Should I raise errors or use a namedtuple or defaultdict? Half a page of code that could have just been a Select/Group by in SQL. No senor dev should be summing data like that. Sadly they said the code was from "production". They have "interviewed" over a hundred people in this year and hired only 1. All this for $45/hr 1099.

In the beginning, I briefly thought I could use my savings to start some kind of business, not sure what. But I've blown most of that just paying the bills while I "interview".

I used to love software and would dream and breath it. But I've never been so unmotivated over these last 6 months. I'm debating on just applying at a local small town municipal IT job for $30 an hour. Giving up basically. Just show up at 8am, answer the phone mindlessly for IT "problems" and tell people to try restarting their windows machine (at least 3 times minimum) and screw of playing solitaire the rest of the day. But it seems so pointless and waste of a life. But even that doesn't motivate me, but just makes me more depressed and even slower going.

I really don't get any of this. Here's the full picture: Larry Wall mostly gave up on Perl 5 in 2000 and announced the next release would be "Perl 6". A few small updates happened to perl 5 up until 2002. Larry started working on Perl 6, forever leaving perl 5. Perl 5 goes stagnant for 5 years, meaning it had no updates released for 5 years. During this time, droves of people picked up python. Perl 6 was no where near complete in 2007, and a small team of devs pushed out perl "5.10" after a 5 year hiatus.

Perl 6 was finally released in ~2018 but by this time no one cared. The perl 6 team feels because of the name 'perl', people aren't adopting this new language, so they change the name. And now a year later, the small perl 5 team is wanting to take perl into the modern age by breaking backwards compatibility. It makes no sense at all, that was the job of perl 6.

It would no different if I started complaining about python 2 not getting any updates and then making a plan to better improve its parser and object model and break backwards compatibility and bring it into the modern age. Python 3 already did that, so like what the heck are you doing???

And then the comments from the perl 7 supporters... saying things like we can either "fight or die" or doing nothing is "certain death" but the alternative is "uncertain hope". I just don't see the point in fighting for something the original author of gave up on over 20 YEARS ago.

I've stated my points [0] before on how companies that stick with perl 5 do so at their own demise. They get cultured into a train of thought where updating software is seen as bad and unhealthy. And if they are a consultancy, their downstream customers also get cultured in to never having to worry about "updates" and/or paying for updates. So then long term contracts with said customer only take into account the cost of feature enhancements instead of "maintenance". So then it becomes impossible to move either consultancy or customer off of the "perl platform" because going to something like django, while a big cost in its own right, would involve a different long term contract that would require paid support and downtime for future django updates/releases. Never mind that finding devs would be easier (and probably cheaper), and the fact that django gets regular security audits and has a much larger plugin/library support ecosystem.

Anyway, to each their own. And godspeed to the perlings out there, I just don't see how any of this is worth it...

[0] https://news.ycombinator.com/item?id=23633478

Oh and I forgot to also say when comparing the languages, you have to also look at the authors too. Guido from the get go was more of a "software engineer" type whereas Larry seemed to be more involved in sysadmin and/or systems programming. I think the languages show that as well.

You don't see how this is the same thing?

No.. but feel free to explain.

With my friend that left for google, I was annoyed at him somehow thinking python was advanced just because he was using stuff you could do in any language only he thought more highly of it because of the names. He saw the light of having a clean syntax, I did not, but now I do.

If you look at the history of python, it is an "engineered" language. It was based off of ABC which was a product of a large team of engineers in the early 1980's. Also some of Modula-3 as well. ABC was based off of ALGOL 68 and Pascal. The point is, a lot of money flowed into the design of these languages and python borrowed largely off of that base.

I used to know perl's history quite well, but I'm fuzzy on that now (and stopped caring). I know Larry was quite skilled at whipping up compilers and parsers from scratch, and he was heavily involved in linguistics, but I feel he sort of just did his own thing. The reason to make perl6 in the first place was to make a "proper" language. All of the lexer and parser code in perl5 are purely custom and intertwined. There's no way to change the parser or add an AST without just starting from scratch. That is what perl6 tried to do. But with python, these steps were from the beginning in proper "layers" and that helped the language to evolve with the times better as well as just having a cleaner VM source code which was easier to work on (the trade off being it was slower than perl in many cases).

The end result is python is "syntax with training wheels", you can't deviate too far before it fails to compile. While perl will compile just about anything as long as your semi-colons aren't missing. For me that made python harder to learn. You couldn't just write anything and expect it to work. For me, I looked at the python docs a lot more than perl docs when learning it. There's no reason why you can't do while y = t.pop: ... in python other than it won't let you. That was something that made me put it off for a long time as it felt it was just full of more rules than syntax. I see the light now though. But the point of my rant here is not that python is beautiful code (which I've always found as an annoying "advantage"), but that the perl community it self if just out of touch with what the current market wants (and needs). And that was the point about the 50 year old perl dev I was making. You can certainly code like it is 1995, but it is not what most people want to pay for (and it certainly is not something we need more of).

Perl maintains strict backwards compatibility. I can run code that was written decades ago.

I used to spout that off too, but I now think it is just a myth. When the leader/creator of the language abandons it and it sits there stagnate for years, what other "feature" can you advertise? I know, "strict compatibility"! I saw it as a feature as well and even used it as an excuse to not learn python.

But even worse it has tainted an entire generation of small business perl dev shops. They seem to think that they can't move to another language because every couple of years back compatibility in language X breaks and at the same time spout off how their perl CGI scripts from 1998 still work fine ("fine" because it hasn't been hacked yet). Ironically doing this all from their windows laptop that has broken compatibility through many release cycles.

Breaking compatibility and refactoring is a sign of health, not death! But now these old school dev shops have large customer bases on old perl who's customers are not used to paying for any kind "upgrade" (and now they never will be). Contrast that with every now and then on /r/django someone will post a question like "my development firm is wanting to charge me $3k to upgrade from django 1.2 to 2.0 before they will add any new features to my web shop. Is that a good deal?". Its just a fact of life now. Software needs to be upgraded. The only reason that perl apps aren't at the top of all security and sql injection attacks is because there are so few of them (combined with the fact that so much of "perl apps" are custom code from the ground up). Never upgrading your stuff is not a "feature".

It's the same with python 2.7 as well. That is because it is dead, it now has "strict compatibility"!

I really am curious what features you think Perl 5 lacks.

That's a good question. Really, perl can do anything that python can. So what gives? I think the biggest thing that I struggle with just goes back to the "community". I'm trying to stay brief as not to out myself or my last company, but in most cases I was given requirements for a new project and I was off on my own. That's fine. But sometimes I'd be given requirements for a new project and then get micromanaged. As in literally told how to organize the entire project down to little bits like "when a user registers a new account, a function will return a random string 6 characters long and be sent via email to the user and this password will be stored in clear text". That is not the exact case, the real case belongs on codinghorror.com.

But the point I make is given requirements that break normal sane patterns, in python I could go to a mailing list or /r/python and post my issue and expect plenty of answers that I could then show my boss that he is not right. That does not exist in the perl world. I'm sure some perl guys will try to chime in and disagree but it is true. I have asked several question on /r/perl to get advice on really stupid architectural requirements but got 0 responses. The same goes for the perl mailing lists and irc. Its all dead. Many times I've posted to python lists pretending to be making a flask app or something just to get some advice on some webdev best practices, etc, not easy questions but just looking for a discussion. It's embarrassing on the perl side.

Understood. I stated that to say my problems with perl is not the language itself. To say it is the "community" is not right either. But basically "what is left of the community" is the issue. Languages like python, ruby, perl, etc are only good (if you want to freelance and make money at least) at being a "skin" around a database. That also entails a knowledge of frontend frameworks and workflows as well. Yet the words "database", "javascript", or "webpack" are very rarely mentioned at any of the perl conferences in the last 5 years! In the case of webpack, that's probably never been mentioned.

I've been a perl zealot since 2005. I didn't even know "python" existed until around 2008 when I found a script file with a ".py" file ending in a fresh ubuntu install. I started going to perl conferences sometime after 2010 when someone on irc informed be about them. I learned so much in those conferences, mainly about the alternatives to cgi and the modern OOP "framework" named "moose". I thought I was in heaven.

I landed my first devops position around the 2010 era as well and being the only one on the team that really knew how to "program", I spammed out tons of perl scripts and web apps. A few years later one of the newer employees on the customer support team started spouting off about "python" and how it was so easy to learn. He was always blabbing about terms I'd never heard of like "generators", "list comprehensions", "decorators", etc. I looked them up and learned they were just abstract constructs with fancy names that are supported in most any language. So I just figured he was some idiot that didn't really know anything. Otherwise, why would you be blabbing about abstract constructs? He quickly landed a job at google and I left and started freelancing only picking up perl jobs. Because perl was "dying" and this being after 2012, there were several companies with large perl bases that couldn't find local employees so were forced to allow remote workers.

This is where stuff started going wrong. I went through many jobs/gigs my first couple of years. I quickly noticed that companies that had large perl code bases were all founded pre-2005. This meant it was crap perl, in most cases not even using CPAN but having home grown ORM's and web frameworks and a scrict hate of javascript. So it mostly sucked and was slow going. In one case I was literally fired after a couple of months from this one company that specialized in phone billing accounting software (all perl powered) because I was "too slow". The owner told me he should have never hired someone with less than fifteen years experience with perl and bid me farewell. I almost busted out laughing as for the entire two months I was only doing javascript front end work since the other perl guys there hate javascript. Even the owner of the company had no clue how his own software worked. This was a theme that repeated it self else where as well.

Fast forward a few more years and I had landed a good remote job, still in perl but offered more freedom in the dev cycle. I got good with react and vue.js as it greatly speed up the dev time for all the heavy interactive apps I was tasked with. But I continued to struggle against others in the perl community. I can understand how a 50 year old perl dev (the typical age) would hate javascript and instead put as much code in the back end using all kinds of horrid html templates and never ending form post/refresh/repopulate cycles... I can see the "why should I learn javascript if i know perl" ideology, but what blew me away is a constant "why should I learn SQL if I know perl" ideology. Yes I'm serious. In so many other cases devs were fine with just doing "select *" on tons of tables and stuffing all that in a hash/dictionary of column name matching keys. Databases were big, scripts and page load times would grow to minutes or even hours. Sometimes exhausting the machine's ram and crashing everything. Everyone was fine with it, management just acted like it's how things work. Meanwhile as a co-worker, I'm left digging through pages of perl code that could have just been a single SQL query trying to figure out why some numbers are wrong in an invoice report. It was a continual issue.

Another issue is just the bit rot of cpan. The ORM and drivers for both postgresql and sqlite don't even support most of the features added in those systems since 2014. So even though postgresql is the most advanced DB out there, you are stuck with no ability to use any of the fancy native array or json types or even the "natural" join syntax (and many other things), neither good support for foreign keys in sqlite either.

I've thrown my hands up and jumped ship. It's sad too. I liked many in the community and like Larry Wall as well and have had dinner with him on several occasions. But I can't keep my sanity and stay with perl. I can read perl fine, it is not the notorious "write only" language that many troll it to be. But the issue is the community and those using perl daily are fine with being stuck in 1995. Larry Wall stopped adding features to perl in 2002 (?) and moved to perl 6 which.... well how do you even describe that? The point is, perl has been the same since 2002, mean while python has had continual development and features added every year since then. I'm just done.