Ask Experienced Devs Weekly Thread: A weekly thread for inexperienced developers to ask experienced ones
Posted by AutoModerator@reddit | ExperiencedDevs | View on Reddit | 29 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.
Free-Yogurtcloset370@reddit
Background: I'm a wetlab scientist turned software engineer. I work at a tiny biotech company as the only software engineer primarily in a data/automation support for the R&D wetlab folks who are designing a clinical diagnostic test. I manage a bare-bones web application lims that basically keeps track of samples and connects to various robot apis in the wetlab in order to push/pull worklists or store log files. I also generate a lot of SQL queries/csvs/report information. I feel most of my features are very useful/essential to the wetlab R&D processes, but the features themselves are very frequently modified because it's R&D and they change protocols/methods. Most of my time is spent "tweaking" features to get them to work for new protocols, and generating reports of various data/information for them.
My boss (CTO) recently approached me about shifting my time & focus away from ad hoc feature requests/reports from the R&D team. Instead, they want me to start designing a "locked, production grade" software that we will use in a clinical production environment to track and manage samples, as well as connect all the sample processing robots. Here's the catch - we're not expected to actually break ground on a production facility for at least another \~2+years. And I'd expect the first "production process" employees and users to be hired in another year or so AFTER that. As of today, we also don't have a "locked" product. So I've got unknown users, undecided reagents/supplies, and undecided robotics that would need to be connected to this application.
I'm having a hard time conceptualizing how on earth to write a software with such little information on feature specifications that wouldn't even be used until (at the earliest) 3+ years out. I've clarified that my boss isn't expecting me to capacity plan (ie. sketch out # of SWEs, IT dept, CLIA guidelines, etc), but actually expects me to start coding an application(ie. they want to see a demo of features). I like my boss. But they can be pretty excitable about an idea of a fully autonomous wetlab of the future (even though we're not really there yet ha). When I asked how R&D will fare in the meantime my support, they mentioned they hope my lack of support will help to "push" them into locking their protocols. (aside - as a previous wetlab scientists I KNOW that is not how that will work. They'll just stop using the software as the features become unusable, and R&D will slow down/suffer because of it). My boss also don't have a technical software background, so when I mentioned having a hard time coding something out with minimal feature specs, they suggested "pseudo-coding" this application. We did discuss me potentially talking to a few of my boss's SWE contacts so that I can get a better understanding of what a "production" software application might entail, so I'm hoping that might provide some insight into my boss's vision as well.
I'm tempted to want to push back on this idea of shifting my focus towards coding a software application that aids in the creation of a fully autonomous platform that wouldn't be used for another \~3+ years and also has none/minimal decisions made as to which robotics this application would need to connect to; instead, I want to argue that it's best I remain focused on supporting R&D (even if they do have numerous ad hoc feature requests; but frankly having been there, I get it, and I know that I'm saving them time; the features are getting used; and frankly, I enjoy the work). But before I push back too hard, I want to ask the ExperienceDevs - have you ever "broke ground" on a software application and provided a demo this far in advanced for a process that you felt doesn't have all it's features spec'd out? Am I missing something here?
In a lot of ways, I feel the current web application I have is a very decent "demo", so it's tempting to simply connect a different SQL database, make a few changes to make it less "R&D"-y, and call it a "production demo" in a comically short amount of time. But I also think that does a disservice to my communication with my boss - they're expecting this to take a substantial amount of time & effort, and I don't want them to be caught by surprise in a few years when I request a lot of time/resources for software team to actually build out this application to match the product's feature requests in production. But I also don't want to naively just assume I'm right about all this, and then get in hot water when it turns out there was a bunch of stuff I should've actually been focused on today lol
ratorobato@reddit
Sorry for the click bait-ish post, but how do I effectively become a Junior Developer? Around 5 months ago I posted here earlier stating that I've been pretty much "pretending" to be developer at my current role due to lack of work and flat out disregard for my role by the company. Low and behold nothings changed, and I'm horrified to think that I'll be moving into a second year with little to no actual experience aside from a title and filler points on my resume. Any discussion to implement/migrate to new technologies is almost immediately shot down or put on the back burner for "the future." For example, I brought up wanting to coordinate testing our mobile app via docker with another dev and it was shot down with comparatively hostile remarks. We don't use version control properly, we have no documentation or standards for anything, and nearly everything here is outsourced and neglected to be fixed. I am literally watching code rot helpless to do anything about it.
I'm fully prioritizing interviewing over projects of any sort, and I honestly don't know if this is the right decision. I've had my first technical ever today and failed it, which is the farthest I've been so far in an interview. Is my future really determined by throwing myself headfirst into job applications until one of them sticks?
Sorry if this comes off as a vent. I can't help but feel like rather than actually starting my career, I've dug myself a hole in which I can't escape from especially in this job market.
CuckForRepublicans@reddit
Someone tell me, is the job market just terrible right now, or have I become too pickey?
Sidereel@reddit
The market is terrible
hiddenhare@reddit
How do solo contractors work at your org? How do their responsibilities and working style differ from employed software developers? Does the same contractor tend to stick around for years, or just show up intermittently from time to time? Do they ever pitch contracts, or does your leadership just come up with a project and say "take it or leave it"? After completing a contract, do they have code ownership, or is it always handed over to permanent employees?
Context: My currently employer is trying to "demote" me back to contractor. I worked for them as a contractor previously, but I gave them a sweetheart deal, so I don't think they grok exactly how different our working relationship is going to be. I'm just asking these question as a sanity check, to make sure that I'm not being unreasonable.
belkh@reddit
check the employment laws at your employer's country, in some countries you can work as an employee, in others they become very different, with attempts to treat you as an employee becoming very costly risks.
e.g. in Germany, you're expected to take projects whole, and dictate your own work schedule, no corporate network access, email, etc. while some of these may be done anyway, IIRC if the BfA probes and deems you more of an employee than a contractor, the company is forced to hire you as an employer, retroactively pay your benefits and pay a fine as well.
throwaway10015982@reddit
r/cscareerquestions is a total cesspit and actively unhelpful most of the time, but I want to ask: would you guys pivot careers if you were in my situation? I just graduated.
Long story short my life has not been so good and I basically wound up as a 30 year old man with little to no life skills and somehow they're awarding me a CS degree. My GPA is not good and I never applied for internships because I was too busy working unrelated jobs and I just felt I didn't know enough (still don't).
I'm in the Bay Area so I keep looking at job listings and new grad roles are scarce, and the ones that are out there don't seem attainable to me.
I honestly don't really know what to do at this point. I feel like I've soft locked myself out of the industry. I'm not super crazy about programming but I mostly enjoyed my programming heavy classes and will do it gladly if you give me something to (as in, there is a part of my brain that hates broken stuff and will try to fix it for hours but I'm never like "woo lets program!").
It feels hard to sit with the fact that I wasted 7 odd years of my life for nothing. I don't have crazy salary expectations, I would gladly take something that paid me like $70,000-80,000 a year so it's not like "hey I graduated where is my $200k a year job!".
There should at least be SOMETHING I could do, right? I'm sick of working retail.
wonkynonce@reddit
Startups tend to have lower standards than big companies, and non tech companies have lower standards still. I'd try to focus there, but you're more likely to get work managing WordPress than writing programs from scratch.
jwsoju@reddit
My company's policy to promote to senior is: need to be "well known" across multiple teams in addition to being technically sound.
So despite being acknowledged to be technically strong, and given a chance to lead projects and being the go-to person for even senior devs on my team, I've been passed on promotion twice. I got raises instead, and was recently given a chance to switch teams so I can build up that "well known" requirement--which I took and am slowly building the same creds as I had on my old team.
Is this a good policy overall or potentially a red flag? The reason I stuck around is because of the current market.
Ill-Actuator-338@reddit
Levelling is arbitrary in this industry but I generally agree that senior should have some xfn impact.
I think the real issue here is that you've been passed over twice. Did you communicate your expectations for promotion and establish deliverables with your manager ahead of time?
If so, yeah probably should switch teams / companies, they've shown they can't adequately support you.
jwsoju@reddit
Yup, old manager explicitly acknowledged several times I'm technical chops for being a senior but couldn't do anything because of that cross-functional requirement. Hopefully the new team's manager can be a better support for me.
The requirement confuses me tbh. I'm sure I can have cross functional impact, as I'm making impacts on my new team. But I'd have to be well known across the departments to be asked to help, or regularly switch teams. Seems to be a disadvantage for more introverted people or those who just wants to focus on work. :/
Ill-Actuator-338@reddit
It's more about identifying common problems and making impact that spans across teams. For example, let's say you introduce a new linter to your project - that's impact for your team. If you then write a doc about how to set it up for any new repo and some other teams adopt it, that's your xfn impact.
Yeah that's true, but collaboration and communication are also important parts of the job, not just technical output. Unfortunately usually the higher up you go the less coding you do :(
masterbitmap@reddit
I’ve been working in Fintech as a technical contributor for the past 3 years, and when I say technical contributor, I mean my job primarily revolves around resolving technical challenges. Whenever my teammates can’t do something, it’s directed to me. I’ve been utilized as a facilitator/joker, despite my main role being ‘backend developer.’
I’m a little concerned about my career prospects. Surely what I’ve been offering and the way I’ve been relied on means I’m somewhat good at my job, and I appreciate it. But it’s not exactly a ‘normal career progression’ because for the most part it feels like I’ve been ‘supporting’ rather than being given full ownership of something, or have immersed in a given domain. It feels like I’m purely used for foundational and problem solving skills when needed (which feels like all the time).
The last project I was part of, I was literally introduced to the team as ‘our resident joker.’ I feel like I don’t know where I’m going with this, and how to like.. direct myself into a lucrative path moving forward. And I can’t help but feel I would be able to sell myself more if I specialize into a niche.
How is my situation? Where should I go from here?
Frenzeski@reddit
What kind of opportunities are you looking for, ownership of a project? Asking your manager if you can be given these responsibilities is a good start. Try to be specific though about what skills you’re looking to develop, your question doesn’t elaborate on them. Look at career development frameworks for examples, if your work doesn’t have one there are online resources
https://medium.com/s/engineering-growth-framework/engineering-growth-introduction-8ba7b78c8d6c
https://progression.fyi/
DivineMomentsOfWhoa@reddit
Do you enjoy mentoring others? It sounds like you might have the makings of a lead. I found my way to lead, and progressing more into management, by always finding opportunities to “fill the gap”. Sometimes I help analyze data, greenfield projects, arch design, mentoring, prod incidents, managing stakeholders etc.
masterbitmap@reddit
That’s reassuring. I do really really enjoy mentoring others and always invest more energy and time into that than necessary, always giving all the background information anyone needs before explaining what needs to be done.
I guess what you mean is that if I continue to accumulate sporadic knowledge like this and be versatile, I can eventually become a lead? That’s so reassuring.
DivineMomentsOfWhoa@reddit
That’s not the only thing you need but it seems like it could be a little sprout which could grow into more lead qualities over time. Being able to traverse many different domains is super useful.
gukbap_enjoyer@reddit
One of my more senior coworkers posted a PR for documentation changes and the grammar is a fucking mess.
I have so many suggestions, but I don't want to come off as rude or nitpicky; am I overthinking this? He's an amazing dev and mentor to me too.
Frenzeski@reddit
The fact you’re thinking about this is really good, doing good PR reviews is hard. First be compassionate, people who are incredibly intelligent may not have the best writing skills for many reasons (English as a second language or dyslexia for example). Second offer to help, if your changes are big enough you might open a second PR against their branch. Third talk to them, having a 2min sync conversation can save hours or days of back and forth. You might say something like “I have a lot of suggestions for how to improve the readability of the documentation, how do you want me to give them?” Sometimes this isn’t enough and you have to let go of your expectations because they don’t match others. That’s something i struggle with the most, so not sure i can offer any advice.
penguindev@reddit
Point to an authoritative source like strunk and white. I also wish I knew what guides AWS uses, because their editing is usually top notch.
gukbap_enjoyer@reddit
I dont think I need to convince anyone that I'm right. These errors are to give a few examples:
These are pretty clearly wrong, but no one seemed to notice...maybe its PR burnout lmao
Murky_Citron_1799@reddit
Is it normal to coast for a while (5 years) when you have kids? Do you ever regain your spark?
penguindev@reddit
I don't think kids is as much of a demotivator as seeing square wheels being reinvented for the N-teenth time, or make-work corporate or "security" box ticking tasks.
canderson180@reddit
It takes some adjustment, my oldest is getting close to 4 and I’m just now getting “hungry” to lean in and keep my hands dirty. Though I am a manager, it’s nice to feel the spark again and has actually made working with my reports feel much more engaging as well.
brothafromanotherbro@reddit
I have around 5 years experience as embedded developer mostly in automotive in a very narrow scope, but I wanna transition to backend dev and at the same time upskill myself. I have trouble making design and architecture decisions, I know the basics like design patterns, I feel like I miss the more abstract picture, can you give recommendations on some books on the topic?
penguindev@reddit
If you want to be a 'backend dev', then I would suggest learning deeply about at least one area -- databases, storage, compute, networking, rpc/http, sockets, authz/security -- it can't all just be wide, abstract stuff. You should know how bits are being flipped, and what breaks at scale. We will need people who don't just build on top of layers of mud, and wonder why it's not working.
Budget-Ad-4082@reddit
https://imgur.com/a/anonymous-resume-dRQJ98C
Hi, does anyone mind doing a resume review?
I have around 3 YOE and been applying to software engineering roles (mainly backend with some data and devops roles thrown in) for the past few months, but most of the interest I get is around my data and devops experience. This makes sense since my current team is mostly data engineering and prior position was in devops.
However, I'm aiming to pivot into backend roles (building microservices, designing APIs, writing business logic), though I haven't had much recent experience with REST/gRPC or CRUD-heavy services.
Maybe something is off about my resume, but how can I better position or reframe the experience on my resume to be more aligned with backend engineering? Any examples, advice, or further critiques on my resume would be appreciated!
Zulban@reddit
Looks solid. I might just add that depending on where you're applying to, a personal touch may be meaningful. My resume starts with:
I might have removed that if I were applying to fintech, but it's a good idea when I applied to government, education companies, etc.
You may also want to prominently mention your citizenship status and any extra languages you speak, if any.
FluffyEngineering219@reddit
Is software in a place where everything kind of been done?
It feels like there’s not really a need for new software everything’s been solved and now just maintenance of that.
It also feels like particularly true with anything that has real complexity like Autodesk Revit or unreal engine. How can anyone compete with these? They have a 25 year head start.