|
BlackMK4 posted:To come full circle on this, they called me back and I did a two hour technical interview with a staff engineer there. Everything went super well, I made sure to touch on how I set up something similar to their tech stack on my own time and went into some of the issues I faced, what I didn't like, what I liked, etc. I always keep at least one fun, esoteric repo in my public GitHub for this reason. Yes, I've been working with "enterprisey" JVM/Postgres/Kafka for years now. But look at this Rust/Scylla/Sled abomination that uses Lua as a dynamic config language.
|
# ? May 14, 2022 00:12 |
|
|
# ? May 9, 2024 21:53 |
|
BlackMK4 posted:edit: after doing the math, it'd be a $5k/yr loss to go over there after figuring benefits, I don't think it is worth countering I don’t think switching employers is ever worth a lateral comp or a cut. The only time I’d consider it is if my current employer was awful or I was going from some hybrid/100% in office role to fully remote
|
# ? May 14, 2022 00:34 |
|
luchadornado posted:I always keep at least one fun, esoteric repo in my public GitHub for this reason. Yes, I've been working with "enterprisey" JVM/Postgres/Kafka for years now. But look at this Rust/Scylla/Sled abomination that uses Lua as a dynamic config language. Thanks, that is a really good idea. bi crimes posted:I don’t think switching employers is ever worth a lateral comp or a cut. The only time I’d consider it is if my current employer was awful or I was going from some hybrid/100% in office role to fully remote This is pretty much my feeling. I don't hate it where I am now and WLB is exceptional, but there is the looming issue of being acquired by VC in December and not knowing exactly when things will shift heavily.
|
# ? May 14, 2022 04:22 |
|
I've been having to deal with a terrible ... "CI/CD" system and it's brought out the worst in me. So first you git push to master, which isn't guarded, because hooray. Something is polling master that then builds the thing. if it doesn't build, you get emailed every few minutes about it failing to build until the HEAD changes and you're not on the hook; whoever then broke it on HEAD or used your broken poo poo is on the hook. Naturally, you add an email rule to throw out these emails, just like everybody else. This is part one. Part two is a continuous regression system that takes that build collateral and runs it continually on different configurations of multiple versions of different software all using the same thing from part one that could be complete poo poo garbage at any given time. So I come in Monday dealing with a failure in my code that I fixed and it's time to try it. It still didn't work. It didn't work all week until we figured out somebody had pushed garbage in an adjacent project that was screwing everything up. We had to revert that, wait for it to build and deploy, and then wait for it to propagate in continuous regression. My stuff continued to fail until I realized my personal build environment also needed to be refreshed to undo the broken code. I figured that out EOD today, on Friday. A full week on this poo poo. When I first started working in tech as an intern, I wound up in these lovely systems and my first real job was in another one. I'd get chastised for all the times I'd screw something up "trivial" while neck-deep in these kinds of environments. I've decided as a middle-aged man that all these people yelling at me are the real assholes and the only engineering they're doing is to optimize the ability of somebody to gently caress it all up. The problem is that in between all this is 30-40 minutes of compilation--and a reboot since this involves a bunch of kernel-level code. So that's time that I really should use to task switch and just do anything else. But of course that means I'm not just sitting there hitting F5 over and over on the continuous regression or just starting at my build to wait for it to finish. And I naturally lose track of what I'm doing and cause some unforced errors along the way. I've decided that I've seen this enough and I've also seen environments that actually work to know this isn't my fault anymore and I'm not really an idiot for not being sooooo diligent with these systems. After all, some other rear end in a top hat was the one that screwed it all up in the first place. I've also worked in an environment that blocked merging to master until the change built, passed tests, and was completely built (and theoretically ready to deploy) and had around a two-hour turnaround. It could have been better, but you had a lot of confidence in what you did if it passed all that. Also, nobody looks at my code reviews. Edit: I'm going to just start merging in Rust code.
|
# ? May 14, 2022 07:50 |
|
But why? Who set this up and thought "yup, this is it"? How did your coworkers not riot yet?
|
# ? May 14, 2022 14:39 |
|
If something breaks, it is not the fault of the breaker for not being diligent enough. It is the fault of the system for not detecting and rejecting the break before it could do any damage.
|
# ? May 14, 2022 15:01 |
|
Xarn posted:But why? Who set this up and thought "yup, this is it"? How did your coworkers not riot yet? Stockholm Syndrome? A lot of devs have high thresholds for dumb poo poo.
|
# ? May 14, 2022 15:20 |
|
Xarn posted:But why? Who set this up and thought "yup, this is it"? How did your coworkers not riot yet? Move fast and break things.
|
# ? May 14, 2022 15:22 |
|
Rocko Bonaparte posted:Edit: I'm going to just start merging in Rust code. this is a very good idea
|
# ? May 14, 2022 18:02 |
|
Xarn posted:But why? Who set this up and thought "yup, this is it"? How did your coworkers not riot yet? REEWDASOC Random Electrical Engineer Who Did A Semester Of C.
|
# ? May 14, 2022 21:43 |
|
luchadornado posted:Stockholm Syndrome? A lot of devs have high thresholds for dumb poo poo. It's this. My current org is neck deep in nonsense across a number of vectors. I blame the CTO and eng directors for all of it, but they're also the group I need to convince things both need to change and how to change them (if they knew both of those things, we likely wouldn't be where we are). If anyone wants to try to fix things in a bananas environment, focus on one thing at a time. Start with the thing that has the most obvious impact to velocity or that everyone is already grumbling about. It's much easier to just walk away, so also consider that unless there are clear reasons to stick around.
|
# ? May 16, 2022 14:50 |
|
Fix one thing to create a good story to tell in your upcoming interviews, then hit da bricks
|
# ? May 16, 2022 16:12 |
|
BlackMK4 posted:To come full circle on this, they called me back and I did a two hour technical interview with a staff engineer there. Everything went super well, I made sure to touch on how I set up something similar to their tech stack on my own time and went into some of the issues I faced, what I didn't like, what I liked, etc. if the position otherwise looks good, and they're willing to write the 15% raises thing in hiring paperwork (at least the first couple years' worth?), and they're OK to offset the first year's loss with a fatter signing bonus, maybe it's worth it? or not idk
|
# ? May 16, 2022 17:10 |
|
There's no harm in countering in a quick email. Thank them for interviewing you and the offer but that $X is the minimum amount it would take for you to switch companies. If you would accept a signing bonus of $Z and a guaranteed 15% raise after one year then you can add that as an alternative. I would still try to push the TC though, that statement that every engineer starts at the bottom of the band if either a lie or the company is garbage. In my opinion, I wouldn't switch for less than 15-20% unless there's a specific reason as there's risk that the new employer or manager sucks.
|
# ? May 16, 2022 19:27 |
|
Never switch for less than 20% Especially right now with inflation and how tight the labor market is for companies trying to hire 15-20% was probably good advice three years ago, right now 20% should be your floor unless you're certain you're getting canned in the next quarter or two
|
# ? May 17, 2022 03:56 |
|
Is being at a company when it goes public (IPO) worth anything on the job market, assuming you were there long enough to have an impact. How do you phrase something like that on your resume? Is "took company public" even worth putting on your resume? Maybe pre-series A companies get excited about that kind of stuff
|
# ? May 17, 2022 22:47 |
|
Write about the work you did and the effect it had.
|
# ? May 17, 2022 22:58 |
|
"Got acquired" gave me a whole slew of projects to talk about and new integration hurdles to embellish in interviews.
|
# ? May 17, 2022 23:13 |
|
Hadlock posted:Is being at a company when it goes public (IPO) worth anything on the job market, assuming you were there long enough to have an impact. How do you phrase something like that on your resume? Is "took company public" even worth putting on your resume? Maybe pre-series A companies get excited about that kind of stuff having a recognizable company name on your resume is probably the most cachet you can expect from the IPO itself, unless you're a founder, CFO, or in an otherwise notable individual role. early stage companies do like to talk about the pedigree of their team though, so the name recognition counts for something
|
# ? May 18, 2022 02:15 |
|
Hadlock posted:Is being at a company when it goes public (IPO) worth anything on the job market, assuming you were there long enough to have an impact. How do you phrase something like that on your resume? Is "took company public" even worth putting on your resume? Maybe pre-series A companies get excited about that kind of stuff Yes, early start ups like to hear that you’ve been part of a success. They’re always bragging about how many start-ups the CEO has successfully exited, and mirroring that same type of brag back is good. I don’t think anyone else would care unless it’s about something you did as part of the IPO. Like, if you did a lot of work with lawyers as part of the filing then that could be a good story about how you work with non-engineers and on regulatory stuff.
|
# ? May 19, 2022 14:02 |
|
It’s valuable for startups because you know what a successful company feels like. A whole bunch of early phase people have never actually been part of a success and don’t know what product/market fit is like and how to handle growth. The more people who you have at a company that have been at a successful scaling startup when you start to scale, the less horribly painful bumps you’ll get hit because hopefully you’ll say things like “our build system is awful, let’s fix that” or “why is everyone in the company making changes to these three methods every day, shouldn’t we refactor?”.
|
# ? May 20, 2022 04:38 |
|
Hey all, I'm looking for some career advice. To break down my basic situation I got an associate's degree in computer programming back in 2006 and not long after got my first programming job. I did software dev work full time until 2013 when I got laid off in the middle of a lot of personal poo poo that led to a long period of depression where I did not work outside of some very sporadic volunteering. I have a non-programming job now that I've been at a few years and I'm not bad at but to be frank it sucks and it doesn't even really pay the bills. I'd like to try getting back into coding for a living but my skills are out of date and I'm just kind of unsure what the best direction is for getting back in. If at all possible I'd like to get a work-from-home job because *gestures at everything*. I feel kinda like I'm just hosed but I'm throwing this out there in case someone has some good ideas. Thanks.
|
# ? May 24, 2022 13:57 |
|
Heavy Zed posted:Hey all, I'm looking for some career advice. To break down my basic situation I got an associate's degree in computer programming back in 2006 and not long after got my first programming job. I did software dev work full time until 2013 when I got laid off in the middle of a lot of personal poo poo that led to a long period of depression where I did not work outside of some very sporadic volunteering. I have a non-programming job now that I've been at a few years and I'm not bad at but to be frank it sucks and it doesn't even really pay the bills. I'd like to try getting back into coding for a living but my skills are out of date and I'm just kind of unsure what the best direction is for getting back in. If at all possible I'd like to get a work-from-home job because *gestures at everything*. I feel kinda like I'm just hosed but I'm throwing this out there in case someone has some good ideas. Thanks. Almost everything is remote now, or negotiable to being remote. Grind leet code, set up interviews.
|
# ? May 24, 2022 14:02 |
|
leper khan posted:Grind leet code, set up interviews. Grind leet code. Learn your way around one of: React, Vue, Go, Python, depending on your specialty. Apply for SEII type roles. If you had a tech specialty and it's still around, then go ahead and catch up on the 8 years you've missed. If not, pick up something new. Do it now while the market is still hot AF before everyone gets cold feet from an extended lending slowdown.
|
# ? May 24, 2022 14:26 |
|
What others said. Hiring is still goin crazy, from what I see, and all levels are in demand.
|
# ? May 24, 2022 16:55 |
|
As everyone else has said just go for it. If anyone asks about the long absence just say you had family obligations that made professional life unrealistic or something, but I honestly wouldn't worry about it.
|
# ? May 24, 2022 17:07 |
|
Agreed with the above posters. If you can get halfway decent at a popular frontend framework and can knock out medium LeetCode questions, you've got an in to basically any major tech company. Your job gap shouldn't matter very much, apart from a handful of companies who might throw your resume out at the start, but it'll be a numbers game anyway.
|
# ? May 24, 2022 17:07 |
|
I wouldn’t care about the gap unless it was a leveling issue. If you’re just shooting for an SE II role, I think the gap wouldn’t matter
|
# ? May 24, 2022 17:37 |
|
Let's say you've got a helper class for logging certain parameters of an HTTP request. Let's say it has a bunch of methods like logBody, logContentType, etc. They just accept a parameter, possibly modify it, and store it in a private field. To actually save the logged values, there's a convertToLog method that copies the internal fields into a value object suitable for writing to disk. So you update logContentType to change the way the logged date is formatted internally. When you write tests for this class, do you consider logContentType to be the code you're testing? Or do you consider convertToLog to be the code you're testing? Note that convert ToLog wasn't changed. In fact the only change you made to this class was to logContentType. Was in a somewhat similar situation at work where I modified a method that changed internal state, so the changes could only be visible after calling another method to make them visible. My TL insisted that the 2nd method that externalizes the data was the code under test and wanted me to reformat my tests with that method at the center, because it's easier to understand what is being tested when you separate your tests into setup, test, and assert sections with only the code being tested in the middle section. I agreed and in fact did that, I just had the 1st method in the middle. I explained that the code that was actually being modified was what I intended to test, the behavior being tested was the special formatting from the 1st method, and the test method was even named after that 1st method's formatting because the purpose was to verify the format was actually what we wanted. Hence I put that 1st method call in the middle. He nodded and made noises of acknowledgement and sounded like he understood. Then told me that his rule is to put the method being tested in the middle, and asked me again to follow that practice. At this point I just said okay and made the change to put the 2nd method in the middle but I was pretty confused. oliveoil fucked around with this message at 14:48 on May 29, 2022 |
# ? May 29, 2022 14:42 |
|
You generally want to test external apis unless there’s very specific, load-bearing logic that needs to be tested directly. If consumers call convertToLog then your changes should probably be reflected in those tests unless you can call out specific reasons why your tests need to be written against a method that modifies internal state.
|
# ? May 29, 2022 14:48 |
|
It sounds like both are external methods, in which case if you're writing one test for both then both are under test and I would generally format it as setup block, call method(s) under test block, assert block. You could also split this into multiple tests where the methods are tested separately and then tests for convertToLog to cover all behavior in it. When I see situations like this where the test code doesn't make a lot of sense, it calls into question if the code structure makes sense. In this case do you need a bunch of separate methods to store parts of request and then another call to log it. I would think a single call would make more sense.
|
# ? May 29, 2022 16:53 |
|
Your original class design seems like it does not conform to the Single-Responsibility Principle because it's doing 2 things; there's a bunch of methods used to build the internal state (setContentType, setBody, etc), and another function convertToLog that consumes that internal state and processes it. So from a test POV it might make sense to separate those concerns:code:
This separation of concerns also lets you add more functions to output the data in other formats easily, such as convertToHTML, convertToCSV, etc. Those would have their own set of tests, and also be completely decoupled from the HttpRequestInfoBuilder class. I'll admit that in this particular case, the code is probably so simple that splitting up the classes might be construed as over-engineering. But the point remains; separation of concerns can help bring clarity to "what do I test" questions.
|
# ? May 29, 2022 18:32 |
|
If you're contracting out for a month or two of work (as a rough span to contrast versus 2 weeks or 6 months) for a semi-specialized role, what kind of cuts can you expect 3rd-party hiring firms would take of the money involved? What percentage of money your company is putting out translate to something like final pay? I know this is a very vague thing with a huge pile of "it depends." I'm just thinking that my company is throwing out too little and isn't getting any respect for it. I heard we had a 3rd-party agency and the candidates have their own. I assumed together that the agencies would eat something like half the money. The candidate then has the rest to split between raw pay and their own insurance and stuff. I'm left with something like somebody in a 3rd-tier area working remotely that could get comparable pay local to themselves.
|
# ? Jun 1, 2022 06:42 |
|
Rocko Bonaparte posted:If you're contracting out for a month or two of work (as a rough span to contrast versus 2 weeks or 6 months) for a semi-specialized role, what kind of cuts can you expect 3rd-party hiring firms would take of the money involved? What percentage of money your company is putting out translate to something like final pay? As a contractor, you will get between 20 and 70 percent of what your agency is being paid.
|
# ? Jun 1, 2022 14:59 |
|
For 120 to me I've seen different vendors bill 150-200.
|
# ? Jun 2, 2022 13:33 |
|
tortilla_chip posted:For 120 to me I've seen different vendors bill 150-200.
|
# ? Jun 2, 2022 13:41 |
|
Just one in my case.
|
# ? Jun 2, 2022 13:52 |
|
I guess I'm an oldie now. > 15 years experience doing programming/software dev/etc. What used to be a pretty good work environment has turned sour for me. It went from our little org in the company being self-directed and small teams executing fast into an agilefall JIRA assembly line where it feels excruciating to get things done. Most days I feel completely burned out and don't want to do any work at all. A lot of the engineers I who I consider to be good and look up to have left for other opportunities. I've started looking as well, but I'm currently feeling very cynical about any opportunity and resent the fact that I'm probably going to have to grind leet-code problems for a few weeks to dust off all the poo poo that employers pretend they care about but typically have little or no impact on day to day duties. Despite having a several pages-long resume listing many impactful projects and results I'll have to prove once again that I can solve another loving stupid coding challenge. I guess I need to take some extended time off, but I feel guilty and I'm worried it will hurt my opportunities going forward. Has anyone taken a leave of absence before? How did it go? Finance wise I'm in a very good spot. Relatively LOC, and It would take several years to burn through an appreciable amount of my savings. Not that I particularly want to be out of work for very long. I'm also wondering if a lot of companies are going to be last-in, first-out if the economy really tanks over the next year. Has anyone been in my spot before? What do you recommend?
|
# ? Jun 2, 2022 16:30 |
|
If you've been at the same company 5+ years it's not at all uncommon to take a 3-6 month sabbatical to deal with burnout and reevaluate everything. No company is going to look at a developer with 15 years experience, 3 of which were during the pandemic, wanting to take some time off before starting a new job and be concerned about that. Leave of absence is really popular in the last couple of years after being stuck at home A lot of companies offer a 6 month sabbatical after 10 years of service, I think im academia traditionally it's every 7 years. My wife did something similar at her 10 year mark and it was very eye opening for her
|
# ? Jun 2, 2022 16:55 |
|
|
# ? May 9, 2024 21:53 |
|
I’ve taken months off between jobs a few times. It’s not just great for overcoming burnout, it’s possibly the only way to really recover from long-term burnout.
|
# ? Jun 2, 2022 17:34 |