Ask Experienced Devs Weekly Thread: A weekly thread for inexperienced developers to ask experienced ones
Posted by AutoModerator@reddit | ExperiencedDevs | View on Reddit | 30 comments
A thread for Developers and IT folks with less experience to ask more experienced souls questions about the industry.
Please keep top level comments limited to Inexperienced Devs. Most rules do not apply, but keep it civil. Being a jerk will not be tolerated.
Inexperienced Devs should refrain from answering other Inexperienced Devs' questions.
0bn0x10s1337sp34k@reddit
So I've been laid off for three months after being at my previous job since college, for about seven years (with a degree in physics). I started at my company doing data analysis, and kind of accidentally pivoted into doing web dev ~two and a half years ago, and found I liked it much more than what I was doing before. Now I'm trying to find a job again and am looking for full stack work from the jump, but am finding myself in a weird position.
I did not have a lot of experience doing senior level directing of tasks and such when I pivoted into web dev, but also I'm not completely inexperienced. Given the state of the job market for juniors, it seemed wise to try to do some upskilling while unemployed (building a personal project, digging into some textbooks on system design and such) and try to pitch myself as a mid-level/senior. What I'm telling myself is that a combination of that and maybe fudging how much of my time at my previous company was web dev work might be enough to get me there.
Is this is a reasonable course of action, or is lack of more in-depth experience going to be a fundamental barrier here? I'm trying to figure out how much I can compensate for with individual study/projects, and how much not having real experience to cut my teeth on is going to be an obstacle/leave me underqualified for jobs at the level I'm aiming for.
trojans10@reddit
Watching my company go through a rewrite. Its been three years and its not even close to 20% done. The main dev decided to to use two databsaes - mongoDb and postgresSQL. When new fields/columns are needed to be added to the db's - they both happen in a node-code enviroment. No migrations... its manual in both prod and dev enviroments. Cross database joins in the code. Any new feature is a click fest and a pain. To top it off - we have 3 nextjs apps already split apart.. and users log in to each one... think about your users having a key feature like a chat widget and jumping to another app.. the reason for this was that it was easier to maintain. There is no api openapi documentiation.
Anyways, as the data lead/engineer working on the original project i'm frustrated and I can do the backend job much better than what is going on now and have started to develop my own POC with a single backend with openapi spec, db/postgres and single nextjs app that pulls the openapi specs to generate an sdk to prove the point. The entire app can be built in less than a few months vs. route we are on now.
I'm wondering if any others have gone through a situation like this and how to go about it.
Cute_Activity7527@reddit
Im a Senior DevOps that had nothing to do woth MLOps and my company is not doing MLOps but I want to break into this field for obvious reasons.
How can I do about that when everyone is looking for prod experience now?
Zulban@reddit
Serious, unironic advice: you need to proofread everything you write. People will respect you and your career aspirations more. That includes getting better advice online.
Cute_Activity7527@reddit
Are you fluent in Polish language? No?
Then keep those advices for yourself.
Spellchecking random reddit comment? Good joke.
Zulban@reddit
No, but I'm fluent in French and understand how even if English is someone's second language, they need to spellcheck their writing to be taken seriously professionally. That's how the world works. Grow up, take the chip off your shoulder, and take the advice.
You will get better advice on reddit if you write better.
blah938@reddit
I have 5+ yoe, and I'm looking for my next job. I've never had an issue with my technical skills on the job, but I've had 7 different technical assessments, and I've failed all but one. Is the problem me, or are these technical assessments just bad?
My first one, I failed and it was my fault. Got nervous, panicked, couldn't answer basic questions. Whatever, move on.
I've had some leet code assessments, and I sucked at those. I don't feel like they had much to do with anything on the job.
I've had conversational assements, shit like "What is a react hook" sort of thing, I've passed one, but the rest have gotten told they weren't moving forward without any more feedback than that. Two of them were super out of date, one asked about React Higher Order components which depracated 4 years before I even started, and another asked about Javascript's toSource function, which is about 2 decades out of date. Like what the fuck, who can answer that? I mean, I guessed correctly, but still I hesitated and I guess that was enough to knock me out of the running.
The only one I passed, they told me the next day the position had been filled but I did well.
I'm starting to feel like an idiot and thinking about a different career path.
Any advice?
casualPlayerThink@reddit
You got glimpses of an unrelated/unprepared interview or an actual code fragment, which teases, whatever product they have, they use outdated legacy.
Make an interview note for yourself, where you write down these questions.
Also, you are free to say: "I don't know, I never used it, and it is deprecated X years already". Then later, check the answers for those questions, and make some cards or helpers for yourself that you can use for your next interview(s).
Good luck, hope you will find a good place.
blah938@reddit
Thank you! I didn't realize I could just do that.
j406660003@reddit
What's your opinon on database schema design ? I'm still fairly new to the relational database (~2 YOE) and I feel like it's hard to do it right in the first place.
Is this normal or am I just being lack of experience in it ?
What's your experience and do you have any tips worth sharing ?
Zulban@reddit
Virtually everyone in your team: juniors, architects, fellow developers, will argue that you need to massively over-complicate things. Don't do that. Keep it dirt simple. Embarrassingly simple.
redditisaphony@reddit
My general tip is build your schema to model reality. Don’t get clever until you have to for performance reasons.
serial_crusher@reddit
doing it right in the first place is an unreasonable expectation for most things. Meet the requirements you have today, do your best to predict requirements that will come down the road and be ready for those, but also be ready to change in general.
skeletordescent@reddit
By exposing yourself to others’ designs, learning what you do and don’t like, reading, studying for systems design interviews, and maybe finding ways to practice it yourself, you’ll figure it out. It’s not about the schema itself, it’s about putting real world situations into discrete language.
As an example, you’ve heard of a foreign key, or used them? That works when two tables have a 1:1 relationship. “One user is in one company org”. But what if they can be in many companies? Then you can have keys between them, but you’ll need to JOIN the tables and have a 1:n relationship.
DegreeNo491@reddit
After disappointingly getting close to a job and hiring what I assume will be slow for the rest of the year, is there something meaningful I could do to boost up my resume? I heard personal projects would have minimal impact, is it worthwhile to work on one in terms of getting more visibility on my resume? Is it worthwhile to get deep in a fullstack project to learn Java/Kotlin so I can start marketing myself as a fullstack engineer instead of just frontend?
Zulban@reddit
I wrote this for people like you: Finding a Job: Build Something Real
To tailor this advice a little more - are your "personal projects" actually "real" projects as I describe, or are they just toys and half working demos? Big difference.
Maxion@reddit
I don't know where you're located, but where I am there are so many unemployed devs that no matter what personal projects you try to do, someone else will apply who has done that professionally.
Personal projects are fun, and are a good way to show off before a coding test that you have some skill, I wouldn't say they're worthless.
But I don't think its very realistic to think that you can upskill using them.
I'd make some personal projects that are closer to your core skills and shove on github. Add github to your CV.
Right now, job hunting is a numbers game.
aks09@reddit
I'm applying for a new job. Put in an application at a company that was hiring, and after a few days was sent a take home assignment, due in three days, without any first round or initial interview. It's not exactly a trivial assignment, I'll get most of it done. But am I wrong to think that this was an off-putting first step, or is this the norm. Like, I know very little about the position besides the posting, and you're already asking me to do work. I have five yrs experience, first time getting a new job.
LogicRaven_@reddit
It’s a bit odd that they are not doing a 15 min HR call at least.
How companies run their hiring often correlates with their company culture. If that’s also the case here, then they already produced a yellow flag not respecting your time.
Note that scam job ads that try to steal your personal data also begins like this - full automation, not involving real people.
aks09@reddit
Yeah, I'd be fine with a take home if I'd had a call with someone first, and I could ask for them to send it in a specific window (ie not have the deadline the day before a holiday, make sure I had no other interviews scheduled). Thanks for the gut check, definitely a yellow flag. Like, I don't even have a lot of information about the position, this could be a waste of both of our times.
casualPlayerThink@reddit
Yeah, this is the new norm, called "Async interview" or "AI-supported interview round", which is pretty much an automated one.
Please keep in mind the nature of the interview, and allow/disallow them to use/store/process, etc. There are many companies that make fake interviews to gather code, coding style, and human metadata to train their LLM with it.
If you have doubts about a job description, then just send them an email to clarify it. It is free, and communication is always golden.
Be aware that well for non-trivial assignments, many companies try to trick you into solving their issues (like when they say: "We will give you a take-home assignment that describes a real problem from our software...". That is a trick, and you will work for free. Avoid those types of companies and even write about them to the actual job posting page admins to be aware of the potential scam.
Also, post your resume in the r/EngineeringResumes and ask for a review. It will help in the long run.
CowboyBoats@reddit
I've never heard of any company doing this with work samples from job applicants before. Companies abusing take-home assignments in general and nefariously using the work in production, sure, inside and outside of the software development industry... but a company that's sophisticated enough to be training their own agentic LLMs and yet basic enough to be stealing the training data from job applicant work samples?? You need big datasets to train an LLM, not 30 or 300 work samples from tricked job applicants.
I definitely have heard horror stories of this, but I don't know if it's common enough to say "many". I've been given dozens of these work samples over the years and less than 1% of them raised my eyebrow that "hm this could potentially go into production if they were working on this problem right now."
busyHighwayFred@reddit
I have 4 years experience. I have been at the same job for 2 years now and the benefit rates just came out and it looks like my health insurance premium (for same insurance) is going up 35%, which will cost me an extra $2000. Raises usually come out in April. Wondering how to navigate this, because from what I can tell, raises are usually around 2-3%, so do they expect me to just have $2k less next year?
casualPlayerThink@reddit
Yeah. Keep in mind, for all the companies, these are just numbers in a spreadsheet. Nobody cares about inflation, and if you even ask the company to raise 2-3% plus inflation, then they will refuse and will laugh. Normally, until you have the luck to write it into your contract, your salary should be adjusted by the inflation rate every year.
LogicRaven_@reddit
Yes, they do. There is no guarantee for your salary following inflation or extra costs.
Your options are accepting it, seeking internal promotion, or looking elsewhere.
EnderMB@reddit
I am working on a tech stack that has been around for over a decade, with lots of services that just chug along in the background.
This leaves many situations where we have risks that we need to tidy on services that we don't even know if they are being used any more. We vend some data for a larger response, and when checking with the owning team if they actually use this data we are met with shrugs.
I want to get more aggressive this year and get rid of code/services that are legacy and/or take up time for ops. In this specific instance, what would you do? Would you simply say "we're killing this unless someone says they need it", or would you spend time fixing it to reduce the scope of risk around it?
LogicRaven_@reddit
Do you have buy-in from cross-team stakeholders to this (risks, time usage)?
The approach could depend on the business context (what would break costing how much money) and the maturity of your test and release pipeline.
If it is low impact for the business, then announce the depreciation of a piece you consider useless. Sync with the other teams, run the full test suite and every team watch their alerts.
If a change is high impact, then be more careful. Refactor in small steps, write new tests and add more monitoring, flag guard the changes and launch for a small set of users first.
205309@reddit
How do you guys use runbooks for tools like PagerDuty? The only thing I've ever used it for is replaying DLQs. When I read up on them on their website, they talk about automated handling of support issues, but if you can automatically resolve them with a button click, why not fix the actual problem? What am I missing? I think it's a lack of imagination on my part about what it can actually do for us. If context helps, we mostly use PagerDuty for automated alerting from Azure, user tickets come in through a different tool.
snorktacular@reddit
You might try asking this over in r/sre
BTTLC@reddit
Well, not really entirely an inexperienced dev.
But would anyone be interested in running system design mocks targeting mid/senior level?