Ask Experienced Devs Weekly Thread: A weekly thread for inexperienced developers to ask experienced ones
Posted by AutoModerator@reddit | ExperiencedDevs | View on Reddit | 72 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.
False_Tomorrow_5970@reddit
There's a pattern I noticed while working with a certain teammate: he asks for help, we start pairing, he wants to discuss every edge case under the sun and not write anything until the entire structure is mapped out in his head, after a while he leaves me holding the ball and moves on to another "more urgent" task, then I have to finish _his_ task myself. It got to the point that others on the team raised concerns about my "performance" because working with him meant 4-5 hours of discussions and no code. The worst instance went on for 4 weeks and I ended up working extra hours just so I can finish it and move on to another task.
I brought this up to my manager and he says I should continue helping him but that I should take the lead. The problem is that this teammate underestimates me and wastes time pushing back when he knows that he doesn't know what he's talking about. This happened again today and my manager faulted me for this task being delayed. What to do here?
eliashisreddit@reddit
Are his findings valid? Are they even in scope or does he change the requirements? This should be limited. Perhaps you can agree with him but for the sake of agility to let him start with the happy path. Then iterate over the edge cases. That way he at least starts somewhere.
Why? Even if you're on the same team, why is he picking up units of work which he won't finish but rather dumps on other team members? You should address this problem.
False_Tomorrow_5970@reddit
Sometimes he comes up with really good ideas, but often they're out of scope or something he misunderstood/overcomplicated.
That's what I keep suggesting. I tell him to start small and refactor to add more things if you're unsure of the full picture at the start but he would rather keep discussing theoretical approaches instead of trying them out. I also tell him to write ideas down instead of interrupting the flow to ask about edge cases, but that's hit or miss.
He moves on to work on urgent bugs, but they do not need to be done by him specifically. The reality is that this dev hasn't improved in his ability to deliver independently in the 2 years he's been with the team and I don't want to be the one to highlight that.
eliashisreddit@reddit
If you are not going to do it, who will? From your stories this guy seems to be dragging down the entire team, to the point some people don't even want to help him anymore. You are carrying the weight of someone else's inefficiency indefinitely. You should definitely escalate this, preferably with backing of the rest of your team.
Your manager seems to be have taken the stance that you are at least partially in charge of leading/coaching this person. A valid conclusion might be he doesn't want to be lead and isn't improving and the team is suffering from it. Perhaps he has ideas to improve the situation.
blisse@reddit
I'd say your manager should be giving you more concrete steps on how to work with this person, but they are somewhat correct in that it's your fault for letting these discussions go so far off topic and not actually lead to meaningful outcomes. It's likely they're also getting feedback that they're not accomplishing enough, too.
You need to learn to protect your and their time by being relentless about not time wasting. If they go down a rabbit hole you need to cut them off and bring them back to what's necessary to discuss now. That requires that you have clear steps towards the outcome you want to reach within the hour. You cannot be letting these discussions span 4-5 hours unless that time is actually meaningfully well used. Literally just cut them off and say, what can we accomplish in 30 minutes or 1 hour. And keep pushing until you have meaningful outcomes in that 30 minute or 1 hour. If you haven't done something meaningful after 30 minutes then cancel the meeting and re-evaluate. If they're asking for help then they need to respect your decision-making. You're at work, people have to work.
False_Tomorrow_5970@reddit
My manager indicated that he was given feedback before and said he'll talk to him again. Even the most senior person on the team refuses to work with him because he slows them down. Other than that, I started saying I'm not available for calls to force him to spell out the problem via text which somewhat helped. When he's driving especially, it's hard to get anything done in 30-60 mins because of how slowly he navigates/types, how he wants to understand the logic of every unrelated method his code brushes by and other distractions. I don't want to be the one always driving nor held accountable for tasks he committed to. When my manager first brought up these performance concerns, my first thought was that I'll stop pairing with this dev, but my manager said we should be working as a team and lifting each other up. I'm a helpful person, but it's getting to the point I feel taken advantage of.
I get that I have to timebox our calls and be more assertive and clear about my time limits. I will deal with the dev directly instead of going back to my manager for now. Thank you for your response.
Left_Opportunity9622@reddit
Why are you doing his tasks? It's one thing to help this person, but just because they drop it doesn't mean you have to pick it up.
False_Tomorrow_5970@reddit
I don’t want to be accountable for his tasks, but my manager’s perception is that I am because I’m more senior than him and he’s not trusted to deliver things on his own in a timely manner.
roger_ducky@reddit
Do you guys do TDD? Sounds like you should have him write the unit tests with all the edge cases. You do the code to make the tests pass. Also, tell your manager when he leaves for another thing. Mainly so there’s an idea of all the time you had to work alone.
Missing_Back@reddit
I'm curious on experienced people's thoughts on being a good teacher/being the type of dev who really emits that "I want everyone to learn, and I'd love to help!" energy vs the types of devs who you feel like you're inconveniencing simply by asking questions.
I've reached out to a few staff engineers recently just about random questions where they were the SME, and it's interesting seeing the different personalities and energies different people have. I'm curious how to cultivate that in myself so that in a few years when I actually feel I know enough about things to be a mentor, I can be a great one
AffectionateData1252@reddit
bdzer0@reddit
Avoid leading.. guide discovery. Ask questions such as: How do you think this should work? Hint at solutions without giving away everything: What do you think would happen if this process was running synchronously?
christian_austin85@reddit
Background: 18 months as a software engineer, but 20 years military experience. One of the things I did was Lean Six Sigma/process improvement stuff.
My team has about 10 individual contributors but only 2 people (not included in the 10) to do code reviews. As a result, sometimes merge requests take several weeks to be resolved. Even though I'm a relatively new dev, I want to help improve this process.
I brought this up to my team lead and he acknowledged that it's not something that we do well and it needs to get fixed after we finish up some big projects that we're working on.
What are some best practices you have seen/implemented on your teams to make merge requests smoother/more streamlined?
Some things we're looking at implementing are linting during the CI/CD pipeline and having written SOPs for how the merge request process should go, as right now it's all tribal knowledge.
AffectionateData1252@reddit
Code reviews serve a few purposes:
If the team isn't taking code reviews seriously, then the team is electing to work in uncommunicative silos, take little responsibility, and think only in the short term.
Be the guy that steps up and reviews everyone's code. Ask the dumb questions. Fear nothing.
PsychologicalTax4487@reddit
https://conventionalcomments.org/
Why 10 ICs but only 2 doing code reviews? Everyone should be doing code reviews.
christian_austin85@reddit
Thanks for that link, that looks really helpful.
I'm not sure exactly why there are only 2 people doing reviews. From what I can glean from conversations with other team members, one senior in particular was dissatisfied with the quality of code that was making its way into the repository. At the risk of being a jerk, he wants all the code to be written his way, but he also doesn't give super helpful comments like the ones in the example link. Many comments are vague, stylistic things that we do our best to implement, but sometimes it takes 2 or 3 iterations before he's satisfied.
Currently all comments are blocking comments - all comments need to be resolved before code is merged in. Even implementing blocking/non-blocking comments would be great.
PsychologicalTax4487@reddit
I can relate to being dissatisfied with the quality of the code base, but introducing a significant bottleneck as this senior has is really only applicable in narrow circumstances.
Is your software mission critical, e.g. it's going to steer rocket launches? I'd guess not because junior developers are working on it.
Individual style preferences are a dime a dozen - the code should conform to the team's standards. Ratify a codestyle as a team, then enforce with automated tooling.
Does this senior have management's support to arrest progress in such a way?
If so, this looks like working with the senior to define and publish expectations. Is he employing industry-accepted patterns of thought, e.g. Clean Code et al.? The team should read those books and apply them.
If not, then this is a conversation with management: senior has robbed the team of most of its agency but has not installed and executed a plan to fix things and cede it back. Equity needs to be reestablished.
SagansCandle@reddit
Automated tests help "prove" that code works as designed, even if it's not ideal. Sloppy code is acceptable. Broken code is not. If you have good tests, the risk is low when you need to fix sloppy code.
CD/CD is an automation tool, but if you're struggling to do it manually, you're definitely going to struggle automating it. CI/CD is meant to improve efficiency - it doesn't "fix" process problems.
christian_austin85@reddit
I think this is one of the major slowdowns in our process. One of the 2 approvers is particular in the way he wants the code to be written, so even if something works it could be bogged down for a while while we change something small (e.g. a variable named smallDog should be named puppy).
I agree that automation won't fix process problems, but if we can lint on code submission, that will help ensure merge requests aren't getting bogged down because of stylistic changes and people can focus on more important things.
We have a lot of stuff automated already, I think a lot of the issue is personality driven but I haven't had a chance to gather any data to support that. Based on my historical experience, there's a good chance that's what the problem is.
SagansCandle@reddit
It sounds like the gatekeeper's expectations are not clear to the team. I can't say if they're pedantic or not - if you're designing a missile guidance system or something, it could be justified. What's important is that the team has good communication and that leadership supports collaborative problem solving when these things arise.
In addition to the process improvements you've suggested, I'd also suggest good coding standards. Use the modal verb pattern (MUST/SHOULD/DO/DO NOT/PREFER/AVOID) to delineate between guidelines and rules, where rules require approval to be broken. Use bulleted lists with supporting paragraphs (where necessary). Keep the bullets clear and concise - reasons, examples, etc. should be in the supporting text.
Every change a reviewer suggests should be considered for addition to the coding standards. As the standards grow, it should ensure that expectations are clear, and the reviews should smooth out.
daringStumbles@reddit
Absolutely automated linting and test suite. Devs shouldn't feel like they have to pull a change down to verify it even runs. They should feel confident looking at the test cases added it will function as intended. This saves time. If CI must be passing before a review is requested, it means the dumb stuff is caught without wasting time on the reviewer. The reviewer can then focus bigger picture and the nit picks have already been automatically caught and corrected.
christian_austin85@reddit
Test suite is done when the merge request is created and on every push to the repo afterwards. Sorry should have added that.
Any advice on limiting nit-picks? There's been instances of the senior recommending changes, those changes being made, only to be told to change it back to the original.
daringStumbles@reddit
Everyone has to agree that nit picks are not worthy of blocking a merge. They are something to consider if making changes in that area in the future or before coping that pattern elsewhere. They are about teaching a stylistic preference, not about how the exact code in question meets the given requirements. You find a tool for your language that will do linting for the stylistic stuff, implement the default settings, add or remove rules as team sees fit. Everyone gets the same ruleset configured for their IDE and you never talk about it again.
christian_austin85@reddit
Awesome, thanks for the input!
_SubSeq@reddit
We’re working on an AI code assistant - what features, in your opinion, would actually make this a game-changing tool?
If you’ve tried AI code assistants before, or even if you haven’t, what kind of features would actually get you interested in giving it a try? I’d love to know what would make you think, oh this is actually worth it.
We’re here to build something that’ll actually be a game-changer, so any ideas we should consider adding would be awesome. Thanks in advance!
throwaway987650123@reddit
How to I deal with not being able to get a job in software development? I've worked as an application support engineer for over a year now, and I've applied to hundreds of jobs with no success even after changing my resume, crafting it to specific jobs, etc. I've built substantial projects that can't be found in any tutorial, I have great feedback from my managers about my programming and problem-solving ability, yet I can't seem to actually get a job as a software developer. There are no internal job postings anywhere, either. Is there anything else I can do, or should I just make support my career?
ladycammey@reddit
You're not going to like this answer, but I do have some advice.
You have several things working against you right now:
So my advice, while you probably won't like it, is to stick with what you're doing, continue developing skills, and ride out the bad time in the market. Whenever possible, try to find projects which allow you to show demonstrated professional experience in a language which you want to move into in the future. Employers can be picky right now - so try to have professional development experience any way you can. If you have an industry or company nearby you, consider doing a project in that niche, it may help you stand out to be able to say you have some knowledge/experience in their specific area. Also, while this can be a tough suggestion: consider if higher education would be appropriate for you - not just general certs (which unfortunately don't tend to be that highly valued) but more serious things like OMSCS and other things which can help set you apart.
bdzer0@reddit
A year of experience and you're expecting to move from support to engineering? I'm not sure what makes you think that's a valid move at this point in your career.
The market is flooded with both new and experienced developers, many have degrees in software development and can't get a job either.
Higher education has been driving people to tech careers with unrealistic claims (and outright lies at times) for over 20 years. IMO the market is flooded and will be for a while until the paper tigers are weeded out (which may take decades).
Hunker down, broaden your experience where you can.. keep working whatever internal projects you can to demonstrate skill. Keep your eyes open for any entry level jobs that you may qualify for. If you can manage the time/$ necessary to get a degree consider doing so.
throwaway987650123@reddit
Yes, I am expecting an entry-level position doing what I am qualified to do. My job is a mixture of software development, project management, and sales, which I reflect on my resume. I've also had my resume reviewed by people with HR experience. I have a degree in Applied Math with coursework in computer science (all good grades). I think it's fair for me to expect that I can parlay these skills into a similar career, especially since I was advised to take a support job and then pivot to full software development.
christian_austin85@reddit
Good day all. I'm a mid life career mover (20 years in the military doing tech-like things) and have been in the software development game for 18 months. I'm currently working for a DoD contractor and my mid-term goal (5 years) is to learn enough development stuff to move into a management role.
I know I won't be an amazing developer in that timeframe, I just want to know enough to understand what the team is doing and can speak about it intelligently while taking on leadership/management responsibilities that the other devs would rather not do.
Anyone seen something like this done or done it themselves? Anything you recommend I do (or avoid) to make this happen? How would you feel about having a manager who is not as technically competent as you?
AdamBGraham@reddit
All of my managers have been less technically competent than me. Good management, while very advantageous when there is technical background, is its own thing and its own skill set.
christian_austin85@reddit
Thanks for the input. That jives with what I was thinking, but wasn't sure if that held true in the civilian world.
I've experienced the same kind of thing in my previous career, where I wasn't a subject matter expert in the things my people were tasked to do. I essentially let them handle their business I had trusted subordinate leaders who I could ask questions when needed, and I just handled personnel stuff and keeping the higher ups off their back so they could get their tasking done.
deer_hobbies@reddit
Reputation matters a lot if you’re planning to manage engineers. You can skate off on the higher ups recognizing you but to be an effective manager you’ll want to be able to seen as a value add as a manger, and “knowing just enough” probably doesn’t get you there.
You also don’t need to be the best and most badass coder either, but consistency, able to dive deep, respect fostered and given and having good relationships and trust with those you work with is good.
christian_austin85@reddit
Awesome input, thanks.
To clarify what I mean by "knowing just enough," I mean to say that want to know enough to a) not over promise something in a meeting, and b) recognize average, above average, and below average performance so that I can lead and manage a team appropriately.
I know if I stayed on my current team I'd be far from the best individual contributors as we have 2 people over 15 YOE right now that just don't want to manage because they like being hands on. We have another couple that are around 7 YOE that are currently in the same line of thinking.
deer_hobbies@reddit
I mean for me if I wanted to be a leader I wouldn't start by ranking my coworkers, but go off queen
christian_austin85@reddit
As a manager, would it not be my job to recognize that someone is exceeding/not meeting expectations and provide them the guidance they need in that situation, either by assigning them more challenging tasks and/or providing extra assistance or resources? Is writing performance evaluations not a thing that managers do at your organization?
Certainly the ability to recognize that kind of stuff will come in time, just curious how others gain that knowledge.
ducksyndrome@reddit
Recently got an offer for SDE II at AWS in Seattle. It's on one of the more visible AWS services (think EC2). I didn't particularly choose this service or team, and I care a lot about working on a high-growth/super interesting project. From speaking with the HM so far, I can't tell what I'm getting myself into tbh. Not sure if this is a good team or not. High-growth projects are the most important to me and I don't mind working long hours if there's a mildly supportive manager and the work is super interesting/good for my career long-term.
I'm an "ML engineer" at my current role. Ideally, I would like to find such work at AWS as soon as possible. How feasible is this? How quickly can I switch teams upon joining? Would appreciate any advice/input
PsychologicalTax4487@reddit
Development around tier 1 services like EC2 will be slow and deliberate because missteps are extremely expensive. You'll be making tiny incremental improvements, not taking moonshots. If interesting, high-growth projects are your top concern, this won't be a match.
I don't have any advice regarding joining this team with an intention to move somewhere more your speed.
PunkBoa@reddit
You can switch teams relatively easily if you have compelling work summaries, ideally on their internal systems. You will not get to work on actual ML projects unless you're actively publishing research and submitting to conferences, but there are many teams where you manage data intensive projects for data science and analytics.
I'd ask the current team about ticket rate, oncall, high severity pages, timezones you'll work with, team goals, upcoming technical project work, involvement with data center rollouts, and any required pending maintenance work.
Gullible-Outside-855@reddit
Hi devs, I am from India. 2 yrs exp React Frontend developer working in Service based company. Have working knowledge of Backend too, made personal projects with MERN stack. Got beginner level AWS, azure cloud practitioner certificates. So thinking of my 1st switch, made absolute ATS friendly resume with prescribed format. Perfected Linkedin, Naukri, hirist, instahyre, wellfound, peerlist profiles. I have been applying for almost 1.5 months now. Tried every possible trick and way of approaching for resume shortlisting. Submitted Almost 150 applications, 7-8 referrals, 39 Naukri invites from which approx 6-7 were relevant. Got 8-9 recruiters call, only got 1 scheduled interview, for other 2 companies they were assignment rounds, didn't heard back from either of them. The only scheduled interview went above avg. as I took a bit longer time for machine coding question but got the desired result eventually. Theory questions went well( I could have been more confident in explaining even though I know inch perfect about the concepts)
So I want to ask what am I be lacking that might be a deal breaker. Should I be applying as a Full stack developer for more reach and opportunities? Any advise would be valuable for me. Thanks in advance!
Unintended_incentive@reddit
I am currently 3 years into work in the public sector. I would like to continue building my skills here while the greater economy goes through the motions over the next 1.5-2 years.
That said, my first 2 jobs in the industry lacked decent mentorship. Both of them lacked version control when I was hired and eventually implemented it alongside CI/CD. In my current role it’s the same, but there is no push from leadership to implement version control and CI/CD and use it, which I underestimated at my last job. At my last job with my supervisor we had version control and ci/cd up in 2 months with me and the other new dev.
At my current role I have no one to assist me and everyone else on the team seems to misunderstand the purpose of version control and CI/CD. I have one contractor telling me we will upload his project to git and GitHub after he is done with the project, so it will go up with no commit history besides what I can do to make one.
Where do I go from here? Do I make a roadmap or wait it out a year to see if I make it past my probation? I believe I made a mistake not wanting to step on any toes instead of pushing for everyone to be using git and the company GitHub. Or do I cut and run because my skills will rot here, even if it means risking private sector economics?
blisse@reddit
An underrated part of your career growth is to figure out how to solve problems at the company that aren't easy and where you don't have direct support and need to actually convince people. It helps if you have a good rapport with the people you want to convince, so that's an important thing for you to decide, but if you feel strongly about certain technical directions, if your manager isn't actively against you trying to make things better, then just try to convince people of the better way and do the work. If you succeed, it looks great on your resume. If it fails, you'll learn about why it failed and have some lessons to talk about in your interviews and figure out other ways to approach this problem. When you interview at places with better practices, you will want a better answer than "you never tried to make things better".
Equivalent_Form_9717@reddit
It’s pretty difficult to change and get people to care about your technical project esp. when you don’t have buy in from leadership team.
I would advise to work with the team patterns and develop without version control for a few months and I guarantee you, issues will start to crop up. Issues like doing Git diffs, or sharing code, and merge conflicts would be interesting to see how you guys tackle that problem without Git.
Raise this issue during a team retrospective sprint once you’ve gathered enough data on what your team is feeling.
Otherwise, don’t bring it up, it’s above your pay grade but that’s just my imo, why change things when you won’t get support?
Witty_County5128@reddit
I'm a computer science undergraduate and during our coding exams we have to write code in a notepad without the ability to compile or run it I'm not good at memorizing code or anything similar what can I do?
blisse@reddit
You're in school, so the goal is to get better at and learn things you aren't currently good at. So don't stress that you can't do it right now. Practice writing code and develop the skill of doing it. Start small and write bigger programs by hand. Validate that the code you wrote actually compiles and does what you expect. Repeat and try to work through what makes it hard for you. Incremental progress is the entirety of your career and your life.
ipassthebutteromg@reddit
There are some structures that come up in most languages. I would learn for loops really well and how to initialize and work with arrays in your favorite language.
What kind of questions are in your exams? Which language comes up the most?
sam7cats@reddit
In a FAANG adjacent junior developer role. My job works a lot with SalesForce development, while the title is Software Engineer, it's more of Administration.
Concerned about the future, any tips on internally transferring to a different role or externally even.
1.5 year experience.
SweetStrawberry4U@reddit
Not all Software Engineer roles entail having to write code in an IDE. Nevertheless, that's still a requisite skill to be regarded as a Software Engineer for potential employment opportunities into the future, always.
As for Salesforce, yes, Administration, Configuration and such tasks are unique / specialization skills that also fall under the same umbrella as Software Engineering.
The current job market is a testament that Specialization / Speciality skills need not necessarily guarantee food on the table.
MrPeppa@reddit
I've been doing developer support for the past 10 years and want to move to SWE because I found I liked the discussing design with high value partners & helping with coding parts of my job the most. I also want to contribute to making something rather than just supporting products after production.
Currently I'm learning python while refreshing my Java capabilities, reading up on data structures & algorithms, and starting some personal projects of increasing complexity as I learn more to create a portfolio.
Should I target junior roles or would my unrelated years of experience work against me for those?
Are bootcamps a good way to make the transition or do they just arm you with just enough to be dangerous? I've been suggested bootcamps by a few friends.
bdzer0@reddit
IMO your best bet is internal transfer to engineering. By now you should have a lot of internal connections and some support for a move. I've worked at a lot of places where we pulled support into SE roles with good effect.
You don't say what you mean exactly by 'developer support', so it's very difficult to form an opinion on whether you would be qualified for anything beyond an entry level role.
I've never been involved in hiring anyone that had a 'bootcamp' on their resume, nor have I ever attended one. So I don't have an opinion on that front.
MrPeppa@reddit
Thanks for the insight!
My original plan was to attempt a lateral move and was already speaking to my manager about it when both he and I were impacted by the layoffs that went though our company so now I need to try to make the transition from the outside.
My dev support experience amounts to supporting developers integrating their service into our product. This support took two forms: 1) post-sales dedicated integrations for strategic clients where I worked with their dev team to design the solution & contribute code, and 2) reactive technical support for smaller devs when they asked questions. This has been fairly similar across the 3 employers I've worked for with the supported languages being the main difference (1st employer was mostly Java & PHP and the more recent 2 were mostly JavaScript).
Is this enough info? I can provide more; just not sure what other details might be relevant.
I've also toyed around with getting an M.S. since my B.S. was in an unrelated discipline but haven't really investigated that path seriously.
doom_man44@reddit
I started a freelance company. I have a potential first client with a municipality/local government and need to decide rates, but I have a few issues. Looking to get some advice on starting out from experienced developers.
I've been asking everyone I know but I feel so alone since I live in an area where software and technology is basically absent (Upstate New York south of Rochester/Buffalo) and while I value everyone's opinions, need freelance developers with experience to help me out here.
I went to a town board meeting in my area and after waiting 2 hours, I offered my freelance software & website development services. I created a preliminary proposal document that outlined the different kind of ideas and projects I would be capable of developing for the town, since I'm entering the proposal blindly (not sure what they want, if anything at all). Some examples below.
After the proposal I believe I gave a good first impression (some members of the board knew me and my family and know I was a top student and good person - not to blow my ego here). They expressed interest and would love to have better technology. We are talking about older folks who are technically incompetent, running Windows 7, using a free cloud storage service that runs full 24/7, USBs everywhere, paper documents everywhere, individual emails instead of board position emails... just a mess, and anyone with experience with something like this knows what I'm talking about.
They asked me what my rates were and I said "I'm working on it" during the meeting and couldn't give a number. I did say I'd probably be working 10-20 hours a week on whatever project they decided they needed. But that is the problem after thinking about it for a few days now.
I'm not sure what to charge if me and them don't know what to buy. I think I'd charge less if they needed a simple .gov registration and hosting, and more for a full suite of features and new website, but I'm not sure on the numbers, given the fact this would be my first client (a low budget municipality), and the range of work I'm capable of doing is quite large.
I am only 22 (and just graduated school last year) but I have been having issues finding a job even as I apply basically anywhere in the world (obviously targeting nearby cities). I started a freelance company because I know I am a competent software engineer from my time at college and the fact I've been coding since I was 11. I'm confident I can rapidly develop almost anything I can think of given enough time for design and needs requirements drafting.
Leopatto@reddit
Your hourly rate + margin you want to earn.
Essentially, look at what developers earn in your area annually.
Say 120k.
120/12 = 10k a month
10k / 160 (working hours in a month) = 62.5 per hour.
Add 30% margin (more/less I dunno) So that it equates to around 81 usd per hour.
Say it'll take you 500 hours to finish the project. 500*81 = 41k.
Round it to 45k, negotiate from there. But your numbers need to be solid. Also, throw in 3-4 small revisions max for free. That's what my company provides. After that it's time to open up the wallet.
doom_man44@reddit
Developers make more like $60k around my area, so I think my estimation for $40 / hr actually seemed a bit accurate.
bdzer0@reddit
That's just the high points that come to mind.
The entity you are trying to work with may not care or even understand any of that. However IF constituent PII is compromised, you can bet that a government entity up the food chain will care.
doom_man44@reddit
I have only experience with looking at and researching NIST stuff from my security class. I created a security policy document for a hypothetical healthcare organization.
I have been looking into tight security for any sort of software things, especially for local government, but I can already tell you that their current security policy is no policy.
General-Jaguar-8164@reddit
I have 10+ years across full stack, backend, ml/data platform. I’ve worked mainly at seed startups and scale ups with tenure between 1-3 years at senior level. I have a science degree, not CS.
I’m seeing the job market pretty tight and I wonder if it’s worth in the long run to get a CS online masters?
I would like to keep doing deep technical work.
eemamedo@reddit
I wouldn't. If you feel like you are missing something, just grab a book and read it. After certain point, go to arxiv and read papers.
ivan0x32@reddit
What are must-read books/materials for a Staff Engineer/Software Architect (but not a security-one) on the subjects of Security in real-world systems?
Also same thing but for Project Management perhaps? I'm basically looking to learn SSDLC, currently going through materials here: https://its.ny.gov/secure-system-development-life-cycle-standard
I'm basically looking for Philosophy of Software Design and Patterns of Enterprise Applications Architecture but for Security. And also incidentally something on Project Management.
666codegoth@reddit
Not exactly what you're looking for, but might be a good resource:
https://web.stanford.edu/class/cs253/
roti_sabzi@reddit
I want to build a project which will be a tool / extension which am planning to monitor all the permissions a browser / android app is currently using in background.
Currently I'm in my reasearch phase.
How can I see what are all the permissions like camera , mic , speaker etc are running in background across all the tabs in browser.
If there is a already a way please let me know.
If currently there is not any way to monitor all permissions at once , can you please refer me to any blogs which can explain me the core how this things work.
Or just any idea where should I start looking first.
Also I'm not going to start working on it in both web browsers and Android apps level at a same time.
I'm planning to start with web browsers first. But it will be helpful if I get any insights of android/ios as well.
Thanks
roger_ducky@reddit
All browsers keep full visibility only for itself. They sandbox extensions so it doesn’t get that.
roti_sabzi@reddit
Okay, so anything on tabs level ?
Is it even possible if I can make an extension which will monitor the currently running permissions without opening dev tools ?
roger_ducky@reddit
It used to be possible to inject/replace elements on a page. That’s what ad blockers do. Think it’s now much harder to do though, at least on chrome.
roti_sabzi@reddit
Okay, will check in that direction as well
h4l@reddit
Asking if anyone knows this info may or may not work depending on how lucky you are with encountering someone who knows the browser extension APIs. The general approach is to locate the reference documentation for the APIs each browser provides to extensions, and see if you can find an API to list other extensions and inspect their configuration/behaviour.
For example, these are Chrome's extension API docs: https://developer.chrome.com/docs/extensions/reference/api
Personally I've developed a few browser extensions and I've not seen an API that would do this, and I'd be surprised if one was exposed to extensions, as it'd be pretty powerful.
roti_sabzi@reddit
Thanks
No_Bother9001@reddit
I am into flutter development. I don't see any staff positions for this tech. I have 1 YOE. Should I try to switch to backend?
manayunck@reddit
High level positions will be more framework agnostic, with titles like “staff front end engineer”. If you are working with flutter and enjoying it, I don’t think you need to pivot to something else.
No_Bother9001@reddit
In the backend I see a lot of moving stuff. Like load balancers, CDN, multithreading. But in flutter it's focused on just mobile. Does that limit my worth?
roger_ducky@reddit
Sorta. It’s a supply/demand problem. You might have less opportunities because there are fewer people using it, but you might get higher pay because people wanting experienced Flutter devs have fewer choices.
reboog711@reddit
I Strongly doubt it! Flutter is a more niche tech, compared to something like native development, React, or Ionic. If anything that 'niche' could demand higher salaries because there are fewer developers.
However, considering you are early in your career; I caution about focusing on tech at the expense of being more well rounded. You may benefit from looking at full stack opportunities, either at your current employer or when you job hop in 2-4 years.