Ask HN: How is the job search coming along for people who got laid off? I am assuming the market must be saturated with people seeking tech jobs. Is it difficult to get interviews? How have you been since you got laid off? |
Ask HN: How is the job search coming along for people who got laid off? I am assuming the market must be saturated with people seeking tech jobs. Is it difficult to get interviews? How have you been since you got laid off? |
- Recruiters being very open about the salary range. This is a change from even a few years back, where there would be endless back and forth of "who calls the number" first. Now out of maybe 30 early conversations only 1 recruiter absolutely refused to state the range. The top end is extremely consistent, the bottom end (as typical for Canada) can be laughably low.
- US companies and remote work coming in in a big way. Some of them position themselves at the high end of the local market (which I define to be around C$200k base for non-MANGA companies). Others decide to offer the US range (US$180-200k), which is of course better but in some cases has the drawback of being a contractor.
- Demand in my field (DevOps/SRE/cloud infra) hasn't changed much. Still multiple pings a week from recruiters, down from multiple a day. Not a problem getting interviews, at all. Had multiple offers already but looking for a better fit.
- Few attempts at take-home exercises. I generally refuse these outright unless they are paid; some companies react to that by simply waiving the take-home.
Some things that did change...
- the remarkable extent to which US salaries are outliers worldwide is beginning to have an effect. Every single company I worked at for the last decade had non-NA dev teams, usually at the periphery (support, integrations, follow-the-sun ops). Now core teams are distributed and dev work is shifting away from high-cost centers. One example I saw is in Gergely's "which companies are still hiring" spreadsheet -- how many of these companies are not looking in US at all, or are Europe-/Asia-centric?
- startup non-base comp is becoming a really bad deal, even for Series A. I was offered some shares, even with the founder's own rosy projections an exit for me would be a nice bonus at most. Why deal with the stress if there's no meaningful payback at the end?
- some smaller companies asking LC Hards all of a sudden. To me that just feels like someone out of Google founding a startup and having no idea how to hire non-developers.
- people having less filter in general. One of the best things I really started doing in my interviews is shutting up and listening instead of working to sell myself / ask questions. People will admit amazing things about the company or about the level of fit / misfit for a role when they try to fill in the silence.
- as a corollary, how do interviewers behave if they sense it's likely not a fit? Do they start trash talking your experience / chances of success / achievable salary, or just let it go? I've had a recruiter try to convince me there aren't offers at 175 base + in Canada. I've had a founder tell me no one will offer me a manager role (after a 30 minute interview wherein they talked most of the time and barely asked me anything). Just take a bit of time to listen and the trash will sort itself out.
#ATXJobs #jobs
Engineering: Principal C++ Engineer - Remote https://hire.lever.co/jobs/internal/480a3819-a573-47b6-9e83-...
Engineering: Senior C++ Software Engineer - Remote https://hire.lever.co/jobs/internal/8975c3da-5bbb-40c6-8813-...
Engineering: Senior Cloud Engineer - Remote https://hire.lever.co/jobs/internal/e0573a22-ea25-48f3-80b8-...
Engineering: Senior UX Designer - US Remote https://hire.lever.co/jobs/internal/979e375f-d87f-49bd-ac27-...
Engineering: Sr. Software Development Engineer - US Remote https://hire.lever.co/jobs/internal/3a74b305-c866-4341-abc3-...
IT/Dev Ops: Lead Dev Ops Sys Admin - US Remote https://hire.lever.co/jobs/internal/0138eb4e-a717-438f-9aa9-...
IT/Network & IT Systems: Business Application Developer - US Remote https://hire.lever.co/jobs/internal/56211e7c-82d1-4038-91ac-...
IT/Network & IT Systems: Senior Directory of Customer Information Security - Remote https://hire.lever.co/jobs/internal/1a6c54b1-8f70-47bd-bdd9-...
Support: Senior Support Engineer - Remote https://hire.lever.co/jobs/internal/89ac8232-1a98-4cb9-9149-...
Support: Senior Technical Consultant - Remote https://hire.lever.co/jobs/internal/97df98a8-24dc-45f0-9b36-...
Marketing/Digital & Demand Generation: Data Marketing Analyst - Remote https://hire.lever.co/jobs/internal/f01ecfef-bfe3-491f-85c0-...
Marketing/Product Marketing: Product Marketing Manager - Remote https://hire.lever.co/jobs/internal/8c0b7a5c-43aa-40b1-8b5b-...
Marketing/Sr. Product Marketing Manager - Remote https://hire.lever.co/jobs/internal/b30d2148-f5c5-49dc-bee7-...
Sales/Sales Engineering: Cloud Sales Engineer - Remote https://hire.lever.co/jobs/internal/9f6a0e71-662c-4f07-9005-...
Sales/Sales Engineering: Inside Sales Engineer - Remote https://hire.lever.co/jobs/internal/deb33f8c-b325-419a-abbd-...
Sales/Strategic Alliance: Revenue Operations Manager - Remote https://hire.lever.co/jobs/internal/c6d516e8-b95d-4a67-b215-...
Finance/Sales Operations: Sr. Manager Sales Operations and Compensations - Remote https://hire.lever.co/jobs/internal/6d29d877-8342-44ac-95ff-...
But anyway - we're always hiring if you're into small consulting companies. We mostly do AWS, Azure, and not a lot of GCP (sad because I like GCP), and it's almost 100% K8s. You will have to be able to get a CKA, CKAD, or CKS at some point. Need to be in the US.
Send resumes to Josh@BoxBoat.Com
When I post in a who's hiring thread... actually I don't like to post in a who's hiring thread because I end up with way too many conversations.
Perhaps now one may say, it is time to 'learn to adapt', since with the recent release of ChatGPT now gives the excuse for managers to be more motivated to hire less engineers and programmers as the cheap money has essentially evaporated.
So this time it is indeed different and I would expect less engineers to be hired and more programming jobs to become very competitive. No-one is safe; and that includes 'seniors'.
Of course. My comment was about 'less programmers' getting hired. Not the extreme of 'All programmers' getting replaced by ChatGPT as you read incorrectly.
Believing that programmers don't need to adapt and that managers won't need to reduce or do layoffs especially with programmers, is quite frankly a denial and delusion of what is going on with cutting costs in hiring too many of them in the first place.
Denial is the first step to acceptance and as I said before, less programmers will be hired with juniors and some seniors impacted.
I don't understand the relevance of ChatGPT to this.
- write a Gitlab ci job that tests python code and outputs a junit test report.
- can you add code coverage?
- write a sql table that has users, age, and a biography
- write python that parses the above output from the table
- now use a lexer and parser
- create a unit test to verify it's correct.
- write a perl one liner that parses a list of users and phone numbers
It completed all of them. I was already impressed with OpenAI when it generated an argument for why Britney Spears should become president and a test for a third grader about Socrates which I then answered incorrectly and had it grade it.
So everyone who knows how to do a for loop is safe.
Or the extreme, we finally have to move to post-money society, because automation is no longer creating any jobs.
I still stand by that no-one (including Big Tech companies) is safe, especially after the 2022 tech layoffs which happened to many and tools like ChatGPT will eventually reduce the need to hire lots of programmers like before.
It is not going to be the same as the hiring euphoria that happened last year.
So, you have a choice how to look at the world.
We’ll get another slew of decades long court cases once one line of Oracle or Microsoft code proprietary code comes out of chatGPT.
Job search has been going pretty bad. Only a few screen out rejections and a handful of obnoxious crap recruiters have contacted me. No interviews yet.
The last time around was in 2020. It seemed like it took forever to get any response. Even when I was able to get through the interview process, it just stalled and I didn't hear back at all. I thought I was being ghosted.
I finally took an offer in late January. By March I'd had no fewer than five companies come back with written offers out of the blue, long after I'd forgotten about them.
The company offers work visas, relocation assistance and a relocation bonus, and stock RSUs.
[1] I applied for a startup, on a lark, on one of HN's who's hiring in such and such month and landed at a startup in Hamburg. I am now in Berlin. HN changed my life!
As others have said, hiring really slows down in Nov and Dec. You have quarter end, the year's budget is running low, project priorities are being shifted with anticipation of the new year, etc.,. Having been on the hiring end many times over the last several years, I know that higher ups often push you to fill a position - but just as soon as you settle on a candidate during this time of year, they almost always pump the brakes on actually hiring until new year.
Knowing this, I'd initially planned no not looking for a new gig until 2023, but once folks hear your back on the market, you basically can't avoid people trying to play matchmaker for your next job (which is a good problem to have, I suppose).
Not wanting to pass up a potential opportunity, I accepted a few interview requests that came about from my personal network in Nov. After going through 2-3 rounds of ultimately fruitless interviews with 3 different companies since mid-Nov, I've decided to just wait and enjoy the downtime. Each company I interviewed with essentially signaled "you're perfect for our needs and will be moving quickly with you" during the interview process, then would go radio silent - only to have them follow up a couple weeks later with "some of our internal needs have changed with the end of year approaching, but we'll be in touch".
So I figured for my sanity and so that I could enjoy a little bit of my funemployment, that I'd just be upfront with them and set some boundaries. Now, I've basically just been communicating "I appreciate your interest, but this is a bad time of year for bringing on new hires when considering year's end, so let's plan on touching base in January". We will see if this works out in my benefit or not - but if they can't respect that, and aren't capable of acknowledging the reality of things, I'd probably not want to work with them anyways.
Applied to about 30 positions, heard back from 3 and received 1 offer for Google. Didn't exactly give me confidence about the future when I may be looking for another job...
YOE: 3
But getting a job at Google tells you that your overall skillset was not the problem. You just didn’t match the other positions as well as some others for some reason. FAANG level jobs are always hard to get, always hyper-competitive. You’re obviously good enough to be there, so the worst case scenario is likely that you’d have to leave the prestige of FAANG and similar. You’ll be employable for as long as you want to be, I’m sure.
I genuinely wish GP the best but it's not a company I would want to work for if I had another option.
Blind is filled with posts talking about Google culture turning toxic. Googles stock has performed quite badly with the downturn, and the heat is being turned up on the workers.
Compare it to place like Salesforce or Oracle or Intel or IBM. Salesforce and Oracle may actually beat the google offer too since Google is low balling a lot these days.
I'll be starting in mid January since am legally still employed with the old company until 31 December. Still employed since that's how we get our severance, so am enjoying the time off.
The thing that bothered me the most was that I had to update my CV, interview again and all the things related to that. I landed that job in March so I really didn't feel like finding a new one, I also liked the place.
I have a nice resume so was pretty confident I'd find something before the end of the year, so I didn't feel much anxious about it.
I have a some life events coming up next year so I have started to turn the gears on my network and contacts but I am pretty much only interested in consulting and contract jobs that can be worked remotely. Right now, I primarily see it as a means to raise some cash, so I can make the occasional splurge purchase. I have honestly thought of doing DoorDash.
Someone in the thread talked about the importance of a runway and I totally agree. I spent 6 years doing a STEM PhD and about 6 years working in industry on okay but not great salaries and even at that rate I have a runway of about 10+ years of savings before I run out of money (living frugal).
After my last job I think I promised myself to never just take a job because I am offered or out of prestige - I am turning mid-30's and I feel like I can't waste anymore time just doing time - i.e. waging for a paycheck without a higher purpose.
This causes tension with my partner and probably my future father-inlaw doesn't like me but long term I intend to be my own boss and run my own company. Especially since the pandemic I feel increasingly the urge and need to be the master of my own destiny - especially with regards to income.
Very hard but also very forgiving, which is what allowed me to get in - I've learned TIG welding, too, may even get certified just for job safety. Welds get x-rayed and warranty is in the double digits so you can't half ass the important parts.
Plenty of work from big and small companies alike. Some US middleman has contracted most firms around this city to build ion exchange components to be used in lithium battery production. A lot of orders for big ion exchange containers from DE and CZ, afaik also for lithium battery plants (Production? Recycling?).
I'm also Berry Alien, the fastest replacer of ion exchange material alive in September 2022 in bf middle of nowhere, Germany :D
Next step, building robots at some company. Always wanted to try that. I seem to fall ass first into opportunities I always just abandon, but this time I have medicine and crypto on my side.
Thanks Chris for the unique (for me) opportunity.
- 38 applications
- 8 rejections with no interview
- 1 rejection after 1st round
- 1 first round with no response
- 1 2nd round interview (no response yet)
- 1 3rd round interview scheduled for this week
- 1 1st round scheduled for this week
The others I've gotten no response.
Senior Product Designer with 8 years of experience, well versed in UI/UX Design, Design Systems, Accessibility, Prototyping, Documentation. Sole designer at my last startup on a brand new product that got acquired.
I've got 10+ years as a design who is also a full stack engineer (node stack). If you're hiring for a role that is well-rounded product, please message me, I'd love to talk.
Portfolio link in my profile.
In my experience applying for jobs feels like a waste of time. Maybe 1/20 will acknowledge you. And you have no idea if the job really exists. But if you're contacted first by the recruiter the hit rate seems to be much higher.
Hope this helps, if you want me to share more tips please let me know and I can add a few more things.
I’ve wrapped up the Fast.ai deep learning course and switched to studying the language of my country of residence. The rest of my time is calls with random people via my office/mentoring hours (https://sonnet.io/posts/hi) and learning how to live with a dog!
I try to code a bit and have some side projects I want to monetise or share, but tbh I’m struggling with getting them out because for some reason I’ve started to be overly critical of my work. I know it’ll pass.
I’m also exploring different ways of working, such as co-ops.
I’m a founder/SWE with 20 years of experience.
I think openings and interviews are very slow right now due to the holidays
Demographics is the killer force, basically with a MINT background, you can find a job almost instantly. You may not earn a top salary, but you'll earn enough to get by well.
Given Europe is in the worst crisis since WW2, I'd say job market is fine.
Careers and academic disciplines in the fields of:
Mathematik (Mathematics)
Informatik (Computer Science)
Naturwissenschaften (Natural Sciences)
Technik (Technology)
but it's honestly first time I'm seeing this too, might be just a German thing.Here is a site that aggregates jobs from major Space companies https://rocketcrew.space/
Already have another part-time deal starting next quarter. Some initial billable hours in Dec. So not bad.
We've never had glorified chatbots like GPT-3 or GPT-3.5. I'm not just praising GPT; I've myself casually run through a few simulations with a hotel chain receptionist and an executive. The technology looks very competent, and aside from cost savings, there's also the customer service quality aspect (consistency particularly) and the element of removing staff from abuse.
The biggest challenge is integrating language models with live data. Making customer data accessible to them is not a problem technically (prepending prompts), but it could be a GDPR problem if a third party like OpenAI is involved (having to hand over data to a third party might make the AI receptionists unappealing to some customers -- maybe, needs to be tried). The other aspect is letting the AI make changes in a data model. But there are ways to solve that as well. When these obstacles are resolved - and there is a lot of incentive to fix them now - a lot of customer-facing reception-type work can be outsourced to AI.
By the way, some hotels are already very interested in chatbots for reception work. There has been a lot of talk about that in some chains since about 2020. Old-style NLP bots, too. But of course, GPT-3 capabilities are very appealing.
Kinda amazing this has not caught on more and sooner in USA.
Much more low tech versions of this have been used in Japan forever. The noodle bars and ramen shops are case studies in efficiency.
I would not want to be a “take this UI and add a new field” coder right now.
First, there's the uselessness of entry-level engineers. They are hired for their growth potential (that every human has, but language models don't) and are expected to grow into mid-levels and seniors. In most of the sw industry, entry-level roles are also not terminal, which means that such an engineer must get promoted at least +1L to keep working in the company. Someone (or something) perpetually stuck at the entry level is a bad value proposition for a sw company.
Secondly, the code that language models produce is buggy. They can, on occasion, produce amazing code and even entire codebases. But this is an exception, not the rule. You can generally prototype something or get an idea for something from language models, but you can only push very little of that into production. What good is code you can't use? You still need an engineer to oversee the language model's outputs.
Overall, if some company replaced their juniors with AI, that would be incompetent management.
More developers will get hired, because ChatGPT will not perform the higher function tasks most developers actually spend most of their time working on.
The reason this will happen, is because ChatGPT will be more efficient in performing the lower function tasks and there will be more of a need to put all that automatically created code into actual use, integrate it with Enterprise Package FooCPT, figure out what caused the product outage at 2am at night. And on and on and on.
Not to mention that ChatGPT will not be able to talk to your users about what they want next, convince your manager that that's the right thing to do and everything else that you need to do on top of the coding part to be a good developer.
What possibly will happen is that junior developers will have even harder time getting into the industry, because clueless PHBs will see ChatGPT doing all their work "for free". A few years later they're screwed, because nobody at the company knows how their applications work. Except ChatGPT...maybe.
Reads like what I said before. Some will be affected and less programmers will be needed,. Especially in particular, juniors and some seniors getting impacted.
I don't know where I said 'All jobs' as you once again brought out as you clear read incorrectly. I only said less programmers will be hired and these software engineering jobs will be more competitive.
The best course of action is to learn to adapt and it certainly applies to programmers. Pretending that they don't need to adapt is a delusion and denial of constant change. With or without AI.
To anyone who used Copilot and ChatGPT it is obvious that in 5 years demands for entry to software dev will be much higher, and there will be less positions open, because sheer productivity increases for the already employed people will outpace the demand. It’s like peasants arguing about security of their future prospects in the beginning of 20th century after seeing a tractor.
Winter is coming, but they just can’t believe this since their income directly depends on this not being true.
The performance gains from chatgpt are going to be amazing from a quality of life perspective but overall not a huge change (except maybe in some niche roles). Programmers are not spending much of their time figuring out code that chatgpt can generate.
Read a freaking newspaper once in a while.
But of course. Denying it all, and not adapting sure is a great way of coping with rapid changes. /s
But I can't help but think it's worth leveraging an offer like that, if not only as a favor to your future self. Go in planning to work for like a year, near the end start looking for a jobs and I have a feeling there will be a ton of companies drooling at someone wanting to leave Google for them.
But you do you!
You are like a peasant arguing about security of their job in the beginning of 20th century after seeing a tractor. Sure there are farmers now, but much fewer of them is needed.
It is often confidently incorrect. Which is easy to spot if you know the subject matter, but nearly impossible if you are not familiar with the subject.
I found it funny because it made it more human-like as well.
(Example: “what’s the difference between timestamp and timestamptz in postgresql?” will answer that timestamptz will store the time zone and takes more space, which is both incorrect!)
I also asked it general, abstract programming advice and it gave pretty well-reasoned arguments mentioning maintainability and readability.
My god, it truly can replace computer programmers.
Garbage in, Garbage out.
GPT3 is as good and reliable as a Tesla autopilot.
Why you ask? Well it's because most of what a programmer does is more complex than the AI can handle right now. For example my job involves the following:
a) multiple interacting systems and management of the relationships between them
b) > 90% of my work does not involve writing new code
c) the programming part is mostly about changing existing code
d) or debugging (and sometimes setting up a debugger and running code)
e) reading hundreds of articles to figure out why the trivial example these systems are good at doesn't work (sometimes on someone else's machine or staging only)
f) taking product requirements and making small alterations to allow them to become reality (and knowing when to tell people about the decisions you made and when not to)
g) talking to people who might know more about the specific problem you are facing and when to battle through
h) sharing ideas on how to do things with the wider team
i) fighting the good fight and sneaking in refactoring when people are not looking
I don't think we are anywhere near these things yet.
What a gigantic waste of time. Tons of stress for 2-3 months for nothing.
When they interviewed me the first time, the interviewer didn't show to work, so they asked another guy to interview me, he ended interviewing me in a language he didn't knew, to a position using another language entirely, the whole thing was a farce.
Some years later Amazon recruiters contacted me, asked me to go interview in person. Then during the interview in their offices, they literally forgot me for several hours in a random room of the building, the employees left at the end of shift, and left me alone in the floor with nobody in it, and I had no idea where the exit was.
I really need a job and been applying to lots of companies, but I won't apply to Amazon again.
I coded using C++ and pass by reference. He had never seen it in his life. He refused to believe modification on a reference would modify the value in the calling function! I hoping he would be willing to discuss or run the code, this was a total let down.
Note: I have 2+ decades of coding experience
Eventually you’ll get a “No” along with a message that, per policy, they don’t provide feedback. And then you’ll get several emails insisting you send your feedback, because they really want to “improve the process”. *facepalm*
Unfortunately, despite assurances to the contrary, I was generally unimpressed with the quality of the people doing the interviewing. One of them was in his kitchen, while family members moved about behind him. Another didn’t share video, because reasons, making every silence while they made their notes that much more awkward. And another would spend 2+ minutes typing in silence until finally asking the next question, ruining any opportunity for flow or conversation.
Judging by Amazon’s recent growth (prior to the recent layoffs), I’m not sure anyone has had time for any engineering. They’ve all been stuck doing interview “loops”.
I usually defend Amazon (used to work there and enjoyed it) but the last interview cycle was really unimpressive.
I had to follow up to find out they had chosen someone else.
The amount of time I put into those interviews was absurd, reading up on all their principles, coming up with stories from my career where I met their principles etc. To then get ghosted at the end was a real slap in the face.
Amazon has done nothing but earn a reputation for treating it's employees, potential or otherwise, atrociously.
Guess how many times anyone has called a recruiter and heard "Oh yes, you got the job - I've been waiting all week for you to call me about it"?
No - it just means the decision has been made, and you won't be hired.
Which is different from "you failed". It could just as easily be their failure to evaluate you properly.
Here's the thing though: you know all those horror stories you've heard about big tech companies and how they operate? Most of them are true, so if you actually care about the field then AWS is not the place for you. Especially if you're senior. Junior devs: you'll want to start here to build your rep and get a taste for awful at least.
EDIT: I should add that the ghosting of my friend was confirmed to be due to lay-off of the recruiters, so that's most likely the reason for the majority of the ghosting complaints here.
Then on the other hand, nobody ever got promoted for being nice to rejects. If their processes select for ambition (and they sure do), nothing that does not promise promotion will ever get done and that should qualify as explanation three times over.
How is this acceptable? So much wasted time, and not just for me. I basically interviewed the entire team I was supposed to be working with.
It's weird there are US states where it's not a requirement.
Thanks for sharing.
I now this is incredibly privileged. I'm not humble-bragging, just observing the change in the market.
As things usually turn out, during the last week of the 3-month search I received 3 different offers all at once.
For reference and if it matters: I've got 14 years of experience.
Hang in there, we're probably going to be hiring starting in January. Right now things are kind of on ice because of the holidays.
Even if we wanted to get started today (and it's tough with our own department's senior people taking time off), it's hard to move the HR people and get the budgets approved, it's hard to get the GM sign off on a hire if we want them (though that's kind of a formality, frankly), etc.
In January the world starts turning again and those things get easier.
Hard as it is, try to hang in there, it will get better in a month or so.
After going through 2-3 rounds of interviews with 3 different companies since mid-Nov, all of which signaled "we love you and will be moving quickly with you" during the interview process, only to have them finally follow up with "some of our internal needs have changed with the end of year approaching, but we'll be in touch", I figured for my sanity and so that I could enjoy a little bit of my funemployment, that I'd just be upfront with them and set some boundaries.
Now, I've basically just been communicating "I appreciate your interest, but this is a bad time of year for bringing on new hires when considering year's end, so let's plan on touching base in January". We will see if this works out in my benefit or not - but it quickly became clear that we were all just wasting each others time going through multiple rounds of calls and exercises during the end of Nov and Dec.
I’m mid senior level in Product Management but come from a big well known tech company, and I work remote from a non-tech “city”. 5 years PM experience, 6 years as a Software dev. Launched 3 products from concept. One has over 20 million MAU, one created 9 figures of revenue for my previous company, and one I have no idea because I got laid off lol
According to my LinkedIn I’ve applied to over 200 roles in the last few weeks and heard back from about 5. Of those interviews, I’ve been rejected from all of them, even smaller shops.
Hearing from recruiters has been much more fruitful, making it to middle and final rounds at surprisingly good companies, but in both final round instances, the role either got defunded due to a hiring freeze or other issues.
In one instance, the recruiter I was working with at a Big N tech company got laid off in the middle of interviews, at which point the company ghosted me, presumably with my application falling through the cracks.
My severance package is much smaller than most, since my company is framing the thousands of layoffs as “performance based” which allowed them to skip the mandatory notice period, and avoid paying out our very generous severance packages. It turns out benefits don’t matter if a company is afraid of a recession.
If anything this whole experience has wiped out my idealistic views of working in tech. I’m a cog in a machine that can be gaslit and disposed of when convenient for people levels above me who have no empathy for my existence
Can any other PMs speak to how their job hunt is going? Hoping it’s not just me
7 YOE in web dev, full-stack.
Leaving this here if anyone has any remote work for me :)
EDIT: For anyone accessing my site, I apologize in advance for slowness or crashes, it's hosted in my residence on a puny server sitting behind me :( I've been meaning to cloud it for a while now but I kind of like the DIY of it all.
No credentials to speak of other than the fact that I could probably think my way out of an undergrad level abstract algebra or real analysis problem if cornered. Maybe topology, too. Native speaker of both Kazakh and Russian. Speak rudimentary Turkish, but could easily pick it up to a decent level if necessary. Currently studying CLRS to finally learn how to design algos. Also, trying to pick up Mandarin. Maybe I'll be able to immigrate to China in the coming years. Shenzhen or Hong Kong area.
I'll just leave this here in case anyone has a remote work for me :)
~15 years fullstack and DevOps experience, visited top local university, no degree. Mostly Python + some other languages. Have been interviewing for Lead SE/DevOps/SRE roles as well as some architecture positions.
My findings about the German job market for developers:
- Remote-work is here to stay. Almost all companies are okay with full-remote, those who are not, want ~2 days in the office per week.
- Companies are starting to do leetcode-style interviews. Sometimes some FizzBuzz level to check basic understanding, going up to harder problems unrelated to the position. Unless they are very hard, you will just get used to that.
- Remote or hybrid meetings with multiple participants are horrible for interviewing. The delay makes you come across slow and is very distracting, when you need to look sharp.
- If you want to earn money in Germany, you have to join a bigger company.
- Bigger companies do their development in Java with a minority being MS shops. Python is for data science and DevOps.
- The missing degree is mostly not a problem. Sometimes the CTO's PHD makes it one.
- Landing lead/lower management roles seems to be difficult if you have limited experience leading people. Those seem to be mostly staffed internally.
- The market value for a profile like mine in a big German city seems to be around 100k € including some small bonus.
- There are many offers under that number. I think I would get hired almost instantly if I would accept offers for 80k €.
- All-in all IT does not seem affected by the downturn yet.
While these numbers are not directly comparable to the US (lower cost of living, better social security, health-insurance included and not tied to your job etc.) my subjective feeling is, that I am getting taken advantage of here. Salaries seem to be too low. You are often getting low-balled because "it would not fit within the salaries of the other team members".
For the time being, freelancing is the way to go in Germany, even though you are fighting against regulations.
Applied to around 25 jobs. Ghosted by 15 of them. Out of the 10 remaining, 3 of them are limited in terms of remote - to be considered you have to reside within certain countries.
From the remaining 7 I only got the interview round with 1 of them. Did not get an offer because I was not strong enough candidate despite successfully going through 5 interview rounds. Whole process was very slow and lasted for about 1.5 month, with not getting the feedback something like 2-3 weeks after the last round. All in all very weird experience and unexpected outcome with no strong arguments.
From the remaining 6 I did not even get an invite to an interview but a direct decline.
Getting the (systems programming related) remote job while located in Europe seems like an impossible task to me right now.
I was laid off last year and went to interview at an adjacent employer. They had a bunch of employees (not only engineers) hired from the company that was laying me off. One of which had previously walked out the door with a bunch of code to form their own startup; they were hired as a staff engineer. That employee frequently reached out to me for advice and guidance on writing the piece of code that they made off with.
I flunked their cargo-culting hiring process hard. I knew I should have walked out of the interview the minute they put fucking Leetcode in front of me, but didn't.
Moral of the story: your interview success has little to do with your experience and aptitude as an engineer. Here's a list of shops where you might find more success: https://github.com/poteto/hiring-without-whiteboards
So I spoke to 15 (remote-friendly/first) companies through my network (could've been more if I were up for onsite work), 4 started the interview process (rest had hiring freeze or wanted to prioritize folks that got laid off from FAANG) out of which:
- 1 ghosted me in the last round
- 1 rejected in the last round without any reason/feedback (although I think I did pretty well)
- 1 rejected in the first round because they wanted me to stick to a specific programming language (in their leetcode round) that I am now rusty with
- 1 rejected me in the last round on fair grounds and were decent enough to give feedback. I believe I made mistakes out of being super desperate to land a job.
One thing I noticed (although small sample set) was that the interview processes are very slow (like 1 round per week). This might mean things like companies are in no hurry to hire and they have abundance of candidates applying for the same positions at different "expected CTCs" making it a buyer's market. I am currently interviewing another company who has scheduled the next round to happen after 2 weeks.
Also no inbounds on Linkedin from recruiters. I used to be swamped till like July/August. Probably means there's decent amount of hiring freeze and most of the recruiters are fired?
Tbh, even though I got rejected in a few places, I did not feel too bad because I did not "feel" like they were doing solid engineering work (I ask lots of questions about the tech stack, challenges, culture, etc. in each round).
I've decided to spend a few months upskilling myself till the situation gets better and take the hiring process slow (rather being desperate). Although lucky to be in a position to be able to do so.
My approach has been often to take a mixed-risk approach, and it seems to work out well. First, no debt. Second, long-cash. After working for about ten years in relatively low paying roles I have something like a runway of about 25 years - that is I would not need to take on any job for 25 years while keeping mostly my current standard of living (plus be happier, as I would have more time).
I plan to work for about 5 more years, then switch from a high-stress environment to cool projects that do not need to make lots of money.
The key has been to continue to live like a student, we have a small cheap flat, go out eating maybe once a month, no car, no expensive hobby, little distractions.
With a faang salary, I probably could have achieved that not in ten, but in two years.
That's why I'm a bit curious why people are so stressed out.
Bold statement: Tech will pick up first. And companies who are making noise based on Elon's move at Twitter will strave for good workers and die
At the seed/series A stage (one I'm most familiar with), any company that raised money this year or is cash-flow positive is still hiring opportunistically. At Series B and beyond, it's really a function of the health and resilience of their business model.
Within this bracket, there's fewer total jobs available, but the "median quality" of jobs is better than it's been in a long time: most companies that are hiring are good companies, so if you were to pick completely randomly between offers, you wouldn't be too bad off. Comp packages have not come down ($180-200kish cash basis for a "senior" engineer).
For people who know how to analyze early-stage companies as a prospective engineering hire, this is paradoxically a great time to be looking.
From my perspective, it seems like many ex-FAANG employees are seeking stable comp at late-stage growth companies (which may be a buyer beware situation...). I think the hiring there has gotten much more competitive, but I have less firsthand experience fishing those streams.
My tackle box: laid off from Meta after <1 month of Bootcamp, 5ish YoE as a backend engineer. Meta would have been my first FAANG experience.
1. Last 10 years of low interest rates and growth made Faang like companies seem much more valuable than they were. Now that tech is making it easier/cheaper to build and compete with their products (think TikTok vs Insta or AI driven frameworks for automating all kinds of workflows) expect the big/old companies to take time to realize and pivot to build more valuable products to stay alive. And it's not just Faang but any companies that are ripe to disruption where if you get hired it may be less stock comp or volatile job durability.
2. Also related to this, the FTC is tightening the screws(meta was blocked from supernatural, Nvidia could not buy arm) so they can't grow the way they did monopolistically like before and expect less of hiring bounties.
3. Seasonal and recession effects will slow down things for a bit but the former will wear off come January. Latter is a wildcard.
4. Don't get the first job you get without vetting the positiom even if it takes 3-4 months to find one(assuming you are not squeezed by issues like immigration or cost of living). Try vetting the companies and see if they value what you have to offer and the place is not toxic. Remember that only cracking the tech round is a zero sum game but mutual value in a work relationship is not and often more important. So vet it well.
5. If it's been a while since you last looked and are procrastinating on practice of leetcode or interview prep cause or you aren't clear on what to do like I am, take care of my mind first. Meditation, simplifying your life, figuring out what you really value in life and why you value it, is useful. Networking and talking to people on what's out there to change what you do is also useful.
For experienced people, things slightly better - at 1 years exp, 5-20 cv/pos; 2 years exp ~1:1; 5+ years exp, there are much more positions, than candidates.
But don't forget, we are at war, few months ago more than quarter of Ukraine considered occupied by Russians, and we still are not safe from strikes on infrastructure (about week ago we survived blackout for near 20 hours).
I've interviewed with ~20 companies this year, usually with folks that reach out to me from the 'Who Wants to be Hired' thread. I've received three pretty decent offers (200-250k base + equity) all at small, early-stage companies. From what I've observed this year, companies that are doing difficult or low-level work are still as starved as ever for senior/staff/architect-level folks that can deliver, and are happily willing to hire them. Probably irrespective of company size, but I pretty much exclusively look for teams of ~5-20 people.
One material effect I've noticed from the downturn is I've gotten a lot less emails from recruiters advertising positions that are at companies with BS products, or that have clearly nothing to do with my skillset.
My bio: I've got ~10 years professional programming experience and consider myself a generalist. Typical projects I look for include graphics programming, language runtimes, compilers, data streaming.. low-ish level stuff that's usually pretty technical.
Anyway, since someone asked, that's my 2c :)
How do you find these companies? I'm trying to find such roles since this is kinda where I excel at, but most of the roles I seem to get interviews for are pretty generic backend roles.
If you are in a rush, I've had pretty good success in the past with applying to 'Who Wants to be Hired' posts, as well as AngelList (they just rebranded, but I forget the new name).
Not sure if that helps at all, but that's what's worked for me.
I do however mentor a bunch of juniors (less than 2 years of experience) and the 3 that got laid off got a bunch of offers within a month. It took more interviews but my experience from the last few weeks is that there are still a lot more jobs than applicants.
I think I had something like 3-4 offers rescinded and a couple of interviews where I reached the final stage just to be informed that the company halted hiring.
I guess what's more important for me is the type of work. I'm looking for startup work that's a bit more secure now, if that's possible, lol! Doesn't seem so easy to find.
Almost 20 years of experience at great large & small companies in the SF Bay Area. I like to think that I'm relatively intelligent and competent, but man, some of the interviews were torture. Even interviews for what are mostly CRUD web app development positions were doing l33tcode interviews (literally, I googled them afterwards) of moderate CS algorithms.
After 2 months of interviews I did get 3 offers at the same time. I've interviewed around here since ~2005 and I have to say it's still a crap shoot of if you'll get a good interview process. Some companies were great and had well rounded modules, focused on leadership, communication, design and just a little bit of programming. Others threw multiple l33tcode puzzles at you and had no idea what they really needed. Very frustrating.
This has eliminated 90% of the stress involved in job searching, and I'm confident that I can get an offer at basically every interview I get into.
I'm not going to get a position at Amazon or a SF company, but after seeing what friends have gone through I have no interest anyway. I also make coastal money living in the Midwest, which was achieved by the exact method I outlined above.
Now if I was in a desperate situation I would probably be forced to go through with these whiteboard interviews, which would suck - you do what you have to do though. However, I wish more engineers would refuse whiteboard interviews. If more job seekers did this I feel like we could change the industry, but the whiteboard philosophy is so widespread that it's an uphill battle.
I never ended up in a good place when it felt this way...
I'm not sure why you are saying this. You're in a rough spot and you're human. You don't have to qualify your struggle, even a universal one or one you do slightly better than others. The truth is that it shouldn't take interviewing with 28 companies to find a single offer. Interviewing at a handful before an offer sounds like it should be the (historical) norm, not a privilege. I know plenty of boomers who brag about how easy it is to get a job, with many talking about how they got hired as a walk-in to a technical engineering jobs. So don't put yourself down, we don't need a race to the bottom. We empathize with you because you're human.
but, congratulations!
Your experience has been quite different from mine. Laid off 3 weeks ago, 4 offers at slightly below what I was previously making. I'm a fullstack engineer.
Probably need to repeat your journey
If you need a job _now_, by all means, keep going. Just know that the system isn't as friendly right now, so it's not your fault when things are hard.
If you've got the runway to take a month, ask yourself: would you benefit more from building the inertia of keeping down the job application path, or from taking a breather and starting fresh in the new year? Both are valid.
TLDR why leetcode in private when you can work in public*
(*yes yes, not everyone can work in public, but i bet a fair amount of you can but havent given it a real shot)
Most of interesting questions had to do with system design and debugging, soft skills (also system design and debugging, but of systems made out of people instead of code) and code reviews — with me reviewing their production code. Sometimes I got pretty stupid interview questions like remembering REST spec (there isn't one) by heart, but those were companies I wouldn't want to work for anyway.
I had the leet code once, interviewing for Meta. I didn't prepare because I thought that it was pointless, but I was curious about what it would be like to do it. So, I went through with it and to my shock and awe I managed to do it. The feedback was that I didn't ace it but I did more than well enough for the interviewer.
I didn't get the job though. The last step was a really strange and uncomfortable 1-1 chat with a "very senior employee". This did not go well.
I had one of these once. The chief product officer came into the room, stared at me for awhile, then asked "tell me something you've thought really hard about...". It was a classic case of a narcissist exec. Glad I didn't get the job, as they are struggggggggggglin' right now.
While I'm obviously guilty of wanting to know details about the 'car crash' I'm also curious on a professional level about the challenges and changes that are happening to the engineering teams in this extreme situation.
Consider talking to a lawyer, and comparing notes with other people in the same boat. Doing this is almost certainly illegal in the US. (In addition to owing you severance, they may also be open to slander/libel charges. I am not a lawyer.)
Nope. Learned real quick that end of the year nothing gets done and it's just a waste of time. Big tech company recruiters, big bank company recruiters, startup recruiters, etc would shuffle amongst their many things, deal with sicknesses, deal with internal communications and mandates, and you're just another ticket in the queue for someone to gladhand. Sent out 500 resumes, even hired VAs to do it for me, and would get 20 call backs, 5 interview requests, 2 round two/full day, 0 offers.
By Q1/Q2 of 2022 switched strategies, got into studying for certifications (Sec+, PMP, etc.), and still the same. Responses picked up because start of the year and there's more action. Have more interview requests, and finally learning how much emphasis people put into STAR or CFAS frameworks, Leetcode, full day virtual onsites, and all of it was still kind of bullshit. Went with lots of crypto startups this time around since many were looking to staff up for the year, every single one of those crypto startups had lots of audacity and arrogance and ran by kids. Looking back, out of a list of 100 resumes I sent out only 10 companies are still around after this summer.
I ended up working at a supermarket around this time.
Q3 of 2022, switched gears one more time, now going for contract roles, backfill roles, tried to go through the list of YC companies. Learned now the new batch of YC companies are run by kids and equivalent of grad students, lots of ghosting, dropped communications, unrealistic expectations. Finally found success with contracting. Figured out how to update my LinkedIn, resumes, github, personal website to be more modernized and up to date.
Q4 of 2022, learned to work with connecting to TVC agencies and agency recruiters, now getting steady contracts at Big N companies because I kept following up with recruiters that held tight to my resumes.
That said, is it you? A bit of yes, a bit of no.
Product Managers are a heavily impacted role so comp wise you have many applicants. Job searching is a skill to be learned and flexed, rebuilding your digital presence is important to be part of the mix, and mostly it's also building up a network of relationships with recruiters and referrals to get your name in front of someone at the right place and at the right time.
Right now it's end of the year, nothing gets done. Jan, Feb, and Mar will be better. There will be tons of disappointments. It's after the thousandth resume submission, and after hiring a virtual assistant to submit for me, that the pain goes away and you just see routine. It's after smiling at the same bullshit over and over again being pitched how a company is viable that you realize it's all the same, you just need something to get going then figure it out from there.
But you've done this before, you'll get to do it again.
When I left a year ago, I thought that it was likely that the industry would start to slow down within those 6 months. I have been watching everything happen with mild curiosity. I am fortunate that my wife has a healthy career, so looking for any work has been low-stress.
I share that feeling of observing the industry. I think that some of the recent sentiments are a bit overblown about the tech industry. Some seem to think that it's all going to blow up because a few thousand FAANG rest-n-vesters got let go. (side-note: I know that not all who got made redundant were of that type, just adding flare!)
I think I will be soon in the same boat and happy to hear that your time was (at least partially) rewarding.
I have 13 years of non-stop work for big tech and I cannot wait for the day I resign. Hopefully, sometime in the next 3-4 months. :-D
It is better to be unemployed if you can afford it.
All the best with your future!
The acronym comes from its authors: (Cormen, Leiserson, Rivest, Stein)
That seems like a rather bold claim to make. I don't think anyone could really do that without having studied those subjects deeply. Did you study mathematics at a University and just didn't complete a degree or are you completely self-taught ?
As an SWE, this sounds way more fun.
Preach it! CoL in German cities is far too high for how low skilled dev wages are. 100k at 15 years work experience is an insult when you look at Munich/Berlin house prices and that new grads can get 60k.
And DW posted a YouTube video yesterday about how Germany has a shortage of software developers and they need to actively recruit from India and Pakistan. [1]
More like a shortage of desperate people willing to be low balled and a shortage of companies paying good wages.
Companies in Germany need to start paying ICs more and stop complaining about shortage of workers. Simple.
So with a 100k€ annual salary, one working parent alone can buy the house and feed the entire family. You consider that an "insult"?
Because at most places lead/lower management is another word for yes men that have proven their blind loyalty to the CTO, usually for 2 or 3 years. They don't wanna hire a manager who may question the status quo, especially when it comes to architecture and best practices.
> The market value for a profile like mine in a big German city seems to be around 100k € including some small bonus.
That sounds low to me and attainable in Europe if you have 5+ YoE at the right places. It sounds to me like you are being lowballed. I'm getting similar offers with way less experience.
Where you at?
In the Netherlands getting anything over €70k is incredibly hard. There are very few companies offering close to that and those are often for architecture roles. Lead dev is usually €60-70k, with some €70-80k exceptions, but those usually require ~10 years focused experience.
Interestingly, over here the freelance market is much better. Those will easily get you €100-150k gross and are often quite long term. And even with €100k, combined with all the tax benefits it's very much worth it.
I’m paying around 120-130k in Amsterdam which has a similar CoL to Berlin.
But it was a huge paycut. I’m definitely happier than I was in the US but I have been considering moving a bit further south. Bumping up to 120k and getting more sunshine would be very nice.
Typical freebies in Germany include:
- 13th salary as a Christmas gift (so +8.3% salary)
- only half of your health insurance costs are included in the nominal salary
- tax refunds if you buy a PC, do courses, or drive to work with your car
- company pays for children's daycare
- government-backed retirement fund with generous payouts. If you pay in 83€ per month now you can expect to receive at least €450 per month later.
Also, with a bit of searching, you can rent a house with garden for €2000 per month even in large cities like Hamburg or Berlin. As a result, an 100k€ annual salary will be enough for you alone to comfortably bankroll a family of 5 - something that's almost impossible in the bay area due to high rents and insane costs of living.
Health insurance is expensive and low quality. One must pay for all modern treatments despite being insured. Or have another expensive additional insurance. Cancer will be treated for free, that’s right.
Tax refund is a bad joke. Spending 5000€ to get cents back. 50% taxes and mandatory insurance plus 19% value added tax (food less, fuel with additional taxes). So 2/3 earned go to the government. Nice!
No company from dozen paid for childcare. I know, that it might happen, but it’s rare. Some companies have on-site kindergartens. But well… the waitlist is long unless you are important manager.
Government retirement will be about enough to live in extreme poverty trying to save every cent.
Just got intrigued and opened immobilienscout24. No houses for 2000€ in Hamburg and Berlin for a family of 5. Rather old Reihenmittelhaus for 2500€ with current electricity and heating prices.
There is nothing comfortable about 100k€ annually. Especially for a family of five. It’s like 4500€ after taxes every month paying 2500€ rent and living from 2000€. Belarus freelancers also make this and have really comfy lifestyles.
Edit: with 3 kids it’s closer to 5000€ after taxes. Still does not provide any luxury.
About the retirement... I would be careful about big expectations. Everything is based in constant growth of the german economy. Any public retirement is basically a Ponzi scheme (not my words! but from a Nobel Economy laureate)
Also one very important thing about cost of living: Hamburg and Munich, for example, the cost of living means that doing 20k more per year, as compared with say, Stuttgart, at the end you get the same... or the way around, 100k in Stuttgart is like 120k in Munich. You really have to factor that into the equation.
Everything else is worse than what I earn as a fully remote employee, who could choose to live in any number of second or third tier American cities that are nearly as cheap as Berlin.
My 100k number is all-in.
> Also, with a bit of searching, you can rent a house with garden for €2000 per month even in large cities like Hamburg or Berlin. As a result, an 100k€ annual salary will be enough for you alone to comfortably bankroll a family of 5 - something that's almost impossible in the bay area due to high rents and insane costs of living.
That is true. But you have to say goodbye to any romantic dreams about owning any property big enough for children (within a nice area of such a city), if you and a similiarly well-doing partner do not want to work for it for the rest of your life. If you have not come across FIRE, that might be okay as well.
I’ll be moving to Berlin in January, aber ich spreche nur Englisch und ich lerne Deutsch. Ich habe die EU-Staatsbürgerschaft und meine Frau kommt aus Berlin.
I am a senior front end dev who has experience leading teams
Some advice (some of it obvious if you've dont it before and not specific for Germany but maybe it's useful):
Have a profile on Linkedin and Xing, upload to sites like freelance.de and maybe to a bunch of agencies. Be ready to send a profile, listing as many projects as possible, i.e. different roles in a company could be separate projects. Make sure all relevant search terms (languages, frameworks, tools) appear for each project even if repetitive. English-only is ok in many places, German-speaking projects can be a little better though.
It's all through intermediaries, which means you can (and should) negotiate rates hard without worrying about burning bridges. No call with a recruiter that didn't go pleasantly ever led to anything so if it feels weird just hang up. Expect to be placed 3-6 months min, 2 years max in a project. Research a little on "Scheinselbständigkeit" but it's not a huge issue these days. If you want 100% remote it should be possible.
Good luck and welcome to Germany :-)
1. Just get a tax advisor who is fine speaking English with you. Just let him do everything in the beginning. Afterwards you can do more of that yourself. Try to be classified as Freiberuflich, not Gewerbetreibender. It helps if you have an engineering degree, but he can help you with that.
2. Do at least two gigs per year (Scheinselbstständigkeit).
3. Use HAYS and others to start it of.
4. Continue to learn German. Maybe do some German interview training or something to get in. There are teams working in English, but you will have an easier time overall.
You are required to have Health Insurance if you live in Germany, and for freelancers it is quite expensive(it will probably cost more per month than apartment rent). This can be a dealbreaker for people with limited financial resources who need some time to get their business off the ground.
However, if you don't want to be tied down, something like "Elternzeitvertretung" (aka jumping in for people on paternity/maternity leave) might be interesting for you.
Yeah, seems so - 80k is on the higher end, but possible in Poland, while the CoL is laughably low compared to Germany.
The gov. has good health service, and also education. But the education system has some interesting limitations, that may surprise you.
Net would be something like 55k if you are single, but you already paid into a mandatory retirement plan and you, your kids (and laughably also your partner) are health insured.
We're thick into the holiday season. I wouldn't expect anything to speed up until January, regardless of market conditions.
Yep. And almost everyone is hiring by committee now. Because if the committee hires the wrong person, nobody hires the wrong person.
And with all of these people involved, now you are subject to the calendars of the various very busy “stakeholders”. One company I engaged with had me talk to 11 people between individual interviews and panel interviews. That’s 11 calendars to coordinate, with illness and PTO and holidays and on and on to sort through.
I had one situation where I had to wait two weeks for one of the interviewers to have a spot open on their calendar. “She is so busy”, I was assured. They eventually extended an offer, but this and other warning signs made it clear it wasn’t a fit, so I respectfully declined.
At least in some cases, it's a reaction to some managers having made hiring decisions perceived by leadership as mistakes. Impersonal and bureaucratic as it might be, to the extent it keeps the bar higher I think it's a good thing.
If he really is coding 90% of the time though, more power to him.
If they can do it, why not the plebs?
Then the question is only whether it's legal (contractually) to be employed by more than one employer at a time. But to that... would it be legal for a company to own every waking hour rather than just your employed hours?
I've not seen anything that says someone has to be exclusively hired, but they would need to be able to fully do their job for their employed time and surely that's all that matters.
They can also request that the employer withhold additional taxes; this is fairly common because of situations where both spouses work.
They likely have two healthcare plans, but that's generally not an issue - again, it's fairly common if both spouses are employed.
For the 401K, the individual will just have to make sure that their total contributions between both companies are under the federal limit.
The IRS knows but they don't tell employers.
Hiring tends to happen when there's not enough people. Only the people who can do the job are qualified to assess whether someone can do the job. So you have people who are already at double the workload having to take time to design and handle interviews and such.
And by the time you get everyone to sign off on hiring this guy at the extravagant tech salary, economic downturn forces you to fire a bunch of people. In a recession, the least useful people are probably HR.
I think you mean recruiters, not HR. Big difference.
We had a C++ service. It needed high availability, but didn't have super high resource requirements. Our setup was an ec2 instance (c5.xlarge) to build and release AMIs (a bash script using debootstrap to build the AMI which someone wrote 10 years ago probably), an autoscaling group of 3 t2.small instances spread across AZs, and an ALB.
The total cost of this was perhaps $200/mo, and we had incredibly good uptime.
So, what's the catch? Well, it took the service about 20 minutes to build, and about 35 minutes from clicking the "deploy new version" to it actually running. Someone higher up noticed, and a bright-eyed infra engineer said k8s would make the deploy cycle faster.
Fast forward a year. Our autoscaling group is now 3 c5.xlarge instances because the kubelet + docker + coredns + all this other k8s gunk I don't understand need significantly more CPU than our app does (and without giving them more CPU, deploy times were much slower since downloading and unpacking the image was so slow). We have a new logging system (our old logging setup wasn't cloud native apparently) that takes a gig more memory per node. A gig of memory per node to support our service, which peaks at 200MiB RSS. Building and deploying a new version still takes about 35 minutes because compiling C++ is the exact same speed in a dockerfile as it is on an ec2 instance.
It costs about $600/mo, and it has far more operational load. When it isn't having any issues, the p99 is identical.
> better performance or lesser costs
It seems like the opposite of what you'd expect. K8s is adding more components. It's adding more resource usage. Why wouldn't that be slower and cost more?
Recession case: inflation depresses other spending, new home starts are decreasing, strong dollar, Chinese economy wobbly, EU economy weak, continued supply chain disruptions, PMI weaker, ad spending curtailed.
Soft landing case: Goldilocks scenario for USA employment; inflation has decreased; chip shortage over; few layoffs outside tech; airline, hospitality, defense, healthcare, energy sectors booming; China economy may strengthen with softened zero-covid policy.
I can only describe it as creepy.
That's different than it being undecidable, in which case you have to insist on providing something other than an exact algorithm that handles every input.
Anyone you find in the real world under ~30 years old may not even be aware that you can pass a reference and modify it directly without having to make a method return a value.
It's super cool to have someone explain to you side effects yet you show them a method with a null return and run it for them showing that the value has changed and they are mesmerized.
I once shadowed an interview once, where this happened. I felt bad for the candidate, because I wasn't allowed to speak whilst shadowing the interview, and neither did I have to submit feedback; and the candidate clearly was coding well. Although, I did reach out to the recruiter about this. And I don't know what happened after that.
I have talked to some companies in Ireland and the UK in the last few months, and their ranges usually start at 80/90k. The most famous example is probably Google. Entry level (L3) is 100k-ish and L4 starts at ~120k. Even if OP was placed at a below average level for someone with 15 YoE, they should be getting 150k+ offers.
Well, it's definitely possible in Poland.
Also it can come down to just a bad recruiting/HR process and the place itself is perfectly fine to work for, and maybe that doesn't come through in the initial screening nonsense but you figure it out from the final round. Or you just end up not having a choice if the market is tight and you would end up wanting to take the job for the paycheck even if it's only 6-12 months while you find something better.
Also I would say poor HR practices are correlated to the quality of the workplace but that's just a hunch that I follow. Not science backed.
As an aside, Staff Engineers have to ride this strange line of being tech leads, managers, architects, and ICs. In my experience, one part or all parts will suffer. Will Larson's book[1] dances well around the ambiguity, but basically when you take a Staff Engineer job, it'll be unclear what you're signing up for.
Companies tend to have a ladder and different paths/comp levels for managers and individual contributors. Different regions are then sliced into different levels and what you're left with is location, a role, and a level. These are combined to create a salary band which is the range an employee that fits into the profile.
It's important to note, it's a salary band. This means an individual can have a fairly wide range of total compensation across this band. Also, some companies are biased towards salary or stock options/RSUs. But generally, an employee will have a lower "comp-ratio" meaning they are under the middle of the band. This leaves room for raises, etc. At some point an employee will be at the top of their band. They are either promoted into a higher level, kept at their current level but only given CoL increases (bands tend to increase ~3% each year), or fired.
The company can decide how competitive they want to be in each region or choose to not hire in a region because it is too expensive to be competitive there.
Outside of FANGS & MANGAS, German companies would start laughing if you ask for that much for IC positions, even senior ones.
That kind of cheese is usually reserved for management/corporate bootlickers high up the command chain.
It results in frequently hiring the lowest common denominator. No risks are taken. Bold thinking is suppressed. It trains your managers, whom you don’t trust to hire their own team members, that leadership is done by committees.
And what’s the solution to a bad committee hire? A bigger committee.
Dealing with just a handful of these guys is enough to do away with providing any sort of feedback. Like many things, a few bad apples ruin nice things for everybody.
1/ Managers particularly for SDE roles don’t usually have >10-12 people. In reality the URA (Unregretted Attrition) goal is mostly managed at the L8+ level where organization sizes are usually hundreds. Far more likely you have some underperformers in an overall organization of 300, even if an individual team is all awesome.
2/ Interviews at Amazon involve a Bar Raiser who almost certainly won’t work in the Hiring Managers span of control, and the debrief attempts to answer “Is this a bar raising hire?”, meaning is this applicant better than 50% of people in the role/level.
I can really only speak for AWS and Engineering roles, but I never saw any “Hire to Fire” behavior at Amazon, and most every Bar Raiser that I saw took the role seriously and was not a “rubber stamper”.
You had to compute a graph from a set of points (i think it was knn, not sure) and do stuff on it. At some point of the defense, this happened
Me: I skipped this question.
Examinator: why?
Me: If I compute it using the graph structure, it reduces to max-clique, which is np-complete. I looked for a solution using the point dara but didn't find it
Examinator: can you write an algorithm for max-clique on the board?
Me: here. This is exponential time
Examinator: it's worst case exponential time. But in this case it would have worked, you just had to try it
Me: urgh
Now I've learned my lesson: np-complete doesn't mean impossible
I am applying currently, don't know how that will turn out, but he manager even said that Swedish developers are cheaper for the company than people from Germany, Switzerland and I think even Poland was getting bigger wages.
So Sweden has this low-wage aura apparently.
That’s how I justify it here at least. I mean, I make 500.000kr less than I did in the US, but 900k also puts me in the top 5% of all earners in Norway. So I have a very good quality of life.
The middle class is so compressed here that it’s a super cozy income, and I will never have to worry about anything financially or healthcare related for the rest of my life.
I just have moments of «I want more», which is when I get anxiety and look elsewhere. But honestly not sure I need it in any real way.
Premium areas are London and Paris. But even these salaries are closer to a middle rate USA city.
Super-premium (on par with more expensive USA salaries like SF or NYC) is Switzerland. Very expensive to hire there and easily the highest salaries in Europe in my experience.
This is just based on a CoL ratings at a single place.
When looking at offers there, there is absolutly nothing beyond 70k.
You're almost certainly better off learning to code first and then learning about algorithms once you've got a decent coding level. In a typical entry level coding job you can easily go a whole year without implementing any algorithm more complex than a binary search (if that).
1. Domain knowledge (understanding the problems you are trying to solve, for who and why they need solving)
2. Full stack awareness (understand computer hardware, networking, OS, HTTP protocols, UI etc. AND whatever the core components of your domain are. This is crucial for being able to reason about and debug a running system.)
3. Technical communication in written and verbal form.
4. Programming fundamentals. Honestly I feel much more than "fundamentals" is a waste of time for new entrants. If you haven't been paying attention, GPT-3 has taken away the need for programming acumen for most creators. Prior to that Google+Stack Overflow got a whole lot of us through gaps in programming language expertise. Leetcode is literally just a proxy for formal education/privilege and has no direct application in daily work with the exception of a narrow few areas.
If you are truly a nuts and bolts person, let that be your domain. You could write a better inventory, search, and/or checkout system (wow bolts are easily stolen aren't they?!). You could also take the abstract mechanical intuition and focus on robotics.
One shouldn't aspire to work at a "tech company" - most of those that you might think of are actually ad companies. Following the analogy of 100 year old media, Googlers are out selling classified and yellow page ads in Search/Display, Netflix is a magazine publishing house, Amazon is the Sears-Roebucks catalog (Mail order homes!), Meta, the newspaper of newspapers. If you like sales, marketing, and influence it would make sense to work at such a place. I cannot tell you how many people are surprised by this, but it is vastly larger than it ought to be.
If you want to call yourself a developer/programmer/engineer/hacker then show up to build something that will run for a long time and not injure people during its operation. Build something better. If that isn't your ethos or ethic, there are better ways to make money.
I strongly disagree. GPT-3 is impressive technology, but it isn't even in the same universe as a team of sharp experienced developers. It is a valuable tool for them to use in some contexts, but it won't be replacing them anytime soon (at least not at a company I would work for).
func swap(x *int, y *int) {
var temp int
temp = *x /* save the value at address x */
*x = *y /* put y into x */
*y = temp /* put temp into y */
}Getting sued is not getting convicted of something.
Anti-moonlighting clauses are nonsense.
But then again, would that work out if you were to work in San Francisco for $200k annually?
It just didn’t feel like a fit.
Maybe they have ways of evaluating your potential without subjecting you to an endless barrage of gratuitously difficult (or simply tedious) questioning.
Balls may have been dropped by some people, but I always have recruiters pinging me relentlessly the day after I've done an interview so they can get back to the candidate within 5 business days.
You can get your own coverage on the Affordable Care Act exchanges. It's not necessarily a great deal, but again, it's about keeping that out of pocket limit as a safety net.
In all likelihood the burned out hypothetical software engineer is going to recover and find work with employer funded healthcare coverage again.
You are a Director; you have a 350 person organization; you’re leading a rapidly growing business (let’s say >40% YoY growth in revenue, not uncommon in parts of AWS); during the OP1 you secured incremental investment of 20% meaning you’ll grow to 420, which is +70 hires to make.
You’re goaled against a 6% URA meaning 21 people exit voluntarily after being entered to Focus, during Pivot, or involuntarily at the unsuccessful end of a Pivot.
If I spoke from experiences, I’d say the (vast) majority of your URA will likely come from the tenure group with < 18 months at Amazon, in effect, hiring decisions which didn’t work out and where, in debrief, everyone thought the person had potential to be a bar raising hire but in reality they were bottom quartile. In the debrief your clear options were “Hire at L7”, “Hire at L6”, “No Hire”, plus maybe some flavor of good fit for Amazon but not really for this specific role.
Let’s take the extreme of this and say all URA comes from just the +70 growth, 21 people would be a 30% failure rate.
In a less extreme and more likely scenario: it’s more like some fast failures occur from the +70, others are slightly slower and show up after 12-18 months (that would be the prior years growth). Tenured people with e.g. >4 years sometimes start to struggle for whatever reason.
That’s not all that unexpected, in my opinion! Even with a structured well-used interviewing mechanism you’re getting perhaps 6 hours of signal and during this time the applicants are naturally very focused on “putting the best foot forward”. After a hire decision you work with someone for 6 months or more and ask “Is this what I expected?”, and “If I could make the decision again based on the signal I now possess, would I still be strongly convicted and proceed to hire this person?”. When the answers to these questions are “No”, that’s often what commences the performance management processes.
Now, this explanation works for growth businesses, it’s less apparent how 6% URA makes sense in a flat growth organization, since you’d be finding those cuts from a mostly tenured and presumably mostly proven set of people.
I never ask LeetCode questions because it’s far easier on both sides to ask experience-based questions like “what do you like/dislike about <technology on your resume>?”
If I get superficial answers that tells me something. If i get well thought-out answers from people who have clearly spent time in the trenches that tells me something too.
Back when I was doing C/C++ interviews, I'd ask questions like:
What's the difference between single and double quotes? A meh candidate answers something about you need single quotes for just a single character. A good candidate answers about how the data type for a double-quoted constant is a char.
If I want to pass a variable into a function, and have its value changed by the function, what do I do?* A lousy candidate says "put an ampersand in front of it". A meh candidate says to pass a pointer to the variable. The best candidate will talk about the difference between call-by-value versus call-by-reference.
People really do reveal a lot about themselves not just in what they say, but the way they say it.
In theory, it's at will employment yada yada. But in practice, it makes a difference.
there are sites online, like the whoishiring threads here. i’m running https://hourly.fyi/jobs/
It wasn’t that much or that bad, really. The setup was pretty simple, and quite doable for junior devs IMO (though full disclosure I had just left a position as a lead game programmer, so for me specifically it would have looked a little bad if I didn’t smash this particular interview question). It also helped that the problem was open-ended with extra credit features. I learned later when giving the interview myself that most people never finished the basic game, the majority never tried to write an AI player, and the interviewers were quite forgiving with their ranking & scoring - it was adaptive to the candidates. The coding part of the interview was just trying to be a bit fun and not just be pure dumb LeetCode problems. IMO it worked, I totally enjoyed the interview. The rest of the 4 hour interview included some whiteboard questions (on DB schemas, which I flubbed pretty hard) and also a lot of just talking about experiences and goals.
I think this is dismissive of their talent, relative to other people who might try doing the same.
To be fair, swyx was also being dismissive of their talent "Just work publicly and you don't have to prove your coding skills!", which of course assumes your talent will be evident to anyone glancing at your public work. In my opinion, making incredibly complex work look effortless, and therefore easy to follow, requires exceptional talent.
I believe those who are popular content creators are also better at marketing and sales. Getting their work recognized means that their marketing talent is good and not necessarily their programming skill relative to other people who are doing the same.
When looking from that perspective - are you optimizing for hiring people with good programming skills or those with good marketing skill?
You can take a traditional career path, or you can carve out a niche somewhere.
Here in north-west EU C and C++ haven't been a part of the core curriculum for over 25 years (unless you do embedded work), and code with side-effects in desktop-class systems has been frowned upon for nearly as long due to the need for more cookie-cutter engineers to fill positions and write code that might still be OOP but has to be almost as side-effect free as functional code.
Basic/core languages are still (last time I checked when doing guest lectures ~ 6mo ago) Java, C#, Python and the mixed bag that is web languages.
This is also influenced by the core program required to be an accredited institution and the large amount of consultancies people end up working at straight out of college/school/uni. This even still happens in infrastructure-centric programs where you do lean a bit about TCP/IP and OSI layers, but then essentially get dumped into Juniper/Cisco/vmware/microsoft school which almost always gets them vendor-locked and unaware of the actual concepts and abstractions they implement.
So no, not knowing the difference between passing references or values, or pointers and dereferencing them is not as strange as you seem to think it is. It is not a piece of knowledge or experience that is seen as valuable enough by the people that create the curriculum or the companies that employ the largest quantities of inexperienced workers in this part of the world.
A lot of people seem to underestimate the prevalence of C/C++. I've had people tell me that C/C++ is completely dead and the future is machine learning entirely written in Python, but the machine learning models they're using still usually have parts hand-tuned in C/C++, or even assembly.
Most real world software will use many core libraries implemented in C/C++ for doing the heavy lifting. Just the FFI and creating all those Python objects makes it slow.
Python is a great language for prototyping and/or usage as a glue code.
Personally, I am more inclined to use Go for anything quick and performant. If Carbon language becomes a reality, I would bet on that since it allows seamless interoperability with C++ (and there is a large existing eco system). Else, time to learn Rust.
Intro to Programming 1 and 2 were taught in C++. Can't remember which one taught pass by reference, but it was definitely in one of those two.
Third class I took was Intro to Systems or something like that. The whole class was C and x86 ASM. Lots of binary operations in that one, used K&R a fair amount in that class (also learned debugging assembly in GDB and some other "low-level"-ish stuff).
Just looked it up, can't say 100% it's still C++, but the syllabus looks about the same as I remember for both class. It gets to pointers by week 7, and then in the second class goes deeper:
* https://web.cs.ucla.edu/classes/spring22/cs31/syllabus.html#...
* https://web.cs.ucla.edu/classes/spring22/cs32/syllabus.html#...
And again, I didn't even get a CS degree. This was all lower-div CS work at a public university, and I'm not even a career engineer.
> So no, not knowing the difference between passing references or values, or pointers and dereferencing them is not as strange as you seem to think it is. It is not a piece of knowledge or experience that is seen as valuable enough by the people that create the curriculum or the companies that employ the largest quantities of inexperienced workers in this part of the world.
This attitude is why you're getting flak in this thread. Your claim that "We don't teach pass by reference these days" was too absolute, and not accurate for a ton of people. Then someone came back and told you that, and you told them that their claim was too absolute.
I'll also say that it's something that was absolutely valued around the orgs I worked in at Microsoft (Azure, DevDiv, Windows, very roughly bottom half of the stack teams). If not C/C++ pointers, than __absolutely__ passing by reference in C#.
Point being: __knowing__ about pointers, passing by ref vs. value, etc. is not as strange as __you__ seem to think it is.
C and C++ (and Assembly and compilers) are not part of the standard college software engineering curriculum here. Your opinion on that doesn't matter (just like mine doesn't matter) because it is a verifiable fact. And as such, it is also not strange to not see this bit of knowledge being prevalent. K&R isn't used much except if you are either taking the purely theoretical CS degree courses or if you tack them on to the normal required courses. Even the Gang of Four is only mentioned in passing when talking about patterns.
You __could__ argue if this is foundational knowledge, and if so, you __could__ argue that therefore the curriculum is in need of adjustment. But I didn't.
Regarding what this was all about (WrtCdEvrydy's comment), he might be talking out of the wrong hole, or he might be in a similar location as I am where this is how it works and that might be different from where you are.
I think an operating systems course, or something approaching it, is a pretty standard piece of good CS curriculums in the US still from talking with other folks I've worked with. And I live/work very far from where I got my degree.
EDIT: in the US, not in the CS, lol
It’s not illegal, just highly unethical. It’s also not true, he does not know someone doing this.
I don't see the ethical quandaries though. So long as one is doing the work promised, and the company is satisfied with their output. It's not any more unethical than working on any other side project after hours.
It's funny, when this topic comes up, the people that are juggling multiple jobs are usually stuck in this weird place where they want to convince people it's true but at the same time not draw too much attention to it (for obvious reasons).
I know a guy who overlapped months of two different jobs.
So it exists and happens. And for IC-type positions should be even easier.
How do you think society would work if there was no restriction on the size of the group that is allowed to break the laws for their own benefit?! Imagine the horror if all plebs were allowed to do that! Could everyone live in Monaco or what?
The categorical imperative deserves to stay in the dustbin of history.
I do know there are programs out there that focus on different aspects though, and not surprised they would be geared to make people more job ready. We actually didn’t really learn about unit testing, and such, so it’s a balance.
Sure, if you lose you probably just end up paying money. But lots of "real" crimes have punishments that amount to paying some fines but no jail time.
I've never done anything spectacularly fancy with CLI terminals. I could rig up a UI with c++ and qt, or python and tkinter.. but it's been a while. Longer ago, I used to do objc but that was forever ago!
So yea, I'd die on this one hahaha.
I should try it sometime. I love tetris!
Re: ridiculous C++isms and embedded C, I’ve been in the same spot for my entire career. After learning C++ in college, I joined a CG film company that had banned C++ (dumb story) so I learned how to write object oriented C. Working in console games after that, we weren’t allowed to use any built-in memory management or exceptions or a current compiler, so very restricted C++. (And the worst bug I ever fixed was when someone tried to get clever with their C++ copy constructor.) These days I use CUDA, which is also technically C++ but basically C.
I have friends who work very boring jobs in the gov't or non-profits (who make 90K but have a 10% 403b matching or pension; a 750K house; and a 1 million liquid investment account of CAGR of 20%), drive beater cars but through shrewd investments and frugality are multi-millionaires. I also have friends who flex in fancy cars, fancy luxury downtown condos and fancy jobs (who make 200K+ but never contribute to 401K, no house b/c lives in HCoL and only a ~150K in savings b/c travels, eat out etc.) but spend it all and when I talk to them in confidence, am shocked they have a fraction of what I think they are worth net-worth in the bank.
I used to think these stories were some kind of Suzy Orman/Dave Ramsey made-up morality tales or exceptional one-off stories - but older I get, I realize they are not. It's just most people start off the same - and it's only after years, people's money habits dramatically compound over the years that these differences become exponentially large and comical.
And yes, savings and savings rate is the biggest determinant in eventual net worth. I know bond traders and FAANG engineers that make $200K+/year and live paycheck to paycheck because their expenses eat up all of that and then some. One guy literally blew it all on hookers & blow and then died of a fentanyl OD. I also know people that saved about 1/3 of their take-home on a grad student or Whole Foods salary and are now living a reasonable life as a homeowning family despite never breaking $100K/year in income.
No... You really don't wanna work for less than $150k at a startup, at least on the west coast.
The compensation though makes take home pay far better than anywhere else even omitting that if you’re at a well compensating place (i.e. FAANG), even for just single individuals.
None of my friends in their 40s have trouble getting jobs. This includes software jobs that tend to skew young, such as game dev and startups.
I wouldn't doubt it exists, but anecdotally it doesn't seem to be such a huge problem that you can't continue coding until a standard retirement age.
Secondly, I'm genuinely interested in your thoughts here. What if you:
* Lived in the EU
* Being salaried 100k EUR (which is probably around 90th percentile)
* Worked for a _global_ company with a _global_ product deployed on a _global_ market with _global_ competition
And now some of your colleagues are from the US and you:
* have the same responsibilities as they do
* have the same skill-set needed for given position as they do
* have the same impact, or potential for it thereof, as they do
* have to go through the same agony of being and staying among top performers
And yet your US colleagues are salaried 2x-3x as much as you are. Without taking RSUs into a picture because that's a very rare thing to have in European companies.
What are your thoughts about this? Do you attribute this difference solely to the cost of living?
Also, with 2 kids and 2 adults out of which only 1 is working, you'll get heavy tax deductions, so I'd expect an effective tax rate of around 15%. That 100k€ gross will turn into 85k€ after taxes. Deduct another 10k€ annually for top-tier health insurance for everyone, 1900€ per month = 23k€ annually for the house and that leaves you with about 4300€ each month to spend on food, clothing and heating.
This might be just me, but I think if you pay people so that they can have a very nice lifestyle where they live, that's a "good salary". If the absolute $ number is higher in San Francisco than it is in Germany, then you either need to pay them more to match the lifestyle, or maybe hire in cheaper markets.
Germany in general seems to be very remote friendly. Many larger companies even have programs where you can go on a work-vacation to a tourist resort and they'll organize a co-working space and necessary permits. I guess that's why you see salaries equalize more throughout Germany while in the US the regional differences are quite strong.
Your calculus is far far from reality so your further reasoning is therefore flawed from the very start. 4-4.5k EUR is probably more realistic.
Moreover, property prices around EU are generally speaking anywhere from 3k EUR to 15k EUR per sqm. For a 100sqm home that's 300k EUR for the cheapest one, 700-800k EUR as a median and more expensive ones over a 1M EUR. Even with the 90-th percentile salary such as 4k EUR per month (after tax), how exactly do you envision buying a home with that sort of prices?
Software engineers are being grossly underpaid in Europe and all this recurring bullshit around housing prices, living costs etc. is just a bullshit that capitalist companies will spread to convince people such as yourself to start considering your colleagues as a "threat" and not just human beings who want to be paid what they are deserved.
My purchasing power, even with the 90-th percentile salary in EU, is _nowhere_ near the purchasing power I'd have with the same skills I have if I had lived in the US and that's where all the discussion can stop. If we take some of the other European countries as an example that gap is going to be even much larger. Purchasing power coefficients are a real thing you know.
So you hire someone who has 14 years of extra experience and brings a lot more value to the company and only pay them 40k extra?
That's why I'm saying it feels like an insult.
It's why we should compare salaries for positions rather than YoE.
Not in this case. It is 15 years of proper software engineering and devops experience, for times in leading positions with additional responsibilities.
The cost published does not include heating or any other utilities, that adds up pretty quick!
And yes, heating and utilities add up. But we're talking about a salary that after taxes will be 3x to 4x the down payments.
And even if it was, the legal costs alone add up to a few tens of thousands of EUR for a property like this (eg. if the property is worth €500k, you are looking at at least in the order of €50k of legal costs and taxes...). But I don't know of any bank that would lend you 100% of the price of the property you want to buy, if you do please introduce me to them...
If it really was so easy, everyone would be buying these properties. But the upfront costs are simply prohibitive.
"But I don't know of any bank that would lend you 100% of the price of the property you want to buy, if you do please introduce me to them..."
Here's a FAQ on buying a house without any prior capital. Obviously, the interest rate is going to be higher... https://www.immobilienscout24.de/wissen/kaufen/finanzierung-...
That said, you yourself described this as "low pay".
My comment was in response to the GGP's desire to calibrate their salary expectation level.
So, I think we agree.
And a lot of this comes from people who are far less wordly than they think they are. Like there are people that genuinely believe that no one in security makes more than $200k except CISOs.
I understand it's entirely possible to juggle two remote jobs, I just don't think it's nearly as common as people claim or think, which is why it's an easy lie to make. It's got nothing to do with the total salaries involved, and everything to do with the exceedingly rare nature of the claim.
In your example, the "ethical" way to violate a non-compete is to redact it from the original contract.
I'm not saying you're the worst person ever, but littering is unethical, and so is saying you'll do something and then not doing it (or vice versa).
I'm sure you're thinking "but we're talking about software jobs where people have a lot more choice and bargaining power", which is definitely the case, hence why I mentioned that it depends on the company. On the most unethical end of contract violation I'd put the small startup that treats its people right and on the other end I'd put Walmart.
In my 20s I was told 30 is the end of the line. In my 30s I was told its the 40s. Now the bar is higher.
Maybe I'm part of a large enough cohort of programmers that we continually push ageism out, and due to that it will be 'solved' as we hit our 60s and 70s.
It probably does mean that, if someone just wants to code, they probably have a higher bar than people interested in doing a more diverse set of things.
There is shitton mandatory insurances and payments. Income tax alone does not really matter. Rundfunkgebühr is very real tax and can’t be avoided.
Edit: sorry, I am rude. But downplaying all the so called insurances, that must be paid from salary is not nice. They must be paid in full and can’t be avoided. I would love to decide about my retirement by myself instead of funding current retirees.
What the person in your Jimmy Johns example has is the ability to seek work elsewhere.
They are indeed acting unethically if they choose to work at Jimmy Johns, knowing what Jimmy Johns requires of its employees, then proceed to quit and then go work at Subway.
I'm concerned you're considering "acting unethically" as a kind of condemnation. It's not. Life happens, and nobody's being sent to the stockade for acting unethically, but that is what you're doing when you violate a contract.
I would add that ethics is an entire branch of philosophy, so you know, there's so ambiguity between different folks' definitions. IMO it is ethical to violate contracts that would cause undue harm to one of the parties without good cause and furthermore it is unethical for a party to ask another to sign such a contract. And working at another sandwich place is not good cause. Clearly in your opinion you think it is unethical to violate such a contract because you appear to believe that violating any agreement (almost irrespective of context) is unethical. I'd be curious if you think that Jimmy Johns is ethical, unethical, or neutral for inserting such language into a contract in the first place. I would strongly disagree with that being either neutral or ethical.
Not that the US government is an arbiter of ethics, but Jimmy Johns has dropped their non-competes in several states after state Attorneys General filed suit against them: https://www.cnbc.com/2016/06/22/jimmy-johns-drops-non-compet...
I agree it's good for a candidate to demonstrate a solid understanding of evaluation strategies, but the way you phrased the question, the 'meh' answer seems about right. You asked what do I do? which invites a narrow answer specific to the language.
In fact, I had an instructor in college that would have marked you down if a quiz/test asked this question and you wrote an entire paragraph describing call-by-value versus call-by-reference.
On the final, he said "Each of these questions is answerable in 1-3 sentences. If you're writing 1-3 paragraphs, you're wasting my time and I will subtract points even if your answer is correct."
(personally, I would be a meh candidate until you probed further - but I've not touched C for.. hmm, I'm old)
I often get questions where I need to determine if they're looking the textbook answer, or a real-life answer. Usually I will go with "well generally, the answer is $Textbook. However, ..."
What's the email address: To email, send to the domain [redacted], using the mailbox "[redacted]".
In general, email addresses consist of a username followed by the at symbol (@) and the domain name, such as [redacted]@[redacted]. However, without being able to verify the existence of the domain [redacted], I cannot say for certain what the email address would be.
The canonical example is a function that swaps the variables passed to a function:
a, b = 10, 20
swap_fn(&a, &b)
a == 20 # true
Since the above are primitive data types (ints), in order to make this work, the language needs to generically support passing the address (reference) of the variables. Java¹/Python² etc. are not able to do this; they copy the value of the variable and send it to the function, which will operate on the copy.¹=at least, last time I've checked, which was long ago :)
²=funny to think that at least in Python, one can mess with the global register of the variables, and actually accomplish that
Python 3.10.8 (main, Oct 13 2022, 09:48:40) [Clang 14.0.0 (clang-1400.0.29.102)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> def f(d):
... d['foo'] = 'bar'
...
>>> a = {}
>>> f(a)
>>> a
{'foo': 'bar'} Python 3.8.10 (default, Jun 22 2022, 20:18:18)
[GCC 9.4.0] on linux
Type "help", "copyright", "credits" or "license" for more
information.
>>> def f(d):
... d = {'foo': 'bar'}
...
>>> a = {}
>>> f(a)
>>> a
{}
does not modify the passed in dictionary, because the reference 'd' itself is passed by value. So the function doesn't change what d references for the caller. Java works the same way.I guess my understanding could be technically wrong in some way, but it seems to reflect what happens.
I've been developing for 25+ years in any language you can imagine, and know how to use pass by ref just fine, and know there are situations where it might be the best solution.
But I can't remember the last time I've used pass by ref. It's really just a coding style quirk for me, I find it "ugly" and it breaks my train of thought when reasoning through the flow of code. I certainly don't begrudge anyone who uses it though.
And OP's anecdote about the interview is certainly disheartening. You'd hope the interviewer would at least be open to the idea of learning something new. I've learned countless things from developers I've interviewed over the years, and I was incredibly happy about it each time.
Edit: In re-reading your comment and below replies it seems you may be misunderstanding what's being discussed. Yes, the things we pass into and out of functions tend to be object references by default. But when we say "pass by ref" (in some languages at least) we mean, essentially, modifying a value in a calling function without actually returning anything from the called function. That's a horrible way to explain it, but the MS documents for the "ref" keyword do a good job of showing examples:
https://learn.microsoft.com/en-us/dotnet/csharp/language-ref...
Like...duh?
I suppose that's why I find Golang less weird to work with than others in my cohort. I spent a semester in the depths of C and OpenGL so I'm intimately familiar with by-value vs by-ref.
One necessary (but insufficient) test you can use to determine if your language has call by reference or call by value is whether you can implement a swap function. In the languages you list, a swap function is not possible to implement, whereas in C++ it is, which tells you that those languages do not implement pass by reference.
For example the Java Language Specification states in section 8.4.1 that Java is pass by value:
https://docs.oracle.com/javase/specs/jls/se8/html/jls-8.html...
ECMAScript's Language Specification also states in section 10.6 that it uses pass by value semantics, although it's much more formal about the specific approach it uses:
https://262.ecma-international.org/5.1/
I can't link to the specific section but you can review the semantics of MakeArgGetter and MakeArgSetter which are specified to produce arguments bound to the *value* associated with the name, as opposed to a reference.
Python does not have a spec that I can reference, but given that its argument semantics follows those of Java, and once again the inability to write a swap function, it should not be too difficult to deduce that Python also passes by value.
Forgive a painful mixing of metaphors: if the Workplace StackExchange is anything to go by, one interviewer's flying colours are often another interviewer's red flags.
This is absolutely true.
In /r/RecruitingHell, I recently saw a job seeker saying a hiring manager dropped them after they tried to connect on LinkedIn during the interview loop. Meanwhile, another HM in another loop praised them for it.
Yup.
There's a fine line between giving a thorough answer and just vomiting up everything you know that's slightly relevant to the original question.
I do AppSec. If I'm interviewing a candidate, and I ask them what Cross-site Scripting is, then if at some point during their answer they bring up SQL Injection, that's a red flag.
Here's an example to include the id differences and the fact that a does not take on the value of d:
>>> def f(d):
... print(f"id: '{id(d)}'")
... d = {'foo': 'bar'}
... print(f"id: '{id(d)}'")
>>> a = {}
>>> a
{}
>>> id(a)
140362610196224
>>> f(a)
id: '140362610196224'
id: '140362610196160'
>>> a
{}
>>> id(a)
140362610196224
But, as I've posted elsewhere in this thread, this example will change the contents of 'd' since d itself is not being set, its contents are: >>> def f(d):
... d['foo'] 'bar'}
...
>>> a = {}
>>> f(a)
>>> a
{'foo': 'bar'} Python 3.8.10 (default, Jun 22 2022, 20:18:18)
[GCC 9.4.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> def f(d):
... d['foo'] 'bar'}
...
>>> a = {}
>>> f(a)
>>> a
{'foo': 'bar'}
Python 3.8.10 (default, Jun 22 2022, 20:18:18)
[GCC 9.4.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> def f(d):
... d = {'foo': 'bar'}
...
>>> a = {}
>>> f(a)
>>> a
{}While I likely can not convince you further that you are in error, especially since you're now trying to double down on this, for others reading this who have a genuine desire to understand this topic, please understand that Java, JavaScript and Python do not pass by reference, but instead pass by value and refrain from attempting to redefine technical terminology.
The references I cite are quite authoritative and unambiguous on this topic.
At least, this seems like a coherent mental model of what's happening, to me.
In explaining this I decided to check the Python docs and learned a new piece of terminology "pass by assignment", which is how Python explains its variable passing scheme: https://docs.python.org/3/faq/programming.html#how-do-i-writ...