Ask HN: Who Wants to Be Fired?

942 points by billions ↗ HN
Each of us have limits as to the things we're willing to put up with at a job. What's taking you near your threshold?

861 comments

[ 5.4 ms ] story [ 250 ms ] thread
Not with the job in particular, just want to take a break from tech especially from being a programmer.

Tired of staring at a screen for 80% of my awake time and constant puzzle solving. Sick of people in this industry making you feel you're not smart enough, that you're not enough no matter how many times you prove yourself in past work.

Same. Have been thinking about taking a 6-month sabbatical from all things tech, but then worried I might just become so obsolete and out of touch that I'd rather suck it up.
yup I have the exact same worry, I have a little side business unrelated to tech that is profitting about 500-1k depending on the month. Considering taking a leave to work on that fulltime but also worried when I come back I'd just become completely out of touch.
Don't worry too much about becoming obsolete. Frontend web development is my field and it moves faster than any other single area of programming. I took 5 years off due to burnout and it only took me a month or two to get back up to speed from a technical perspective. Putting up with the bullshit interviews is another story. I freelance now.
+1 for freelancing. I never had to deal with any of the bullshit 2 days on-site interview with whiteboard challenge. I don't get the full interview routine because I'm considered "external" and "temporary workforce" ( 6-12 months ). Funny story that I've seen lots of "internals" moving to other gigs in about the same amount of time.

Freelancing gives you the opportunity to do your job, get your money and don't get involved in company policies. As a side-effect you pass interviews and have flexible working hours.

How do you start finding clients for freelancing? How do you figure out a competitive rate without going too high or low?

I have about 10-15 hours of real work to do each week at MegaCorp. The rest is idle time at my desk/couch. Thought about moonlighting and doing 2 jobs but freelance sounds better.

As someone who experienced the same thing and started their sabbatical 3 months ago, I highly recommend/encourage it. I regret not having started my sabbatical earlier.
The elephant in the room whenever anyone talks about taking a sabbatical is MONEY...

What are you guys doing for money? Just burning savings?

Actually talked with my therapist about this exact thing; apparently we're in a weird industry where your side projects matter more than your actual work that you're paid to produce.

The look on their face as I'm explaining how if I ever quit my job I'll need to put twice as much work into side projects to stay relevant was... enlightening.

> Sick of people in this industry making you feel you're not smart enough, that you're not enough no matter how many times you prove yourself in past work.

Dealing with this in the heavy right now.

I've built a lot in my 10 years as a programmer. Infinitely, and automatically scaled application server based on load. Hasn't crashed or had a single downtime ever since release.

I've built mobile applications 100% myself being used by thousands still today.

I've learned 7 different programming languages. I've done web, mobile, server, and even bare metal firmware. The only 'domain' I haven't touched yet is ML.

Yet.... I truly feel DUMB. I feel like I'm nothing in this industry when one phone screen call puts you into an 'online assessment' where I can't solve the problem in better than O(N^2) time.

These fucking algorithms are killing me, and making me have a hard realization that maybe I'm just not cut out for this. Yea, I've built shit... but you know what... anyone could. I've plugged together a bunch of work other people did, and wallah, working server. Working app. Working whatever. But I can't write the libraries. I can't code a hyper scalable function that could handle petabytes of data.

The only reason my fucking amazing server hasn't crashed is because it doesn't handle anything close to the scale that many companies need. Hence why these algorithms are so important. But I can't fucking get better at them.

Outsource things you aren't good at. You think Tim Cook knows how to write the code required for iPhone hardware to communicate? No.
Well, I'll be sure to tell that to the next guy who sends me an 'online assessment'.
Maybe it's time to build something for yourself then. You have the necessary skills, basically a full stack dev + devOps. That's the route I'm taking - also have never studied algorithms or data structures and am mostly self taught.
I’d recommend trying the graded exercises in https://www.coursera.org/specializations/data-structures-alg... or https://www.edx.org/course/data-structures-an-active-learnin... — unfortunately, for the most benefit (online automatic grading), you’ll have to pay either EdX or Coursera, but EdX offers a small sample of exercises to start, if I recall correctly. And there are a few more courses after those.

If you’re anything like me, you’ll learn better if someone doesn’t ask you to do the impossible, but instead leads you through enough solutions that you can get an immediate confidence boost from the first few easy ones, then the intermediate ones require more thought, and if you really get stuck, there are discussions about how to solve some of the problems. Usually you have to think algorithmically, not just write code, and some problems might just be harder for you to understand because you haven’t done as much work in that area. I won’t say it’s a complete look at algorithms—there’s a whole other course on strings if I recall, but it’s a good start.

Also, here’s my cheat to pass those employer questions — if they let you use JS, do EVERYTHING you can with ES6 Map and Set classes. Folks rarely look at the code and don’t care if you’re using for loops or advanced classes, but it’s way easier to use a Set than to worry about how many times you have to loop over some result to reduce duplication, or sort things, or what have you. If you need a unique sorted set, there are faster algorithms, but a simple (new Set(arr.sort())) gets the job done, because Set is insertion-ordered by default and any native JS function is generally faster than you writing your own code, so it’s impossible to mark this solution as wrong unless you exclude native functions (but who does that?). A bonus tip, if you need to figure out the difference between sets, just get creative with .filter and .map. There’s not much to memorize beyond that because there’s not much advanced functionality, just building blocks flexible enough to do anything, relatively expressively. https://exploringjs.com/impatient-js/ch_sets.html#missing-se...

A follow up, if ES6 JS doesn’t come easy to you — pick a language you like best and look for its equivalents to Set, Map, .filter (or select) and .map (or collect). Bonus tip, look for .find or .first, to short circuit looping and stop at the first thing that matches. Yes, you can memorize for loops or why one thing is more efficient than another, but if you start with Set and Map where each makes sense, you’ll solve 80-90% of algorithm questions pretty easily and usually in a way that’s straightforward to read and understand later, especially if you start naming some of your functions to make them a bit easier to read. (Like naming selectors in Redux...)

If writing SQL as part of a quiz, learn the different joins because usually the question is worded in a way where picking the correct join will deliver huge performance benefits by reducing how much data you’re going through or making things more efficient than looping through multiple subqueries. Left vs Inner vs Right vs Outer vs Cross... remember that the less data the server has to go through (the fewer records in the earliest sub query), the faster everything will run, in these quiz scenarios. Yes, in real life how you store data matters, what you index, but it’s rare you’ve any control over the index or schema in these tests.

Agreed, but as OP was alluding to lots of people need solid business logic written that doesn’t have to hyperscale. Just lame that all the shovel-sharing apps interview as if they want to process petabytes of requests :)
I'm taking the princeton algorithms 1 course now, and it is proving helpful. It has automatic online grading and is free.

The only gripe I have is that at the end of the day, the litmus test for whether or not I'll pass an interview really is leetcode.com

While the coursera course is great, and provides fundamentals I'm clearly lacking ... It's tangential to the actual solving of these riddles.

> These fucking algorithms are killing me, and making me have a hard realization that maybe I'm just not cut out for this. Yea, I've built shit... but you know what... anyone could.

I wouldn't get too discouraged about this: they couldn't - not necessarily anything of value anyway.

I've worked enough places now where the product the business is built on was written by somebody who wasn't necessarily a great programmer, yet this "bad"[1] code is the foundation of the company's success and may be the sole reason they're able to pay me.

You can build a really successful business on really "shitty" tech.

[1] Inefficient, non-scalable, hard to follow, poorly architected, spaghetti code - call it what you will.

I have news for you:

You can study for technical interviews and get good at doing them. "Cracking the coding interview" is a good start, then there is interviewing.io and other resources.

You can learn to be good at that shit with a bit of practice. You're probably not dumb.

Well, I'm currently taking the Algorithms 1 (Princeton) course on Coursera, while tackling as many problems on leetcode.com as I can. I purchased a Premium subscription on leetcode.com.

I'm just finding that my progress is SLOW. Like, I look around and it seems like everyone can find all these creative solutions to problems... meanwhile, I'm lucky if I can solve the brute force solution.

i'm going to be honest with you - if you wrote an app that has never crashed or had a single downtime yet is infinitely/auto scalable based on load, it is either extremely simple, you are a legitimate genius, or you exaggerated. there is just so much that can go wrong there that i'm skeptical, ergo i'm skeptical of other things you wrote.

however, if what you said is generally true, then it's obvious you have some skills gluing stuff together. news flash: this is what a large fraction of people in this industry do on the day to day, it's just that nobody wants to admit it. 90% of my previous software engineering jobs was just figuring out how to get things to talk to each other.

key for you i think will be spinning your skills in a way that makes you attractive.

you'd seem like a good fit as a consultant. clients generally don't care about how you'd write a string matching algorithm from scratch and what the theoretical runtime is in theta notation - they typically appreciate contributions, on deadlines, and clear communication. they pay you to figure out how to make stuff work on a schedule you mutually agree to, and you either give them that and get paid, or don't and don't. put up or shut up, so to speak.

so i'd start there. you have a large pool of knowledge, so just pick whatever interests you the most. then what you think you should get paid per hour, and triple it.

expect 80% to not follow up on leads and 80% to reject your schedule/hourly rate/etc. sort of like interviewing, but at least you're not stooping down to a level of desperation. keep your head up: your skills are worth a large amount of $, so don't take it personally, and don't reduce it just to get scrub-tier work/wages - unless you're legitimately broke, but hopefully after so much working you've got some sort of cushion.

I've thought about consulting before, and my wife actually thinks it's the "right" thing for me (given my recent anger/frustration over the "online assessments" aka algorithm study).

The problem is I'm just not onboard with all the struggles that come with having to find clients, maintain clients, etc. I appreciate (and value) the security and consistency that comes from more-or-less knowing you will have a paycheck next week.

My skillset also lends well (I think?) to a technical manager, or even CTO position at a SMALL company. I certainly know of some great tools, how to glue them all together, and how to do so really quickly. Yet how one makes the jump from "Senior Software Engineer" to fucking CTO is beyond me. I'm not even sure where one would search for CTO jobs. And I'm 32 so, not exactly young but, not quite what you think of when you think of upper management...

The point is - I get your point. Maybe I shouldn't be killing myself with these algorithms. Maybe I should lean into things I'm better at and market myself, gain clients, etc.

I switched to Math from CS at my university specifically because of this. Although the CS field does emphasize a lot of theory, having a more general theoretical background greatly helps with picking up new engineering fields as a hobby.

IMHO the main reason people feel stupid about algorithms and the like is the progress isn't as clear and as linear. I wasn't good starting out. Coursera is great, and probably the most flexible and least frustrating way to expand your skill set.

I’m currently prepping for these kind of questions and “online assessments” as well. I have accepted that my worth as a developer is in most part going to be dictated by how diligently I can game this glorified IQ test.

There are common patterns to these questions and I’ve found that they get more predictable after having done 50-100 of them, with very careful attentiveness to what your mind is coming up with to solve them. All these questions can only vary so much in how they are asked, and unfortunately we just have to do use repetition by numbers to enforce better pattern recognition.

So I recently switched up my approach on leetcode.com to optimize for this naturally.

What I was doing initially was:

I sorted their entire problems database for the most frequently asked questions. Started at the top, and worked my way down.

The problem with this method is that each question can be quite different from the last. Your first question might be an arrays / sliding-window question. The next is a dynamic programming problem. The next stacks. After that, union-find / connected components.

The point is each problem would end up sufficiently different from the previous one that in a given day, or over the course of a few days, you weren't practicing the same (or roughly the same) type of problem.

So as of literally TODAY I've changed my approach to sort the list by TYPE of problem. I will then focus on a specific type (per their categorization) for ~X number of problems (to be determined).

The hope is that by sticking to a specific category of problems, I'll be able to actually learn the commonalities within those problem sets.

(comment deleted)
That's the way to go, aha :)
To you and any other developers that feel this way, there are plenty of companies out there, big and small that need your skills. FWIW, developers that know how to buckle down and do work are so important to a lot of un-sexy businesses, but especially on a project basis. Ever thought of working as a consultant? Or just doing part time technology work/advisory for several small businesses? It's riskier than a salary, but the work is much more deterministic than it is novel.

edit: clarity

> Sick of people in this industry making you feel you're not smart enough

I just want to mention that this isn't an industry-wide problem. It is a cultural problem that tends to be concentrated in a few geographic areas and a few specific sectors of the industry.

You might benefit from taking a step back and considering a substantial change without leaving the industry entirely -- to a new geographic area, or a new sector of the industry.

Also, there is quite a lot of very interesting and well-paying dev work in businesses that aren't IT-related. They often have difficulty finding top notch talent, and as a result will pay well and be thrilled to have you.

name these industries please!
That would be a rather lengthy list, as devs are needed in most industries. But here are a handful (not an exhaustive list) that exist in my area: trucking, railroads, banking, major retailers and wholesalers, hospitals. I'm not talking about bean-counting software here, either.

The single best software dev job I ever had was not working for a software house. It was working in a neurscience lab on applications ranging from software that ran custom experimental equipment all the way through writing software that emulated biological neural networks.

My office mates audibly fart throughout the day and act like it's normal. Pretty sure it's not.
I think it's only allowed on Casual Friday at my place.
It's not. They should do what I do -- silently "crop dust" the other cubicles as I drift past on my way to an unimportant meeting.

But seriously, I have a cubicle-mate that goes through a box of tissues every two days. He is constantly grunting and blowing his nose. He also spends 15 minutes brushing and flossing in the bathroom twice per day. I say 15 minutes, because he has his phone propped up with a timer.

Every time my noise cancelling headset runs out of power and needs to be recharged, I re-evaluate my life choices and my tortured existence.

I had a similar experience with a mechanical keyboard so loud I could hear it through my Bose noise-cancelling headphones. Fortunately a spot opened up in a different room and I jumped on it.
OMG, you must be a colleague from my old team. :)

My ex boss bought a mechanical keyboard with Cherry MX Blue switches(the loud clicky ones) that would penetrate my noise cancelling headphones and gave everyone in our shared office 'Nam PTSD flashbacks.

Nobody dared to complain to him about that. Still wondering if he did that on purpose to troll us or he was just really indifferent about the others in the office.

There's something about the sound of clacking keyboards that's more intolerable to me than nails on a chalkboard. It's pretty inconsiderate to use a mechanical one in a shared office
Well if they gave me a proper cubicle like God intended instead of shoving me into an open-office floor plan, they wouldn't have to put up with the clickity clack of my MX Greens :)

Instead, it's payback for all the chitter chatter that's happening around me at this very moment. I also like to eat loud crunchy snacks and open energy drink cans to be extra evil.

I have a very loud keyboard, and if ever there’s someone new sitting near me, I ask them if it will be bothersome and then stress that it’s no trouble to replace it. Of course, there’s a chance people are just being polite and I should replace it anyway, but it’s a small room and half the time I’m alone in it anyway.
He clearly reads McSweeney's - https://www.mcsweeneys.net/articles/i-brush-my-teeth-at-work...

> You retreat to the furthest stall for your afternoon constitutional. Perhaps you hope to wait me out, but you underestimate my resolve. Dentists recommend brushing for 2 to 3 minutes, but I will be here for a minimum of 10 minutes — possibly 15 — to ensure that I’ll be seen by as many coworkers as possible. Yes, I will still be here when you emerge, to the rhythmic sounds of Reach Extra-Firm bristles on flawless enamel. Each stroke brushing away any illusion of equality between us.

This is not about teeth. The teeth are merely 32 gleaming ivory towers from which to look down on you. This is about what the teeth represent. It’s about what else we both might surmise from this moment: That I am likely far better positioned for retirement. That my houseplants enjoy regular watering and seasonal fertilizer. That I have enviable cholesterol and triglyceride levels. All of that with which you struggle in life, that which eludes you? These things are effortless for me.

(comment deleted)
I guess it's all a matter of perspective, but I'd just be thinking he's some kind of weird loser with OCD that can't manage his own personal grooming at home, but for some reason isn't bothered by spending a lot of time in a public toilet.
Sounds like OCD or at least severe germophobia.
You said "mates". It's normal if everyone else is doing it.
Can you file an HR complaint? The stink must be unbearable.
What can HR do? Their job is to protect the company against internal liabilities.

Unless farting is illegal nasal harassment, you have no case.

At a previous job, several us did go to HR with complaints about another coworker over body odor complaints. It was seriously bad enough that you could smell this individual from over 50 feet away. It was nauseating and was hurting the productivity of everyone around them.

This individual was a foreign national working in the US for the first time. My understanding was that HR took the individual aside in a private meeting and explained there were issues about their hygiene and arranged for them to attend some sort of cultural acclamation course that addressed things about cultural and workplace expectations.

We weren't looking for the individual to be disciplined or anything, but we certainly needed to be able to sit in our cubes without our sinuses being assaulted and our eyes watering.

I once worked one desk over from a bloke who did CrossFit in the middle of the day, and for some reason had to hang up his damp, sweaty, reeking gym things on the substructure of his desk to dry when he got back. I had to lay down a protective Lysol force field to protect myself. Oh, and this was at $LARGE_SEARCH_ENGINE_COMPANY, who treat contractors as subhuman scum, not even entitled to a laptop so they can work in the lounge or something.

Mercifully, about the worst my current coworkers do is say "leverage" when they mean "use".

Large search engine company??? Altavista? Excite.com? Duckduckgo?
No, it's one that treats contractors as subhuman scum.
I once worked at an office for a large bank that had an atrium as you walked in, and then desk partitions up against the glass windows.

Some of the people that went to the gym used to hang their towels over the partitions, until an email from the Head of Facilities saying that they made the office look like a holiday hotel in Benidorm.

I have one that has had a runny nose for about two years now and is constantly sniffing. No matter how many times it's mentioned, and even though there is a Kleenex box on their desk, nothing ever changes.

It's enough to make me think about quitting some days.

Probably chronic allergies with post nasal drip. They've probably had it their whole life and don't even realize how often they're doing it. That doesn't make it an easier to tolerate though.
Yeah, this happenned to me. No allergies all my life, then about 35 yrs old, it seemed like my nose was running all the time. Blowing my nose about 20 times a day. Enough drainage down my throat that it was causing gag reflex amd coughing issues. Finally lead to bad sinus headaches. Got diagnosed with allergies this past winter. Now, daily take Xyzal and Cingular plus Dymistra nasal sprays, and I get weekly allergy shots. The headaches have mostly subsided and I can breathe more easily, but I still get some drainage.

Odd thing for me, despite my allergies being to cats, dogs, tree and weed pollen, I always feel worst when I'm in the office away from my allergens. When I'm at home with my dog and 3 cats, with the windows open and pollen flowing through the living room, I'm fine. :shrug:

You should buy them all butt plugs for xmas. That would send a message and be equally as awkward. Make sure you get ones with soft tips incase they become pneumatic projectiles.
As an experiment, you should let one rip at an opportune moment. Should be enlightening whether they carry on as if this is indeed normal or try to gaslight you about your strange behavior...
Question: what's the farting protocol in the office? Current strategies I've tried have been: Letting it out as it comes - This is bad for everyone and causes a noticeable odor and occasionally sound Letting it out in small bursts - the smell is never too bad if it's noticeable at all, however there's a chance you'll misjudge the pressure and let out too much at once Hold it in - This is extremely painful but I have done it when I fear the frequency of releasing gas as often as I'd like to would be extremely disruptive Go to the toilet - I find this strategy borderline useless because by the time you've reached the toilet the situation has somehow resolved itself
Brutally shit yourself and scream “game over, I win, motherfuckers” and moonwalk out.
One of my early jobs was working at a small PC repair/sales shop owned by a married pair of Indian immigrants.

They would fart as freely as blinking. This was in a very conservative white midwestern town, and they wouldn't even reel it in while pitching sales to potential buyers.

I was a teen at the time and couldn't believe it, ripping ass right in front of a potential customer while running over prices of various components, without missing a beat.

But clearly this is a cultural thing, and some cultures don't seem to frown upon it.

The best part was they also ate vegetarian, and the most convenient vegetarian fast-food option was taco bell so they ate bean burritos practically ever day. The flatulence was nearly constant.

Are your office mates immigrants?

The company I work for is active in an industry I have zero relation to. I can't relate to the business at all and I'm working with ancient tech. It pays well though and was brought on board by a friend and I don't want to disappoint him by leaving after just 1 year.
Have you talked to your friend about the company since joining?

If you're miserable it isn't worth wasting your time. You only have so many years to live...

1 year is pretty much the modern standard for the minimum appropriate time before moving on in my experience, so I think it's fine.
Yeah I thought the OP will finish his sentence “after about 1 week”. 1 year is decent in IT.
I have a ten month job on my resume. People ask about it years later.
Where I am from it's normal to get a 1 year contract when starting. Then if you did well you either get another temp contract or a contract of indefinite duration.

I feel if you quit after a year other companies will assume you didn't make it past the first period. So I'll try to stick around some while before making moves.

Also just having had a kid makes me feel I don't want to burden myself too much. A new job might be better, might be worse. For now at least I know what I've got.

Yes, it is very culturally specific so I guess that should be taken into account.

Here (Australia) it's common to have a 6 month probationary period where you can be fired or leave with basically no notice as employee and employer determine if it's a good fit, after that it becomes significantly harder to fire and the employee needs to give a few weeks of notice to leave. So a year is generally fine, you passed your test and were enough of an asset to make hiring you worthwhile and repay any onboarding overhead.

A few 1-year gigs in a row though, yeah, people will definitely ask.

(Throwaway, for obvious reasons.) I work for a boring start up remotely half of the week (2 days in the office) and I run my own SaaS business on the side (making a few $k MRR after 5+ years). I do sometimes day dream about being fired, selling my company and quitting tech entirely for a damn good while. I have well exceeded my threshold. Perhaps I will continue to watch Twitch instead of work, sabotaging my job, or perhaps I will get my shit together. I am not really sure.
Well honestly I have had a lot of sleep problems in the last 2 years. It seems I have CPPS[1], where I am up all night with an overactive bladder. The result is 5 or 6 out of 7 nights I get very little sleep.

I am in a role where I'm in leadership of a startup. I got there by being ambitious and pushing my capabilities. Now that we've experienced some success because of that, the company needs me to maintain a high level of performance. Further, I have a lot of equity tied up in the company. I feel stuck from the perspective of wanting to support the team, because of my equity, and honestly because when I'm normal, this is what I WANT to be doing.

I would love to be "fired" and just spend time with my kids until I figure this out.

1 - https://en.wikipedia.org/wiki/Chronic_prostatitis/chronic_pe...

I have the same issue and it was completely resolved with Amytriptalene. Until I found the right doctor it felt like my life was over, and they kept giving me useless treatments. Contact Dr Hanno at Stanford; he’s the only competent one I have found.
I assume your doctors have considered it, but have either of you had a vasectomy or undescended testical?
I have had a vasectomy (which my urologist knows, cause his office did it). I'd be curious why you say that. Is there a link?
Sorry, no scientific link that I know of. I just have similar symptoms and wanted to see if there was any historical similarities. It may just be anecdotal but it seems there are a few others here with similar symptoms and history, perhaps there is a link.
Unfortunately, age is probably the most obvious link.
In addition to age, most of us have been sitting most of the day for all of that time. That probably doesn't help either.
I had a undescended testical when I was younger, and had a surgery when I was 5 or so. Curious to know the link, as I share the same symptoms as OP now that I‘m 30+.
This, uh, struck a nerve. Can you explain the link? Or provide some terms for googling?
Thanks so much. I'm actually not in the Bay Area. But yesterday I met a second urologist. They diagnosed me as CPPS after a 1-2 years of misdiagnosis from sleep doctors, primary, and another urologist. So I'm happy to finally have this diagnosis.

My new urologist is having me try OTC drugs (Zyrtec, ibuprofen, benadryl) as he said that it can be linked to inflammation/allergies where NSAIDs and anti-histamines can help. I'm trying those out to see what happens. Did your doctor send you through that course of treatment to try out?

Have you looked into pelvic floor physical therapy (including myofeedback)? Sounds like it might be stress related?
I always get downvoted for saying this, but many diseases with "unknown" causes are psychological in origin. I get the feeling this is one of them. Read The Mindbody Prescription - hope it gives you your life back like it did with me.
After 8 hours total interviewing at one company, I kinda feel like I was hired and fired in a single day
WOW! That would very exhausting.. is this norm these days to have full day interview sessions?
As someone who spent 5 months interviewing, studying, applying, tech screening, full-day-onsiting, healing from rejection, washing and repeating

Definitely yes, majority will do full day interviews and reject you because you can't write on a white board.

A couple years ago I had TWO full-day interview sessions with a single company. That I had to take time off of my then-current job to attend. After a one-hour phone screen. Who ended up not hiring me anyway.
Unless the position was for serious fuck you money and I really needed it, there's no way in hell I would tolerate 2 full day interviews.

I'm also guilty for spending lots of after work days studying for jobs I really wanted and getting rejected but at least I didn't burn any of my precious vacation days.

I fell prey to the “sunk cost” fallacy - after the first full day when they asked me to come back, I thought: a) it would be a shame to “waste” that first full day of interviewing by saying no now and b) surely nobody would be a big enough asshole to ask me to take two full days off of work to interview with them only to reject me after the second day, so surely this second day is just a formality.

Apparently I was wrong.

And no, it was just a regular programming job, nothing special.

I have found that lightly pushing back on such requests makes them value you a little more. Doesn't matter too much since they should've valued you in the first place. I've had a couple processes expedited in this way, sometimes skipping a call here or there or changing a second onsite to a call.
As much as it sucks, it sounds like you dodged a bullet on that one.
I've done about 3 of these kinds of "interviews" in my career.. basically a small work for hire each. Didn't get the jobs.. but took great joy in checking in on each of these companies after 6 months to find they no longer existed.
My gf interviewed at google from 8am to 2:30pm (after 2 half-hour to hour-long phone screens).

Northrop Grumman had a (wasteful) 8 hour "college day" that was an hour of technical interviews, 4 hours of propaganda, and 2 hours of arbitrary fluff like team building games among the applicants.

The ~5 or so on-sites I've had apart from NG were 2-4 hours.

Told the last Google recruiter that contacted me "No, I've been through your interview process once years ago, I'm not subjecting myself to that again."

I got my current job after a brief phone screen and a one hour in-person interview. It came with a big pay increase and the smartest people I've worked with so far.

I'm not sure why so many companies insist on the days-long torture interviews (I've been through several), but I know they're not necessary to find good people.

Facebook wasted loads of my time before I even got onsite, with several shared-screen coding phone interviews spread over a month. Each time I would solve all the problems and get to working code but a week later they would ask me to do another interview.

I got reasons like "the interviewer quit without submitting his feedback" or "interviewer said he had hard time understanding your voice on the phone" (I'm a native english speaker and interviewer was not), or "interviewer lost his notes", etc. Maybe my code just sucks and they were lying but I don't think so. It took so long to get through that stage to the onsite that I felt like I'd already worked there.

I'm interviewing for the first time in years, totally forgot how degrading it is. For one company had 1 interview/week (each relatively short) for 4 weeks, passed the technical (my third interview) and then the 4th/final interview I was asked 95% the same questions that were asked in the 2nd interview. I gave the same answers. And then I was turned down.
At least you got an answer. I was searching (being picky) for almost a year. I got through numerous phone screens and in-persons where I confirmed the timeline before leaving (ie. you're going to make a decision on 'X' day and notify candidates) and the dickheads just straight tried to ghost me. I persisted until I got an answer, even if it was one I didn't like because you owe your applicants a goddamn answer either way.

My favorite is when you apply for a job and you get there and magically the job title/responsibilities have changed. It's like, y'all don't even know what you're looking for… get bent.

Recently went through something similar with a fairly well known tech company. I was told after nearly a whole day of workshops and interviews that I didn't make the cut. Was called back 3 months later and asked if I'd be interested in another role, organised an interview and the company cancelled it the night before.
(comment deleted)
Once when I was a recruiter I got a call from one of my clients because they said that my consultant was being irritable. I called the consultant and he told me that it had been a week and a day and he still hadn't been issued a company computer to work on.
My first job was as an SQL database manager. It took them over a month to get me access to the database I was supposed to be managing.
Someone I know is a manager at a really large government contractor. They once had a poor engineer sit in another building for 6 months waiting to get his clearance. Poor guy finally quit after sitting at an empty desk reading books.
I contracted somewhere once where a new full time employee had to wait a month before he was issued a machine. I don't know how he stuck it.
Same happened to me as a contractor, but I was fine with it. Most I've ever been paid to read books.
Probably any founder of an acquired startup with vesting acceleration REALLY wants to be fired (without cause):

https://www.forbes.com/sites/forbesnycouncil/2018/05/30/what...

Not sure why you got voted down, the US has very poor protections for employees when a company is taken over.

You might have wanted to use "redundant" and not "fired" or "laid off" as these have quite different meanings in labour law.

(throwaway) every day I debate whether to quit or stay on unhappy and trying to do things the way I feel is right until I'm fired.
This fucking year...

So, for starters I'm already really depressed and low energy due to a death of a really close family member. I have particularly low tolerance and high fatigue due to this.

So, we shipped a product, successfully on time in a company that has had many years of difficulty of shipping products in our target market. Which was the goal. So the new management decides to disband the team, most of the team is already laid off.

I get moved into an adjacent org, onto a ~15 person team building a complicated piece of technology that I have great expertise in, and have built 3 versions at other companies to commercial viability, sounds great.

Well, the team has nobody else anymore who has the experience building the tech we are trying to build. Has existed for nearly one year, and (almost?) the entire team has changed through attrition already (maybe more than once). We have the sunk cost of almost 150k lines of code, that is immensely over-architected, and still doesn't provide any customer visible features for what's expected of this type of software. The team is stuck thinking way to big, and the few people who will focus are kept chasing around the rest of the team like cats. At this rate we will build something that can solve any conceivable problem in about 20 years.

There are already a lot of hands in "architecture". Politics, and honestly my previously mentioned fatigue are preventing me from fighting the engineering fight I need to try to get a handle on it myself.

I honestly like the new manager enough. He listens to my complaints and recognizes my experience, but solving the problems are more difficult, and honestly I think we really should just scrap everything. This is already a rewrite and we have an old version of the code base that would be a better start, or I have enough experience to properly build a new one. But the sunk cost fallacy is ohh so stronger when you have this much of a sunk cost, and a lot of expectations from execs and external teams.

Ohh, and build times are like 40+ fucking minutes on a good day in a fast machine.

Anyways, thanks for an opportunity to rant.

What managers don't understand is that there are developers with negative work output.
> Ohh, and build times are like 40+ fucking minutes on a good day in a fast machine.

Reminds me one of my past colleagues who worked at some_proprietary_compiler with so many tests for corner cases that it took 6 hours for each build on a top enthusiast grade PC each person in a project was provided. Also the presence in office for 8 hours a day was mandatory, imagine the whole team spread around the place for the most part of the day doing nothing with an excuse "I'm compiling!"

I've had to work in some gnarly monorepos where pulling the dependencies down itself took an hour and a hundred gigs. Local builds were not fast. I usually ended up hacking the build system to build individual projects manually and copying things where they needed to go. sigh much much happier now that I'm living in a smaller repo.
Please sign me up!

I had at least a dozen projects in as many months started, reach a completed state, then canceled.

I'm on a very small team, I am the only expert in infrastructure, but all infrastructure code is reviewed by the lead engineer who is a complete novice at AWS/GCP. I've written thousands of words of documentation and had entire weeks of phone calls to explain what is going on and the rationale behind decisions. Those efforts have thus far been in vain, and large swaths of my docs have been deleted during yet another wiki reorganization.

In my other areas of responsibility I am prompt, spot-on, and thorough. I bring experience and perspective, challenge half-baked ideas gently and constructively, and have shipped tons of solutions. I keep proving myself, and I do my best to celebrate my other team member's wins.

I'm frustrated when I make common-sense suggestions that are skimmed over, misunderstood, and get argued against seemingly by default. Plain wrong solutions get approval, and prudent, cost-effective ones are ignored or even ridiculed.

I would understand a bit of politics and orthodoxy on a large team, but for such a small team I'm stymied as to why that needs to exist. I keep losing bits of myself as my genuine efforts are met with forceful rejection, day in and day out. I've sought direct feedback and gotten vague responses if any, followed by closed door meetings about me as I do.

The problem is, I believe in the company, even if my team is killing me.

It sounds that your additions aren't values by your team. It might be because (like you say) you are the only expert on X. If you are in such a situation you should be in charge for X, if not you'll be fighting these battles every time.

> I've written thousands of words of documentation and had entire weeks of phone calls to explain what is going on and the rationale behind decisions. Those efforts have thus far been in vain, and large swaths of my docs have been deleted during yet another wiki reorganization.

Great that you were writing all of that, but it sounds like even before that wiki reorg your docs weren't read or used by anyone else. Especially if you are the only person who understands what you're writing, why are you writing it? The only possible reason I see for spending all that time is for the situation where they hire someone else who knows about cloud as well.

> I'm frustrated when I make common-sense suggestions that are skimmed over, misunderstood, and get argued against seemingly by default.

Note that if you give common-sense suggestions about not X (backend code, or databases for example) but you are not the person who is responsible for it / in charge of it, you are telling people (who think they are more expert in that topic) what they should be doing. I'd probably fight that to. If you are given common-sense suggestions about X that impacts how they need to do non X, well that's work they don't want to do. I don't like lawyers or compliance guys telling me how I need to arch my code either (if I could ignore them I probably would ;))

Look at it from the other side: here is our colleague throwawaymyjob who is our cloud guy, whenever he is in whatever meeting (that's not purely about cloud) he is telling everyone else how they can do things better. But he's not responsible for doing that nor how that turns out.

> The problem is, I believe in the company, even if my team is killing me.

This is the real problem. Don't trust company. It is not yours. They will throw you when then don't need you. Better spend time on your well being and get better job.

I worked on contract at a place for 4 years, worked on 5 or 6 projects. Only one went to production, the management changed their mind on the others after they were finished, the money was good though.
You're getting negged. The team or above your team is worried more about politics than value, maybe rightly so.
>I had at least a dozen projects in as many months started, reach a completed state, then canceled.

So what's it like working for Google?

I've been working as a developer at a shitty company with no mentorship or room to grow for 2 years. My co-workers are obnoxious, loud sales people which drives me insane. I've tried my best to get out but due to visa constraints/random shit I've not been able to find anything.
Getting told by my director that the product manager thought it was rude when I answered a question by sending them a link to the answer in the relevant documentation.

I guess this is why nothing else at this company is documented, because why write things down when you can waste multiple people's time repeating things.

Not the rudest but it is basically saying RTFM. I deal with it like, here's the info you're looking for, but in the future you can read here instead of having to wait on me :)

The idea being to present it as a benefit for them and not an unburdening for you.

That would be considered passive aggressive messaging. People easily see through the intent. Just copy paste the content from the manual and link to source.
Tried that approach and got told I was condescending.
I’m very sorry to hear that. Some people will go to any length to avoid work, even by putting it on us.
Thats cause it is. its snarky. solving someones problem and telling them they could be doing something better are two different things. its often offensive to mix the two. it also shows an incredible lack of empathy—sometimes someone is asking you something because theyre swamped and you seemed helpful, if you respond like that theyll go from thinking youre helpful to thinking you’re a know it all jerk.

heres a better way to communicate the same thing without being snarky:

“here it is! <link> its a pretty good resource, the docs are fairly extensive, theyve saved me a couple times in the past” that gives the person the hint without simultenousely saying “i think you’re a dope for not knowingg how to look up this doc” In fact the “next time you can just <x> :)” pattern in general is nearly always snarky—the smily face is clearly not genuine and is belittling.

I'm less sure that works when I'm the one that wrote most of the docs. But thanks, yeah, I understand how it can come off.
> “here it is! <link> its a pretty good resource, the docs are fairly extensive, theyve saved me a couple times in the past”

that's in the same vein as what I meant. The smiley face was not literal and of course I would encourage anyone to find their own words.

Eh, all you would have had to do is something like “I think this is it! <link>. Let me know if you need anythinng else”

takes one more second to add a little fluff to humanize your message.

Don't forget the mandatory 2 hour delay to answer though, you still don't want them learning that it's quicker to ask than to look.
raises hand I'm a freelancer in the position of an interim department head. I've never had such ungrateful and hard to work with team members. Somehow the people above me and around me want to keep them. On top of that, getting anything done with other departments is like pulling teeth. Of course I'm judged on how much I get done, which means that I end up doing a lot of the work myself. Sometimes I wonder if it's all my fault but that doesn't help me either. I just want out but the money is too good.
I didn't know this format was a thing and am so very excited to discover it. I hope you folks enjoy reading horror stories.

I got a job as a Software Engineer in my current company 4.5 years ago; friend-of-a-friend sort of thing. The company had an apparently disastrous piece of software that was their main LOB. They had gone through pretty much every local consulting agency - at least once, on a few occasions they had gone back to one they had already used. It was about 10 years old and consisted of a mix of VB6(!), VB.NET, C#, F# and somehow now Node. At the time tackling a disaster like that sounded fun and I was miserable at a consulting gig. It was a 20k bump but no benefits (health or retirement), but as a single guy 6 months away from paying off his college debt I wasn't worried. I figured I'd dump a few years in then move on.

Three months in, I'm absolutely baffled at what the company does. I was told they handle insurance claims, basically acting as a TPA. (Important detail: I had no idea what a TPA was at the time. It's gonna matter later.) The software does handle claims, but they also have 10 other projects that cover a bunch of random business use cases. Apparently the CEO is a self-described "idea man" and would task the previous developer to 'prototype' his ideas from time to time. The problem was his idea of a prototype was a fully-functional application that he could sell to investors and clients - until he got bored with it and shelved it. This ended up with the company having around a half-dozen actively used products in a half-dozen markets. In addition to the TPA side of the company that was about 50% of revenue, the other half was split over 1) check cashing software, 2) HR/onboarding software, 3) some sort if discount medical visit scam, 4) some sort of MLM scam that the CEO's brother-in-law co-opted him into, 5) a random cannabis and self-help website run by some yoga guru type dude the CEO knew and finally 6) a piece of software that let helped churches organize events and donations that took about 50% of any transaction that was run through it as "fees" for our company. Now I could talk about any of those monstrosities at length, but this is already shaping up to be a wall so I'll skip that.

1.5 years later. I've wrangled the mix of VB6, VB.NET, C#, F#, PHP4, PHP5, PERL, ASP.NET WebForms and MVC, SQL Server, Postgres, MySQL still using MyISAM, god knows what other horrors I've forgotten. All of this without version control - just folders copy-pasted over and over on a 10 year old server in the closet that has no redundancy, two failing disks and one PSU out of order. The last guy had started some positive changes: moving everything over to Azure, porting everything related to the claims business into a more modern MVC app. I finished his work. I squashed about a dozen Wordpress instances into a single, multi-tenant host. Squashed out all the other languages and databases into just C#, ASP.NET, SQL Server. Ended up reducing the Azure spend by about $2000 a month. Felt good! CEO loved me. COO (my direct manager) loved me. CFO was pleased. All throughout this, I had convinced the COO to cut out all the shady, near-illegal, morally bankrupt garbage we did. No more check cashing (awful, awful industry), no more MLM of any sort, no more stealing money from churches (we kept that going, just changed our fees to a nominal amount). All the work I had done lead to a decrease in onboarding time from 2-3 days to 10 minutes and the TPA side of things was now about 85% of our revenue. Happy ending, right? Just you wait...

Somehow, I had not encountered a single brilliant "CEO Idea" for 1.5 years. He decided to fix that on one delightful summer day in the mid-west by announcing that we would be acquiring a healthcare startup that a buddy of his ran. Now this pissed most of the folks at the company off and is probably a good point to talk a little about the structure of said company. As ment...

I have no idea the right way of posting long posts. Here's the rest: https://pastebin.com/k0tYZYgY
Contract arrives, I sit down with COO and CFO and explain that we have been duped. COO is angry; CFO is not concerned until I show him the contract that Bob's sent over. The contract ye olde healthcare startup signed apparently agrees to pay for 5 fixed resources (at $200/hr!) for 40 hours of work each, per week, for a period of a year. Now I'm not unfamiliar with being outsourced as a resource, from a consulting company, for a fixed amount per week - but never have I seen a contract that binds you for a year, especially for 5 resources, with not one deliverable mentioned anywhere. Maybe my five years of consulting wasn't enough, but that blew my mind. Additionally, they sent us the server bills (AWS) and informed us we paid directly for utilization in addition to a "HIPAA Monitoring and Compliance Fee" of $3000/mo. As I had not a year ago lowered our own cloud costs to about $800/mo, this number struck me as staggering. $3000/mo base + around $2000 for the servers currently running. Also, "what the fuck is HIPAA" I said aloud, the only answer being the two confused shaking heads of my COO and CFO. Uh-oh...

Segway. The actual Project Manager of the acquired company (not the one from Bob's Hair Care IT Consulting Nail and Tire Salon) has moved in and I've finally got a victim to victimize with my many, many questions. She already looks harrowed before I begin my interrogation. Are people actually using this? How much do we make per visit? Visits per month? I forget the answers to these, but the end takeaway was: we bring in about $10k/mo net right now. I'm no accountant, but I'm fairly confident you can't pay the expenses of a company + a half dozen employees on $10k/mo. PM agrees - they've burnt through about $7 mil of investor cash over their 6 years of existence. No path to profitability is in sight.

Around the same time I've got the Project X repository (whew, at least they used source control) moved over into my world and have started reviewing the actual source. I'm no Node wizard, but I'm immediately confused as I see both Express and Hapi (two server frameworks, generally considered competition to one another) used in the same project. That's...odd. Investigation intensifies: it's a simple CRUD project that takes a form submission from a registered user, saves it in Mongo and slaps it into a queue for delivery to the given doctors email. That's really it. There's some back-end admin that allows the doctor to write some notes about their visit. Like a little baby EMR (though I had no idea what an EMR was at that time). Amusingly, it's got an Angular front-end (1.x, because why not spread salt on my wounds) that hits an Express endpoint that then proxies the call to a Hapi endpoint. For no reason. I can't find a single comment or piece of documentation explaining why. Icing on the cake? Their is in fact authentication used from Angular -> Express. The Hapi endpoints, however, are wide open - but surely not from the ELB, right? Certainly it's just an idiotic architectural decision that isn't actually exposed to the public? Nope. There's a rule in the ELB. Sweet Baby Ray's someone help me, there is a publicly accessible, completely open API that anyone could discover that gives away patient and doctor information. Huh, I wonder if the US has any sort of regulation on that kind of stuff? I should really take some time to investigate that HIPAA thing I found earlier, maybe that's got something to do with it...

Employment duration: unknown. My ulcer has had a baby. I think I may have had a psychotic break. I Googled HIPAA. I simultaneously shat and pissed myself, which I didn't think was possible during a panic attack, but the human body is an amazing thing. I took Thursday and Monday off from work to read through a PDF I found of this most enlightening "HIPAA" legislation. It says "SAM...

I've merged it into your comment above so the whole thing is one piece.
there's a lot of stuff in the pastebin that hasn't been added to the comment
Ah ok. Thanks! I'll uncollapse the GP.
You're gonna go to jail.
(comment deleted)
You should be a writer. Or a movie producer.
"We're never going to do that, Throwaway,"

-- genius.

please write fiction please. you are like a thriller writer, it was better than watching "the dark night"
For someone who cares so deeply about security you just gave away a lot of sensitive info and uploaded it to a popular forum.
This is one of the best things I have ever read on hn.
Well that was a fun read. I have some background working on an EHR and yes, HIPAA is taken very seriously. Hope the "divine intervention" you mentioned doesn't come from having shared this story.
That's an amazing story. My father has his own experiences with a CEO who has a habit of screwing up, but it's not nearly as entertaining as yours.

CTO at 29 with that salary is the midwest? That's rather amazing. You should be proud of what you accomplished. Do you still have that ucler, or was that just a joke?

So sad I can only give you one upvote per comment.

That was one hell of a ride.

Have you tried to defuse your dangerous CEO by giving him a harmless hobby?

Launching anvils into orbit with black powder?

Do-it-yourself bacterial genetic engineering?

I was thinking less dangerous to the company, so these hobbies would be okay for this goal.
Cave Diving or cleaning out the tape safe
Why are you still there? You could easily leverage your accomplishments to get another job. With your experience you could probably be an overpriced consultant.
Logically you need to figure out in what way CEO benefited from this it sounds like he should be in jail.
Will echo other comments and say that I enjoyed this post.

IANAL, however, in all seriousness...

I think you should talk to a personal lawyer about your situation ASAP, especially now that you posted this publicly. HIPAA is not to be trifled with and now you've shared that you have knowledge of a breach. You've also provided enough detail in this post that (if found and traced back to you) could be used as proof that you were knowingly complicit in breaking the law.

You want to retire early? I would not be messing around in a company that skirts the law. All this work could be for naught. You are high enough up that you have a decent chance of getting caught in the inevitable downfall of this company.

Seconded, hard. You can't spend that $165K a year when you're staring down the barrel of willful HIPAA violations. Leave the company as soon as humanly possible. Leave and hope that the blowback from the inevitable disclosure--which won't be from your company--is happy enough eating the executive team that remains. And get a personal lawyer who understands HIPAA and explore avenues for whistleblowing; turning over on that company might be important for personal survival.
The story exceeds my suspension of disbelief. What particular jumps out at me is the backwards details - nobody off the street knows what "TPA" means, sure, but everybody who's ever gone to see a doctor knows what HIPAA is, even if they think it's called "HIPPA".
Maybe it's bull. But it has the ring of truth to it, to me, and I've worked for a few healthcare startups. A lot of developers think of themselves as "just developers" and a lot of people are brutally incurious about the world until it hits them in the face.
> ... are brutally incurious ...

This is an amazing phrase.

Thank you. I try sometimes. ;)
Yeah, but the world generally hits you in the face by the time you turn 18 or maybe even before.
About some things, sure.

Not necessarily medical privacy.

I think you are rather over-estimating the degree to which people read those standard forms: it’s akin to expecting everyone to read the full text on the “Are you sure?” dialog before clicking OK.
I don't know if I read the forms, but so what? Many if not most people don't do their own taxes, but they know generally what the IRS is and what it does.
I ONLY know of HIPAA from my work. Maybe it was on a medical form.. I don't visit the doctor much, can't recall.
I work indirectly with health care companies making front facing websites in Australia and I know what HIPPAA is
I worked at a networking hardware startup outside Silicon Valley many years ago (during the first dotcom boom). It was run by two people, father and son, with no technical experience -- one previously ran a garbage collection company, as I recall, and the other was a sales guy -- and shortly after I started, I learned that the antics of them and their cronies had caused the entire engineering staff to have over 100% turnover in less than a year. Not only was no one left at the company who had originally had anything to do with the product's design, there was no one left at the company who had worked with anyone who originally had anything to do with the product's design. During the barely two years I worked there, the company had a system architect who talked about "making the code more flamboyant" and eventually fled the country for legal reasons, had a cold war between that architect and another executive in which the former was (badly) installing spyware on the latter's laptop, had the CEO earnestly tell us about how a former engineer had put, quote, "death code" into the system that the CEO had found and removed himself (this is, again, a man with no programming experience and the former engineer worked on the system-level C code; if he'd put "death code" in there, the CEO would not have been able to find it); on and on and on.

tl;dr: small tech companies run by completely non-technical people may not always be shit shows, but when they are shit shows, the shit can be pretty unbelievable.

>You can't spend that $165K a year when you're staring down the barrel of willful HIPAA violations.

It's much harder for the government to take back your $165k after you've spent it all. Sure they'll garnish your wages but they'll do that either way so you may as well live a little in the meantime.

Thirded.

Work at a hospital and in the orientation the first speech is given by the head of compliance who goes over what executives have gone to jail, why, and all the underlings that have been fired for seemingly innocuous HIPAA or PHI violations (looking at a friend's chart, posting on social media, etc).

The money sounds nice but OP could probably make the same at somewhere more reputable with less a chance of feds walking in and taking everything.

HIPAA is absolutely to be trifled with. Look up who is actually fined and face actual consequences from HIPAA violations. It is 99.99% big universities, hospitals, and insurance companies. Everyone else gets (at most) a slap on the wrist and has to promise not to do it again. Once in a while they’ll fine a small family practitioner $25k for not shredding papers properly but it’s a total joke.

HIPAA Compliance Services are something for consultants to sell so business owners can sleep at night. It’s like Lisa’s magic rock on the Simpsons that keeps tigers away. Does it work? I don’t see any tigers around here do you?

Seconded. I’m a physician that got so pissed off at how a practice was repeatedly and willfully violating HIPAA that I risked my standing in the local physician community and reported them.

I was basically told by the case manager, or whatever they call themselves, to fuck off.

When I worked at an MSP, we supported a small dermatologist's office. Everyone had personal computer accounts but everyone had a password of '1234' so...yeah.
Preach it. Reported my own psychiatrist for having a bunch of highly sensitive "followup" forms asking about medication, emotional state, etc. (and including patient name, address, other PII) on the practice website that transfered data over plaintext to a shared hosting server running PHP5 in debug mode that had been hacked by an automated script and was redirecting people on first visit from a fresh IP to a "Congrats! You're our 1000000th visitor" spam site. Haven't heard from OCR in over a year.

¯\_(ツ)_/¯

Agreed. The organization would likely get fined for a breach, not the engineer. I work a senior IT role in Healthcare and I've seen what breaches look like. I've never even heard of someone going to prison, let alone for what this story tells.
Yeah to go to prison you have to really screw up, in a way that is malicious and willful. Though the CEO driving over to his MLM buddy with a thumbdrive of PHI might do it.
Do you know what the actual risk is here?

Personally, I wouldn't stake my future on hoping the government doesn't notice what my hypothetical law-breaking company is doing. Or that my law-breaking unethical CEO won't lie and try to throw me under the bus if/when the company eventually gets caught.

I'll restate that I recommend OP talk to a knowledgeable lawyer to get an informed assessment of what kind of risks he/she is undertaking.

I understand the difference between odds and risk. The risk is high (assuming you use the harshest possible penalties) but the odds are infinitesimally long.

Google and find who has actually faced penalties from HIPAA violations and what those penalties were. How many serious fines/prison sentences have been handed down? Who was at fault? Were they random no-name startups?

I think you should also seriously consider blowing the whistle on this. Turn government's witness.
Enjoyable read, thanks for writing it all down : ) Keep on fighting the good fight.
This was fantastic.

> With stingy living I'm set to retire at 40 and that blows my mind

Got some Mr Money mustache vibes from your post, now I know why. Congratulations.

That was hilarious, the 2nd half was better than the first! You’ve had an amazing lesson in running businesses, you’d now make an excellent CEO, much better than the one you work for, having done some of his job. All I can say is they didn’t pay you enough money for the amount of stress you went through!
I lost it at "What the fuck is HIPPA".

Who the fuck buys a healthcare company and doesn't know what the fuck HIPPA is?

Great read.

(comment deleted)
That's (purportedly) a quote from the person posting this on HN, not the purchaser of the company.
Ok, but I've never come close to working on healthcare software but I've run up against HIPAA numerous times because partners, customers, suppliers, customers of customers, are in that space. So the idea that your company can buy a full-on healthcare software business but you and your legal people have never heard of it is pretty hard to swallow.
I agree, but my point was that it wasn't the buffoonish CEO that the quote was attributed to, but the HN poster who's bragging about his talent, wealth, and illegal activities.
but he sat down with everyone involved right, and nobody knew what it was. That does sound a little fishy, under the circumstances it's a little like sitting down with a pair of nice old ladies who've been poisoning people and hearing "Arsenic? What's that?!?"
> Who the fuck buys a healthcare company and doesn't know what the fuck HIPPA is?

That could have been you, apparently.

https://searchhealthit.techtarget.com/definition/HIPAA

Thankfully I'm not out here buying businesses of any kind. And knowing what a thing is and knowing how to spell it correctly are two different things.
That may be so. But when it comes to consuming information on a subject I prefer my sources to be those who know what the acronym stands for which makes mis-spelling it a near impossibility.

Knowing what something is in the abstract versus knowing it intimately is a huge difference and if you don't know how to spell the acronym you've pretty much outed yourself as someone who is not familiar with the details at a level that would allow for a constructive discussion.

It would be like talking to someone about cars who spells BMW as WBM and Porsche as Porche and then to have a discussion about the relative merits of each. Of course it is just form, not function but I would highly discount the opinion of someone who would not be able to spell the names over someone who can, chances are the former hasn't driven one and might not even be of legal driving age.

This was a great read, thanks for sharing!
So, uh, you know that there are other employers who pay well for developers just now, right?
Thanks for sharing. Between your salary, stock options, 8% matching 401k, and being in the Midwest you can probably accomplish FIRE even faster than by age 40.
whats great about this is that you don't realize that you've written a new classic.

also, get out while you can!

> also, get out while you can!

May I humbly suggest that this is not strong enough. You're staring down the barrel of HIPPA; get a lawyer and hand in your resignation NOW.

(Not a lawyer, not legal advice)

That was an awesome story. Thanks for posting. HIPPA is a huge deal.
I've worked for Fortune 500 and even Fortune 50 companies that acquired tech companies with no due diligence (usually in a panic) and I've had to clean up the mess. And the acquired folks usually leave in exactly a year and one day, after vesting.

And, even in 2019, I've gotten calls to clean up messes from people that have hired a software developer (for a company whose business isn't software) who doesn't use source control. Amazing!

Fortune 500/50 companies should be able to absorb the cost, no? If you have a lot of money, you can afford to make mistakes as long as the expected value (of many acquisitions) is positive in the long run.

I’m not sure what the point of this comment was, so apologies if I’ve assumed incorrectly.

Maybe that's their logic, but a little due diligence can go a long way.

For example, one of the founders of one of the companies lied about his Stanford MBA Degree in his CV. He didn't have one. The company did not fire him. I lost a great deal of respect for the company after this.

One of my first jobs as a teenager was not software related, but basically just accounting support. A mid-size retail chain had acquired another retailer and needed help going over the books. This was in the 90s and I was basically typing stuff in an Excel sheet and getting a sum. Last day on the job I gave them the bottom-line number of something (revenue?) and my manager looked at it and said it seemed way off. Whatever, I'm done for the summer. Few weeks later there's a story that the company they acquired had lied about their value by a large margin and it was enough to put them out of business forever. Close all their stores and liquidated. I know it was not my fault at all, but I like to think it was my Excel sheet that destroyed them.
HIPAA is lovely in that it is worded strongly enough to get your coworkers to stop writing their password on a Post-It stuck to their computer. Fabulous read!
Thank you for sharing this. This is, by far, one of the best comments I have read in a while. I am wondering though. What made you stick around ? Money doesn't necessarily seem to be the motivation here to me.
Lovely evening reading, I consumed each word, thank you for the writeup! Third act redemption for you, I believe it.
Just FYI, segway != segue . Unless it was a joke, in which case joke's on me.

Crazy story, thanks for taking the time to share -- makes me feel better about my job!

I nominate this for "best of Hacker News" comments
(comment deleted)
This is actually pretty sad. HIPAA is not something a company should take lightly. It would be like a private company having no audit logs or encryption while running a government contract, but 50x worse.

Working in healthcare myself, I urge anyone whose eved contemplated or has the opportunity to work in a healthcare related company to take a few days to really digest and understand not only HIPAA, but it's purpose and it's consequences. You can go to jail just for being part of a company that does not properly take care of patient data.

Amazing. I know I shouldn't be laughing at the expense of your misery but this sounds like something straight from The Office.

How are people like this able to become CEOs and attract investors? Does it just take a shit load of lying and knowing a lot of people?

Thanks for your briljant story, enjoyed every sentence (it's very well written).
This has to be one of the most impressive war stories I've ever read. Thanks for writing this all out!

But as others have said, you need to get yourself out of that company ASAP and hire your own lawyer to figure out what your own potential liabilities are. I'm not in the US and am not familiar with the details of HIPAA, but just based on what you've written I really don't think it's a good idea to stick around a place like that particularly given you know exactly what's going on. Even if you don't end up with any liabilities/troubles from what has transpired to date, it seems inevitable that something will happen eventually that will end spectacularly badly for everyone involved.

I understand the money is good, but I would seriously recommend finding another employer with a bit more knowledge of and respect for the law.

This post should make many people on HN feel confident that they can run a company that does millions in revenue. As long as you aren’t doing favors for family and buddy’s, you too can run a small tech business and make millions.
I wish I could upvote this more than once.

Let me just add that people like you are BEST OF THE BEST to hire.

That's what I want to hear during an interview, not the "bubble sort on a whiteboard".

If a person has been through THIS - gosh, I want you to work for our company.

PS. no, not because my company is a mess too, don't go that way :)

PPS. I do see this is a thoraway profile, but if by any chance you're checking back to read the replies - let us know if you're available for hire (remote). Contact us (see profile). Long shot, I know...

> Now I could talk about any of those monstrosities at length, but this is already shaping up to be a wall so I'll skip that.

lol

Thank you for sharing this.

I love how the story goes through everything that should not be done, from blind investment to breaches and personal information leak (in a thumb-drive!!).

And this is just one company.

I shouldn’t find anything this horrific this entertaining. But, I’d get cable for this show!! :)
What a story. The part that surprised me the most was "Legal has never heard of HIPAA." HIPAA is major legislation (almost as influential as a Constitutional amendment) and has tentacles in every field, so how is it possible that an attorney (even an incompetent one) has never heard of it? I would never trust legal advice from an attorney who hasn't heard of HIPAA.
(comment deleted)
This, right here is the problem with our industry. Someone has a brain wave and asks a [set of] hardworking engineer(s) to 'make it happen yesterday'. Engineers toil away and bring out something useful by making all possible hacks since yesterday has already passed. Early engineers get frustrated and leave only to be replaced with some more hardworking engineers who now have to clean up the mess, keep the lights on _and_ implement the next brain wave that the idea man came up with. The problem is, a lot of 'thinkers' are becoming entrepreneurs - most of them have no idea about the complexities or intricacies of software or those who wrote code so long ago that they largely worked on monoliths and have absolutely no idea how complex systems work together 'in the cloud'. We need more 'builders' (engineers) as entrepreneurs. It'll invariably lead to people working on more sensible, real world problems that need real solutions - since, hopefully, builders would know what it takes to build out something and won't waste resources on frivolous and ill thought out ideas.
Anyone successfully pull off an "Office Space"?
I did. 11.5 years ago before starting as freelancer and never looking back.
Freelancing sounds like fun, but it looks like a real pain getting started. From what I can tell, it means working for free or next to it on sites like upwork. Any tips or suggestions?
I can't say for others but for Upwork is not that bad. You do need to grow your profile with successful jobs to be able to charge more later, so start lower but do make a polished profile. Show lots of projects, including those from open source, if you have any, and fill all fields as well. Also state that you're at beginning and you're going for low prices only to establish your reputation. Also don't give up, keep on bidding on jobs even if it looks like a number game. In the end if you're persistent enough you get your break and can start build your clients base. After that it's a breeze, given you're indeed good at what you claim. Otherwise, it's a harsh environment for those trying to scam.
I'd love to hear the details, if you're willing!
It all started with Brainbench in around 2000, when I did some testing on them, when they were still free and even sent you hard copy certificates for free. So I had fun with testing myself online and got those certificates. Fast forward to 2007 when out of boring I wanted to do some more test and I found out that Brainbench was now a paid platform for tests and the hard copies were actually around $50 to get, so I wanted to find something else that had free tests. And I stumbled upon oDesk this way - back then they were called that, now they are Upwork. So I made an account with them, filled all the fields there with my mind wandering around, including all the fields that were not required - and this was actually crucial later, out of pure luck. Then I started to do tests to see how I grew meanwhile vs. Brainbench. Then I forget all about for half an year, when in September a notification from oDesk came into my e-mail about a potential client wanting me to work on some component but for very little money - he figured I was good enough but without history of jobs and wanted to take advantage of it. I outright refused the job but this opened my eyes to what oDesk really was - a freelancing platform. So I started to tinker with this idea to have some side projects and do them on my free time. At that time I was over an year employed by a German company and I was support/programmer for anything the technicians of said company was need it. Their main job was carpentry repairs and the technicians were using laptops to record the entire job at client site. It was a successful company hiring hundreds of technicians but was having only us 3 as IT support/programmers. So one day the leader quit, he found a way better lucrative job in Switzerland, the other guy was never good enough in the eyes of the company owner and when he asked for a salary raise was denied and he quit too. So I was solo and I started to not care at all about the job anymore. I was just like in "Office Space", coming at 11 or even noon, leaving after 2 or 3 hours, during this time I was completely only browsing internet and procrastinating heavily. 3 months later, in February 2008 I was like at already 3rd client from oDesk and this one was a heavy project with long term relationship, so I just started to actually work via encrypted VPN from work for those projects at home as well. I believe that was the final straw for them and they kinda fired me. I mean, was not a firing per se, but more of a situation where they asked my resignation and I just stopped going to work. My contract was bullet proof and anything less then actually committing murder or arson (like in Office Space) could not fire me from work. So no bug in software to steal money or arson like in Office Space, but everything else was point on - coming at my own hours, heave(n)ly procrastinating at work, leave early, got promoted (sic!) also, even had sex at office with a girl I picked-up one day on my way to work and she was a screamer, the entire lower floor where some paper pushers were working heard everything despite multiple attempts on my side to quiet her by putting my hand on her mouth. Yeah, not even that was good enough to get me fired, the owner when called me later that day didn't said a single word about this and he definitely was informed about it by the paper pushers. Oh yeah, we had a table tennis in the yard, I started to get kids from street to play with them, for hours and I was still promoted. So totally Office Space. Hope you enjoyed ScottFree - have a nice day
I don't want to be fired. I absolutely love my job and the people I work with. But I can just smell that we are about to hit a sticking point with how I don't do on call (it was never mentioned in the interviews or part of my contract) and I don't respond to work after 5pm.

If it does come to that sticking point I'm trying to figure out how to be the most assertive and diplomatic. I.e. How do I convey that I badly want to keep this job but those new terms are a non start?

> I'm trying to figure out how to be the most assertive and diplomatic.

Having a job offer in hand does wonders for one's communication skills.

I perpetually have a few competitive alternatives. But I don't want to have a conversation that way. I shouldn't have to.
You could perhaps try framing it as a negotiation, i.e. "there was nothing in my original contract that indicated this would be one of my regular responsibilities, I'm happy to open negotiations with you in order to add that stipulation." Think of a salary at which you might actually consider being on-call (don't be charitable; make it double or triple or quadruple your current salary if you want). Then, increase that number by 50% and call it your starting offer. If they balk and try to talk you down, offer to go lower, but don't go below that number from the first step. Negotiations will almost certainly stall and your supervisor (who I presume is the one putting pressure on you) will then have political cover to tell their own supervisor (who I presume is putting pressure on them) "hey, I tried", and hopefully this will continue far enough up the chain until it reaches a person that is so detached that they don't really give a damn and drop it. If they do eventually end up firing you over this, then this indicates they would likely have fired you anyway and therefore you've not lost from this exchange. And on the slim chance that they accept your terms of quadrupling your salary, I guess you can retire substantially earlier. :P
Then don't.

First: Have a very direct conversation where you state that after-hours work, and being on-call, are not the job you took. Also state that you really like the job you have, and that you'd like to continue to work where you're working.

Next: Make sure your value to the company is clearly established. What important things have you done that were vital to the company? (If the decision makers think they can replace you, then you're better off switching jobs now.)

Finally: Figure out how to telegraph that you're considering other offers without actually telling anyone that you're considering other offers. In the late 1990s - early 2000s, showing up very late one day in a suit did it. In my case, I just started leaving at random times to meet people for coffee, or taking phone calls behind the office. Later, I didn't pick up the phone for an "important" call with my boss, and his boss, because I was at an interview. They figured it out and the problem was solved very quickly.

> I don't want to have a conversation that way. I shouldn't have to.

I've been though this after a comp review. Despite good review, my raise wasn't impressive. Once I had a competing offer in-hand, suddenly a lot more money was available. Had I wanted to keep the job more, I would have pressed the issue during the comp review, but to your comment, I shouldn't have to.

I think the best way to convey something you don't know how to say is to put it this way

"I don't know the right words to use - so I'll say it directly. I BADLY want to keep this job but I even more so can't be 'on call'" .. you can explain to them that for you personally you need separation between work and personal life."

As the other poster said, I think an honest framing of just what you said is fine ("I really enjoy working here, but those other things are non starters"). If it truly was not outlined beforehand, then just point out that you feel strongly enough about the extra requirements that you would not have taken the job in the first place had it been mentioned.

Maybe they accept it, maybe it becomes a learning moment for them in the future. Either way, its unfortunate but non-starters are non-starters.

In professional settings, when it comes to these kinds of awkward topics, I have found a method that has served me very well:

A. Meet with the person who is applying the unwanted pressure (it works best one-on-one, so if more than one person is pressuring, you may need to figure out who is best to speak to).

B. Frame your concern as asking for advice. For example, "I'm struggling with how to handle this on-call thing. Work-life balance is EXTREMELY important to me, but I love my job, and I don't know how to set that boundary without upsetting management. What would you do?"

In my experience, this approach makes the listener very sympathetic and pragmatic, and they advise you to do what you already want to do (and subsequently stop pressuring you to change). I think this is because people like being asked for this sort of help, and when they enter "advice mode" they take a step back and look at the situation from an impartial distance.

YMMV, IANAL, etc., but it's served this awkward introvert quite well.

Thanks for sharing it, this is a very interesting approach.
This approach really depends on the manager. A manager who has a habit of bullying people will have no issues laying on more pressure/guilt/whatever... in this situation.

Personally, if I feel as though a manager has expected me to do something outside my contract, I just don’t even give it any thought. That’s their problem. If they bring it up I just tell them no in a rather blunt way.

I’ve worked with plenty of bully managers, but have myself never really been bullied by any of them. I’ve watched all of them bully my less assertive colleagues though.

As an introvert, what I like about this approach is that it does not close any doors, it just opens a discussion. Ofttimes that discussion is rapidly helpful. When it is not—when the manager is a bully, or oblivious—I still have the option to be more blunt. It's a diplomatic first foray into tricky topics.
Whatever works for you is great. I’d just suggest you be careful that you don’t first establish yourself as somebody who will tolerate bullying. Once you’ve laid the groundwork for that, undoing it can be much harder than just avoiding it in the first place.
This requires the other person to see the need for the work-life balance. Some people genuinely don't. For some work is always the priority.
Thanks. It is really good advice. Seems like dropping little bit of ego, gives lot back.
> How do I convey that I badly want to keep this job but those new terms are a non start?

You don't convey that you badly want to keep the job. You keep that under wraps. The terms are a non start. End of story.

On call is shitty and I wish it wasn't accepted they way it is.

Either hire people to work around the globe, or people that want to hire in shifts or accept that your product isn't going to be on 24 hours a day.

Even Facebook does on-call. So money can’t solve it. If you wrote the code and it breaks you’re kinda the only one that can fix it (in a hurry)
Any time you're called in for an emergency off-work hours, you should get time and a half, minimum of four hours paid.

Blue collar industrial jobs treat their people better than software usually does.

> called in for an emergency off-work hours

Yes this should be the only time your ever called in off hours, there better be a threat of people dieing. hah

The reality of oncall is the server is filled up because no one can bother to rotate a log file, so you get paged at 4am to delete a file.

I suspect we work at the same company :D
Yeah I'm being idealistic, but money can solve it, smaller companies do have teams around the world to do 24/7 on call.

Partially, i think its this way because it is accepted, no one seems to question it or push back on it. No one values their free time out side of work?

Also, Every time Ive been oncall I have been oncall for code I didn't write, I haven't even always have a job coding (ops/devops/sre roles) and have been on call for services. Or there's that thing that been neglected and unowned but someone needs to be oncall for it.

Start with, "Fuck you, pay me." If you try to be diplomatic with people who are trying to take advantage of you, they will eat you alive.
sadly I feel this is the best advice. Modern management are a bunch of feeding piranha when it comes to people who can do stuff.
It's the culture. We working stiffs aren't people. We're "human resources". Resources exist for but one purpose: to be exploited until they are exhausted. Once exhausted, they are abandoned in favor of fresh, untapped resources.

Not saying socialism is the answer, but is capitalism as currently implemented really that great a deal for people who work for a living?

Indeed, I feel this entire approach causes employees to adopt maximum disengagement, its the only response that preserves your sanity.

It always causes me to chuckle since its the exact opposite of what management say they want, and they seem to work very hard to produce this result.

"Nobody rose in Packingtown by doing good work. You could lay that down for a rule—if you met a man who was rising in Packingtown, you met a knave. That man who had been sent to Jurgis' father by the boss, he would rise; the man who told tales and spied upon his fellows would rise; but the man who minded his own business and did his work—why, they would "speed him up" till they had worn him out, and then they would throw him into the gutter."
where's that from?

edit: googled it - the Jungle, I've been meaning to read that

It will put you in an odd land of "special guy" if you refuse to do on call.

I've never seen or heard of on call mentioned as part of a hiring contract, but maybe others have. It's expected, if you built or helped build something, that you will be on call at some point. It's absurd to me you would avoid it, but maybe you're special.

absolutely and violently disagree. the hiring process should convey expectations, and the negotiation process is being done in bad faith if expectations are hidden. being on-call should be reflected in compensation. if on-call expectations are brought up after compensation is negotiated, that is a problem.
I agree it should be part of the compensation package, but not every place is that progressive (yet?). OP might bring that up, or negotiate some form of compensation (ex: day off after on call, whatever). But I tend to agree with parent -- having an on-call schedule that developers participate in is a normal part of professional software engineering (assuming services of course).
this is so alien to me. are you and GP talking about putting in long days during crunch time, or actual on-call rotations where you're expected to be available in the middle of the night? i agree the former is universally expected, but the latter? not at all, not without discussing it beforehand. that would be obscene. i am so boggled to hear people accepting and defending the practice.
I kind of locked in on my recent experiences when answering that. So I want to clarify -- its not expected in all orgs and is dependent on roles (e.g. if you aren't working on live services, it wouldn't even make sense). I would expect larger shops to have dedicated ops people or site reliability engineers who handle most of the duties. But I think small to medium sized corps that either don't have or cannot afford these would expect developers to handle crashing services, whenever they occur. Having an on-call schedule is a natural next step to prevent everyone from always being on call, or (worse, imo) prevent people from siloing and only fixing "their" stuff. I agree it should ideally be part of the job description, but don't find it unusual to be left out if the job otherwise fits the mold.
Start interviewing for other jobs just in case. Also, if you want to stay, try to find a way to compensate for not being on call. Provide an extra value to them beyond what everyone else is doing and beyond what is in your job description. That worked for people at my previous employer who didn't want to be on call.
If you are worrying about keeping your job you are not in a position to set terms at all. You must be willing and somewhat eager to lose it.
I won't tell tales about my current employer, but I'll tell the one about my previous one (without naming them).

I left because the code base for their main product was incredibly bad. Brittle, opaque, undocumented, buggy, and virtually unmaintainable.

That alone wouldn't have been a dealbreaker as long as the company saw the problem and we were working to fix the situation. That wasn't what was happening, though, because the Big Boss didn't agree that there was a problem at all, even though literally every dev was telling him so. He saw any effort to improve the code quality as a waste of time and money.

So, I had to leave in part because it was a terrible working condition, and in part because I didn't want my personal professional reputation to be damaged by being associated with that project.

Always be refactoring - work that shit into the ticket.
Yeah, that was my intention when I saw what I had to work with. But it was also specifically prohibited.
How do you prohibit making code better?

> for each desired change, make the change easy (warning: this may be hard), then make the easy change

And all that jazz...

Was your boss a super dev reading the code and calling out if it looked better?

> How do you prohibit making code better?

By instituting a "minimal change" rule. No code changes were allowed for general refactoring. If you're fixing a bug, only the bare minimum changes to address it were allowed.

If fairness, the rule was not entirely irrational. It was very difficult to make changes that didn't break stuff all over the place, and "minimal change" helped to reduce the short-term risk.

This did allow some refactoring to get sneaked in, of course -- sometimes a bug required rearchitecting code, which comes with the opportunity to refactor. And if you're adding a new feature, the new code can be properly done.

> Was your boss a super dev reading the code and calling out if it looked better?

Pretty much. He was involved in all code reviews. He single-handedly wrote the initial implementation, and I believe that he took any criticism of it, overt or implied, as a personal attack.

The truly scary part of this (for me) is that this is an enterprise product that is pretty widely used by major corporations in system-critical deployments.

I wrote about my experience at my current job a few weeks ago [1]. I just wanted to say thanks to everyone for all your support. I recently got an offer for the field I've always wanted to be in, with around a $25k pay raise too. It's such a huge weight off my shoulders to finally see a way out and I feel so much better, basic things like my appetite are back and I don't dread waking up. I already have so much more free time now that I'm not searching for jobs 2 hours a day after work. I gave my two-weeks notice this week and I'll have around 3 weeks off to decompress before starting - I'm planning on visiting Seattle, anyone have any recs?

[1] https://news.ycombinator.com/item?id=20951953

Hey man, I'm so glad to hear the good update. I was really worried about that other post and just wanted to tell you that it's not normal to be bullied at work. I've been on 4 very different companies, and never went to something even close to what you did.

Congrats on the new job! Be sure to enjoy your vacation, you deserve it!

Congrats! I moved to Seattle recently. The Space Needle and the Museum of Pop Culture (mostly if you're into rock and roll) are good tourist attractions. Personally I love the views the most (we have the Cascades and a few mountains/"active" volcanoes here, plus the lake/the ocean close by). A few nice parks in the area to check out too.
Glad it worked. Just trust yourself, stay positive and keep doing good work !
I remember reading the thread. Awesome to hear that you've made some changes for the better. Congratulations from this internet stranger!

Don't shy from letting us know how the new job is. If you feel like talking, please do. I am probably not in the same country, but sometimes it helps to just chit chat with someone in the same field. E-mail is in my profile.

Seattlelite here. So glad to hear you found a better job! Those hell gigs can really crush you.

Just to warn you it can get dark and rainy this time of year but there's plenty to do.

Recommended:

- The Underground Tour. A fascinating historical tour of the seedy gold-rush roots of the city.

- Pike Place Market. It's an iconic Seattle spot that has great food, a great view and great people watching.

- The Ballard Locks. This is the mechanism that keeps Lake Washington from draining into the ocean while allowing fish to pass through. Go when the weathers good.

- Mt. Rainier, the Cascades, great for hiking and skiing if the weather permits

- Breweries. We have tons of great craft beer, and our coffee is legendary too

Not recommended:

- The gum wall. This landmark is the grossest excuse for a tourist trap ever conceived.

- Driving in, out, or around the city on weekdays between 7 and 11AM or 3 and 7 PM. You're going to have a very bad timmeee...

Have fun!

There are other good replies for where to visit in Seattle, but one more: I went recently, and we went to this Starbucks Reserve. Sounds really dumb, but it was really cool and unique relative to any coffee shop I'd been in. Nothing to go out of the way for, but if you end up nearby (there's stuff nearby), drop in.

Otherwise for Pike Place, we did a food tour. It was overpriced, but looking back we both felt it was worth it. Kind of get to skip lines and try a bunch of really great food. Touristy of course, but so what.

In a previous job I got very close to a ‘them or me’ ultimatum. Then I got over it. Then we all got laid off.
Leaders that claim to be leaders but are actually managers.
I'm the sole developer working on my current project, which is overhauling a massive DOS era application, as well as overhauling an early 2000s era CRM/business management tool, that almost all of our work happens through.

Did I mention that the DOS application is a HIPAA billing application that must meet all HIPAA guidelines as well as write EDI X12 billing files?

I'm very junior, been coding for ~5 years, 3 professionally, but this is my first real dumpster fire. We were about to hire a second developer, but turns out he had a record. Not for just anything, which we don't really worry about, but for embezzlement on the healthcare billing application he used to own. So, no. No can do.

So now poor 18-year-old me is knee-deep in a ton of shit I don't understand, working on non-version-controlled code, having been expressly forbidden from using ANY VC by the CEO, and trying to get details out of my older supervisor who built the code we're using, but he's near retirement and has so many vacation days saved up that he spends maybe 10 days a month in the office. I honestly can't blame him, but I either need resources to help me deal with legacy code, or a nice entry-level rails job, because I want to finish learning rails.

> working on non-version-controlled code, having been expressly forbidden from using ANY VC by the CEO

I've been there. Run.

I'm studying hard, but learning new stuff while learning other new stuff is hard.
Listen. If not using version control is a problem for you, you're already more hirable than a lot of developers I've seen. Learning is always important but don't use that to procrastinate.

You don't have to go straight to the best job in the world. Just find something better (and do your homework to verify) and take it.

I'm in a small city, where not much work is available. I need to pad my resume a little more to make the work I do more attractive, but the reality is that LAMP devs aren't in high demand near me. I apply to several jobs daily, but not much is around. I'd appreciate pointers on how to improve my prospects, but the last place I interviewed was a seedy adult entertainment company, and I wouldn't have taken an offer if they begged, simply for personal reasons.
You said you're 18, you're young and hopefully don't have kids, so apply in other cities as well.

Yeah it's scary. But if the job is good enough, and the pay is good enough, then you've got to figure out why your bullshit reason for staying where you are outweighs both your mental health and your career prospects.

EDIT: And don't forget remote options.

God, at 18—or hell, at 22—showing the fuck up and not seeming entirely incompetent is a big deal. Show up, be engaged, do both consistently, and anyone who's not a total piece of crap will be all over giving you more responsibility and mentoring you up to bigger and better things. Total pieces of crap may still be interested, but it'll be in exploiting you (as in current situation). Oh, and ask questions. No one expects you to know diddly-squat, so ask away. Ask about stuff that's not part of your job description at all. People will tell you all kinds of stuff, and, incredibly, the whole exchange will make them like you more.

Phenomenally small amounts of give-a-shit go a long way for youngsters. It's basically their superpower, if they're willing and able to use it.

I know a bunch of remote-hiring places and if nothing else I'd be happy to help you figure out what to learn (and, probably, how to approach it) to GTFO. Email is in my profile.
If you're 18 and already know why version control is a good idea, you're very hireable in any number of cities/remote!
> I need to pad my resume a little more to make the work I do more attractive

A word of caution: One of my objectives as an interviewer is to drill into a candiate's resume to see if they actually did what they said they did. Its OK to talk up your accomplishments. But don't claim expertise in language X or technology Y unless you are prepared to answer some questions about it.

I interviewed a guy who's masters work was in the field I did my doctoral work in. I think I'm the only one in the company who knows anything about the particular topic, and considering that the role was far removed from that topic, it was a very unlikely coincidence. However, when discussing his research, he mostly missed the mark. It wasn't enough to sink his application as at the masters level I wouldn't expect him to know it nearly as well as I do, and he was ultimately hired. But, you never know who you're talking to.
Taken out of context, I agree with you.

But this conversation has been about them saying they need to learn more before they can get a new job, and me replying that they shouldn't use that as an excuse to procrastinate. Thus the `need to pad my resume` comment.

Leave the city. It doesn’t end well if you stay... unless you can get remote work (even then it’s risky), but you definitely have to leave the company ASAP
Magento shops are always looking for LAMP devs. A national recruiter told me they place PHP devs at the big Magento shops without the job ever existing.... There must be a Magento agency in your city?
When this goes sideways, and it will, they will try to pin it on you. You need to GTFO.
This is called rationalizing. Get out. Strategically, not on a whim. Hunt for another job.
(comment deleted)
I'm bewildered as to why a CEO would have any opinion on version control at all. Or why you'd ask a CEO whether you could use one. It's like a builder asking a construction company CEO if he can hold a hammer lower in his hand and that CEO forbidding it. Can someone explain?
A good friend of mine worked for a small company whose CEO also tried hard to convince him that introducing version control was wrong.

Of course, this same CEO also didn't see any problem with the fact that the password field in the login form was never checked against the database, because who would know someone else's login name?

Why is a CEO even getting involved in an issue on that low a level?

Unless these are 'CEOs' of 3 people tech companies, I guess.

OP said they are the sole developer on their project, so it sounds like they are.

Gotta love those companies where there are more board members than employees.

I'm not exactly at a fortune 500. I'm one of two developers at my company and it would be hilarious to me if my CEO (who seems like a nice enough guy) even knew what version control was.

Then again, this isn't a tech company.

Small company, maybe a dozen people total, only tech-adjacent, not a strictly tech company. The CEO (which, for a company this size, probably also meant owner and perhaps sole board member) and maybe a fee other people at most had built the site in question.
Why a developer would be asking a CEO for advice or opinions on either of these things?
The dev says himself that he is a junior, and it is very likely that the CEO of a tech firm has more than junior-level experience in technical matters. Even if he doesn't, it is still fine for a junior to ask his superiors for advice.

  - Hey Joe CEO, which version control do you think I should use?  
  - None, that's an order!
It was a small (tech-adjacent, not strictly tech) company, and if memory serves right the owner built some of the site in question himself. I dont know that my friend reported directly to anyone inbetween, at least not when it came to technical matters anyway.
Also run for all the other stuff you said before that.
> having been expressly forbidden from using ANY VC by the CEO

You can run a local git repo, no code would ever leave your PC. I'd do taht, and damn the torpedoes. If he is dumb enough to say no versioning, he'll never know you run it locally.

What are the arguments against version control here (if any)?

Honestly the project sounds quite interesting, but I can imagine the circumstances make it painful.

> What's are the arguments against version control here (if any)?

* I don't understand it

* You're overcomplicating things

* We're not using any of that free shit here

* It doesn't say Microsoft or IBM

* The last guy we hired that tried to use it was smarter than I was so anyone else who tries is a threat to my leadership. (because everyone knows you can only manage people who have a strict subset of your own knowledge. If one of your peons dared learn something before you, that would be the end of your reign.)

the list goes on...

> It doesn't say Microsoft or IBM

GitHub does, now, though I really hope that isn’t necessary for a company to adopt version control.

(comment deleted)
And Visual Source Safe and TFS did previously.
Why didn’t you just recommend Azure Repos? It’s a great product and fits what you need.

https://azure.microsoft.com/en-au/services/devops/repos/

* Azure means cloud and cloud means no

* It didn't exist at the time, but there was an on-prem that MS offered a few years back. It was forced on another department with no version control experience. It lasted about two weeks.

There are self hosted Azure products also.
On prem gitlab then? Just throwing out ideas.
I'm not sure what the answer is for version control, but I refuse to accept it's Git. I don't understand how it became so popular - did nobody say "wait, there might be a reason why Linus is known for cloning an OS and not coming up with a brilliant design for one from scratch?"
> I don't understand how it became so popular

Git follows in spirit the model of BitKeeper, a software that already worked exceptionally well for Linus and other kernel devs. So Git had both a known good design from the very beginning and a decently sized installed user base (kernel devs) with an important project (the kernel).

IMO there's nothing wrong with the cloning of software. You make it sound bad, can you give reasons?

Git is great. Lightweight, scales effortlessly, learning curve isn’t too bad, decentralised by design and because it’s so widely adopted it works pretty much everywhere.

What else are you gonna use? SVN? shudder

The learning curve isn't too bad? Do you actually use Git? Like, from the command line?

I have no issue with a friendly wrapper in general, but after starting with the basic interface, I don't trust a wrapper to be logical, complete, and well thought out, given the foundation.

Yes, I use Git mainly from the command line and I've used it on Linux, OSX and Windows. I've also used quite a few GUIs including SourceTree, Github Desktop and GitKraken. I've been using it for a while now!

In the end it really boils down to a few commands that you use often, checkout/push/pull/commit/clone/branch/diff/status etc. It can definitely get confusing at times when you get merge conflicts and want to start playing with rebasing and stuff like that.

I've used it with teams with no experience with Git whatsoever and they're usually fluent at the basics within a week or so.

If you get stuck the command you need is usually a 2 minute Google away.

There's also this which is fantastically named! https://ohshitgit.com

“We’ve never needed it before, so why do we need it now?” (actual argument against it at my current workplace)
My response:

You've never looked at a piece of code that you wanted to see the history of?

You've never needed to revert a single change a few hours/days/weeks later?

You've never needed to track down the person who wrote a piece of code in order to ask them for clarification?

You've never needed to see the original change reason for a line of code that is doing some weird, specific thing that seems out of place?

You've never needed to have two people edit the same file at the same time?

I've got these responses on a similar question: "we don't need to see the commit logs so who cares about them or the history being pretty and clear? Nobody is looking at the history!"!!

The question was "Let's submit pull requests as a clean job not as a homework draft. Why don't we allow push force on work branches so that we can squash fixup commits after review?"

Blows my mind that those are senior developers that are otherwise seemingly competent at what they do. There is some pinch of job security there though.

There are valid reasons for a "never rewrite history" policy, but their validity pales further you go from the master branch.

The thing is that in a lot of scenarios people need to do huge chunks of work in feature branches. Sometimes a 3000 line "refactor the world" squashed commit is really unhelpful. The best policy is always well thought of weighted case-by-case decisions.

However, on projects with a lot of hands on the keyboard such policy is unrealistic and someone will do the opposite of what they should and wont ask or discuss. People, especially in our business, hide incompetence behind aloofness and silence.

So in that case, with a lot of people that are hard to manage, stiff policy is the best choice and there probably are reasons why people want to preserve history, no matter how hairy it looks, at least it's there and you can find stuff in it.

I bet they are willfully blind to that difference.
(comment deleted)
* Someone used git to publish a HIPAA violation on github.
If HIPAA is a concern host your own server.

If you can't trust your employees to adhere to HIPAA or other mandatory regulations, you need better employees.

If your source code contains personal information, usernames, passwords, etc that should not be exposed to the public, you need to address that immediately regardless of any irrational stances on version control.

> "If you can't trust your employees to adhere to HIPAA or other mandatory regulations, you need better employees."

You need a better process. Developers aren't lawyers. Of course they should be aware of HIPAA requirements, but better is to ensure they simply don't have access to sensitive production data except in very controlled circumstances, while making safe anonymised test data available for anything they need test data for.

I've learned there are arguments that are not worth winning, and if you find yourself in one, your priority should be getting out of the situation that created the argument.
He thinks it's all cloud based. It's sad, yes.

I honestly enjoy the work when I know what's going on. We have a lot of unique problems to solve, and I have gotten positive changes made, as well as some really good weeks where I pounded out some good code, but other times it's slow, sad, and frustrating.

Big +1 for Gitea/Gogs, that thing will run on a toaster. Super low memory footprint and great for small shops.
(comment deleted)
?? Git works just fine without any of that. CVS has been around since 1990, RCS since 1982. And SCCS is old enough to be OP's father.
> ?? Git works just fine without any of that.

I echo your ??. Sure you don't need a central repository to use git. What does that have to do with suggesting some git hosts that aren't cloud based?

You can have a git repo on a server that developers use ssh to access just with git. The bells and whistles aren't part of the core job. It's just my general griping about software these days.
I get where you're coming from, but I still don't think it deserves a ??. Most people in most environments want a GUI they can click around in.

I'm very comfortable with git at the command line, but I still think it's valuable to have a web interface. For instance, with a web GUI I'm able to share a link to a specific line or range in a file in a specific commit.

Typically if I need to do that I'm asking a question or requesting a change, and in that case I want there to be as few barriers as possible to increase the chances that the other person cooperates. Asking someone to clone/pull the repo, checkout a hash, and then view a line in a file is a much higher barrier than asking them to click a link.

Good luck doing code reviews with a distributed team using that.
Linux is one of the most massively distributed projects in the world, and it just works fine without GUI review tools. If Linux devs don't need such tools like gitlab, why you?
Like others have suggested, use git locally, there's no need for them to be involved or aware of that detail. Do you consult them on what text editor to use?

There's a skill to learn in keeping engineering concerns to yourself. It's unsurprising when management or executives are faced with decisions in unfamiliar topics they err on the side of Nay. Your mistake is involving them at all.

this ^

Using git locally is a tool just like your code editor. There's no need to ask your boss about that.

Since you're the only developer it's mainly to make it easy to revert any mistakes and to have confidence in deleting useless stuff (that you can recover later).

> "What are the arguments against version control here (if any)?"

No good ones of course, but there is one that I think is superficially very compelling:

It keeps a permanent record of everything that has ever been part of the codebase. If HIPAA required medical and patient data to not be stored anywhere except under highly controlled circumstances, the CEO might be afraid that data might end up in version control.

And that's not an entirely unreasonable fear; developers writing a quick PoC could include data in the project because it's quicker than setting up the infrastructure required. And of course they'll later fix it, but the version control system will still keep a record of it.

Of course there are tons of bad practices about this, but here's the thing: bad practices do happen, even if it's just as a temporary measure, and version control will create a permanent record for that.

Of course the right way to do this is to ensure that the developers only have access to anonymised test data and not to real sensitive production data; and to ensure that production data is always and only stored under the proper, secure circumstances required.

It's still a red flag, but the reasons might be more subtle and complex than simply "I don't understand it".

working on non-version-controlled code, having been expressly forbidden from using ANY VC by the CEO

Did the CEO give a reason? I'm a bit curious based on it being billing and HIPPA. Also, are you rolling your own EDI import/export?

HIPAA
I don't work with HIPAA but with other compliance/regulations NOT using version control is the problem.

Unless you have patient information hardcoded into the source code for god knows what reason...

Things that might be hardcoded are access keys and passwords to PII databases.
Which is bad practice for lots of reasons and, is that a HIPAA violation? Your code also has it then.

Hosting git externally might be an issue though.

You're not storing patient details in VC...... Right? Maybe show him that you can run svn even on his own machine... Anything... Anything is better than not using something
I've work with HIIPA and VC. No issues, as long you do not store patient information within the source code, I cannot think of any reason why you would need to do that...
I worked at a place that is extremely concerned with HIPPA to the point of having many specialist lawyers. We were required to use version control.
I work with HIPAA and SOC2, this is ridiculous. Your boss is misinformed.

Just show him that you're literally only committing code, and not any real data in the repo.

CEO doesn't like "the cloud", and VC is obviously that to him. I do use it locally, but that's about all.

Yes, I just wrote an EDI exporter in Ruby for Medicaid services, working on one for MCOs now. Thankfully we don't have to import EDI, or I'd go nuts.

I didn’t see any contact info on your profile but if you’re looking for a Rails gig, let’s chat. Ping me at my profile email.
Seriously, the GP comment makes me wish I had a job to offer, not just due to sympathy but because any 18-year-old who is even sort of managing to tackle that problem and also knows that lack of VC is a serious red flag is probably worth an interview.
>having been expressly forbidden from using ANY VC by the CEO

Well that's really fucking stupid of them. Maybe they're worried about evidence of old HIPAA breaches existing after the system gets updated, and doesn't want to explain that logic? On your local development station:

  mkdir repo
  cd repo
  git init --bare
  cd ..
  git clone repo project_folder
  cd project_folder
  cp -r ../<path_to_project>/project project
Congratulations, you now have version control for local development that your CEO never has to know about! The only reason I'd suggest an extra folder (horribly named project_folder in the example above) is so that you never accidentally copy the hidden .git files when moving it from your dev station.
https://stackoverflow.com/questions/505467/can-i-store-the-g... you dont need to copy files, just tell git to store its data in another dir
Wow thank you so much for this. There's some stuff I've been working on which I want to sync to Dropbox as I type but without the .git being synced too. Up until now I've just had to deal with the .git files being synced with Dropbox. But now it looks like I finally have a way of moving the repo!
If your bosses are concerned about Git, then they will likely have a fit over Dropbox. Get permission first, it is not worth your job.
it is not worth your job in a thread entitled "who wants to be fired"?

This entire thread discussion is filled with it's not worth it, but towards the "no one should be forced to work like that" kind of way

The Dropbox comment is from a different user.
It likely is because of accidentally storing PII randomly in a hidden folder.

The data and application code are probably very intertwined, rather than portable code that could be plugged into any kind of stage database.

> working on non-version-controlled code, having been expressly forbidden from using ANY VC by the CEO

Version Control is a basic requirement of professional software development in this day and age.

You could try explaining to your CEO it would be like telling a carpenter they can't use a hammer to build your new house.

Or just take the initiative and use Version Control without telling them. In my mind it isn't something you need to ask permission for.

This is bad advice. If you accidentally leave personally identifiable healthcare information on some random stage server and that server gets hacked, that is a federal crime. If the data and application code are very intertwined (likely in a pre-SOA era), it can be very difficult to version control code completely isolated from PII.
> If you accidentally leave personally identifiable healthcare information on some random stage server and that server gets hacked, that is a federal crime.

Not sure how that relates to Version Control? I personally don't put production (real) data on staging servers to begin with; always scrub your production clones or generate data for testing instances.

> If the data and application code are very intertwined (likely in a pre-SOA era), it can be very difficult to version control code completely isolated from PII.

Maybe I am naive (never had to work on DOS), but shouldn't the data be in a database/datastore/data directory that can be ignored by source control?

(comment deleted)
Huh? Why would the code have medical data in it?
If you were to take an api response and save it for testing, but not completely remove all personal information.

Easier than you'd think, or at least I could see it happening.

The CEO has likely given this directive to avoid a paper trail. Any attempt at rationalizing with the CEO will be a waste of effort when this person could (and should) be focused on finding another place of employment.
Apparently (according to a carpenter friend) - if the carpenter uses a hammer on a modern build it means something has gone wrong - they're normally using nailguns or similar to put things together - hammers are to bash them back apart again or knock them into alignment if they weren't done right the first time.
LOL, yes nail guns are the more efficient tool these days, however I bet these carpenters still have a hammer on their tool belt and use it at least once a day.
Hammers can also be used in awkward to reach places that a nail gun can't get to. Also, structural timber is very rarely straight or true. Knocking things into alignment is a very common part of framing, and hammers can achieve sub-millimetre accuracy with gentle tapping.

Yes, nail guns are awesome, but hammers are very useful tools.

And to bring it back to the original poster - barely a day goes by that you don't need a ~hammer~ ... version control history.
I've done some work as a builders labourer. Admittedly ~18 years ago.

Nail Guns are awesome. Pneumatic, butane/battery and powder actuated all have their place and were heavily used. Always had a hammer on my belt though.

In particular, it's hard to use a nail gun to fasten a plate, hanger or bracket.

I always thought it is more like making a building without a scaffold: when you're on the ground floor it doesn't look bad, but the more you build....
Yo, git can be used locally. I highly recommend it.
this whole story probably just boils down to people not understanding the difference between github and git.
You do know that HIPAA violations can land you in jail, right? Run. Don't walk. Vacate immediately. Leave.

I'm finding myself hoping that this is a fake, because I wouldn't wish this situation on anyone at all.

This might be why the CEO doesn't want version control. It's extra evidence
Unfortunately wouldn't be the first time I've heard something like this :(
Not just jail, you are also now personally liable. Meaning your personal assets are on the table for a lawsuit (at least according to Stanford’s HIPAA training)
You won’t go to jail if you do nothing wrong, but legal fees. Ugh, yeah, you’ll be in court as a witness and possibly defendant if you don’t leave ASAP.
Or if they have a better lawyer than yours.
Well that would be the OCR. It’s doubtful they would waste a lot of resources going after a developer, unless they really thought he had done something. Usually they go after leadership.
And then leadership hires good lawyers that do their best to deflect the blame to the developer.
> be in court as a witness and possibly defendant if you don’t leave ASAP

Might be able to quit the job, turn them in for HIPPA violations and also claim unemployment (source: I did this at a job that was violating HIPPA)

Yeah...as someone who works on HIPAA compliant software, this sounds very scary to me. We carry a $1M insurance policy at all times. Did you sign a business associate agreement?
They always use the entry levels for illegal shit-burning jobs. Have been at several factorys, where middle management asked for a slight change to the security software on the safety plc- of course only informal- we are all friends here. If you do that, you are liabel, if anything happens. Do not do jobs, where you do not have email communications about the job.
This was my first exposure to a professional development job, but for medical transcription (we had a billing dept too). I wasn't even hired to do it (I was hired as help desk staff), but the application neeeeded updating and the 2013 HIPAA omnibus had just dropped so we were on the line to get in compliance and no one else was stepping up. I had to learn as I went. decade old, undocumented code written in old .NET and (some) Java 6.

No version control, running on Win2000/XP, ancient beige box hardware (some with turbo buttons).

I was 19 and making $9 an hour. I got fired for automating my help desk tasks so I could bring us up to date.

I don't think anyone has gone to jail for HIPAA violations who wasn't intentionally misusing or stealing PHI.
not a lawyer, but I think intent is a big piece. That said, if you ever feel pressured to do something that you know, or even think, might "not be quite right", diplomatically argue your point and get things in writing. Even an email thread between you and a manager is good. The idea is this: if the fecal matter hits the oscillator and auditors come in, you want evidence that you were doing what you were told, despite your protests.
Unless you're boss tells you to do something so egregious that after the fact it will look like you're stealing or committing fraud you'll be fine.

If your boss says "Hey download all of the PHI for these celebrities to a flash drive and load it on your computer at home" you should definitely say no or get it in writing.

But if your boss says "hey I need a copy of George's medical records, e-mail them to me" as an individual you won't get in any personal liability for it.

If you're that young (18??), you can almost definitely afford to quit tomorrow and look for something better.

Never sacrifice your own career for your employer's success (within some time horizon.) Being willing to quit when your boss is a clear bad actor is a core part of this.

Quit. Period. Maybe find a new job first. But don't stick around.
(comment deleted)
If you're that young (18??), you can almost definitely afford to quit tomorrow and look for something better.

It very probably is the opposite. A lot of people who end up working at 18 are doing it because they need the money and their support network is poor.

Can confirm. Been working as a SWE full time and trying to finish my degree since 19. I would not take this pile of stress if I had a pile of money.
That's a good point. If things will go to shit if you quit, by all means don't. But regardless look to secure a job before quitting.
It's hard when you're young (no savings, car payment, whatever).. but it gets harder before it gets easier.

This is a time in your life when you're (hopefully) not supporting anyone else, don't have a ton of possessions, don't have a mortgage, can couch-surf, eat ramen, etc.

Well, yeah, no. Family is leaving the country, S/O got kicked out, and I have a Great Pyrenees.
You are 18 and been working professionally for 3 years. Well done. All said and done this is what matters. Real life experience over university education.
One thing for GP to consider: I did the exact same thing (worked for three years in software development), but now I’m back at school in college. This obviously depends on if you think school is worth it (I did), but I wouldn’t be surprised if my work experience before college helped me stand out in the application process. Either way, good luck!
Wow. Just wow. Run. There is no way this will end well.

No version control = no way.

You're junior in years, but 3 years working professionally makes you perhaps less junior than you think. It's right around the point it becomes easier to get other jobs.

I worked for a "CTO" who didn't allow us to use version control either. This was from 2007-2010. I am surprised there is a company TODAY that does this, but I guess I shouldn't be.

The reasoning behind not using VC was that it "caused more problems than it solved." His solution? Code directly on the production server. Yep. You heard me right. Let me say that one more time. Code directly on the production server. We eventually finally won a development server and wrote some bash scripts to deploy from there, but we never actually got SVN or anything. Imagine working on five person development team with no version control.

The guy was a serious joke. The VC issue is just one of many. A serious despot. The guy was hated by all. We laughed at him. Why would I stick that out for three years? I had zero experience when hired. All of us were very green. We were all just putting in our time to hit that magic three years experience checkbox we needed for the next level gig. The CTO was more concerned with appearing to have a large department and having developers working on lots of different things, than actual quality. We wrote some pretty terrible code back in those days and we did a lot of it on a production server during business hours.

We all left at or around the three-year mark. Month by month the "CTO" lost developers faster than he could replace them. The "CTO" was eventually fired and we laughed from afar.

You are being taken advantage of like I was when I first started. You are cheap labor. Your CEO doesn't care about the product. Your CEO likely doesn't care about your career development. The sooner you leave, the more you will learn and grow. That was my experience.

I'm the GP, on my work account. Yes. That is exactly what we do. It's horrifying.
The good news is that there are fantastically good shops to work for (you should start looking for one), and that you'll have some good stories to tell about the hellmouth that was your first company.

But yeah, get the heck out of there.

> Code directly on the production server. Yep. You heard me right. Let me say that one more time. Code directly on the production server.

What a coincidence! We have a customer that is having a strange, hard-to-nail-down problem with our software. We asked if we could provide a diagnostic build to them that they could run in their test environment to gather additional information about what was happening.

Their reply was that they didn't have a test environment. They just install any software they get directly to their production machines.

Complete insanity.

Before quitting, try your best to make changes that will reduce stress and improve the project's manageablity with or without permission. Your work sounds so mission critical you could probably do whatever you want with no chance of getting fired.

Just be able to justify your action and communicate your decisions clearly. You'll start earning respect and that alone will reduce your stress levels. Standing up for yourself is hard to do at any age and "learned helplessness" is a concern if you don't push yourself.

I worked in insurance for over five years (at a Fortune 500 company). I had annual HIPAA training. I was in claims, so I'm not sure how pertinent this will be to your needs, but here is some stuff I remember:

1. HIPAA has a minimum necessary standard of disclosure, which means give only however much info you must give to accomplish the task in question.

2. You need at least three pieces of identifying info to positively ID an account, such as name, address and account number. (Other possibilities include: Social security number; date of birth; phone number.)

3. When disposing of papers or other media containing covered information, it must be destroyed, not merely thrown out. This means papers, floppy disks, etc must be shredded.

4. If you're printing a lot of papers with HIPAA covered info, you should have a locked trash can for any papers you are discarding. Presumably, this is merely a holding bin until it gets shredded.

5. Papers with pertinent info should be turned face down if anyone comes to your cubicle to talk, even a coworker. Ditto for papers coming off the printer containing covered info.

6. You need an annual HIPAA training program to remind everyone of a lot of the above (and likely other things I'm not covering).

7. Computers should be password protected when you walk away from your computer.

I guess the short version is: When in doubt, err on the side of making sure the information cannot be accessed by anyone who isn't using it to accomplish the purpose it is intended to serve. Also, you can't go flipping through covered info for funsies. Although you have authorized access, it's only authorized for a specific purpose.

> 6. You need an annual HIPAA training program to remind everyone of a lot of the above

When you say 'need' do you mean 'legally required to' ? I wonder if that could work to the advantage of the poster, in that if they left because they became aware that things are not being done correctly and they have never had any such training, the legal responsibility would reflect back on the employers who had not provided such training to an obviously inexperienced employee and the CEO in particular who is the person who should have known to do that.

I am not in the USA and I think the UK has slightly better employee protections and lines of legal responsibility, at least in some areas (such as Health & Safety) but who knows..

HIPAA requires organizations to provide training for all employees, new workforce members, and periodic refresher training. The definition of “periodic” is not defined and can be left open to interpretation. However, most organizations train all employees on HIPAA annually. This is considered to be a best practice.

https://www.medsafe.com/blog/compliance-topics/7-common-ques...

I was sort of in a similar situation when I was your age - in over my head at a complex project where the owner had never heard of version control (though in my case, I was too green to realize that it even existed). They had 30 copies of the same software, one in a folder on a shared hard drive for each customer. If there was a bug and it wasn't specific to a customer, you had to go fix it in 30 different places.

I promise you, if they don't want to provide version control they aren't going to provide you with other benefits and necessities that you deserve.

Related questions to benefits and necessities:

* Are you getting healthcare? * How is your pay compared to other Jr. software engineers in your area? * Are they paying you hourly? If so, are they actually paying you for hours worked, or are they finding ways to reduce that number of hours? * What if you demanded that they used version control, and brought your best arguments: what would they say?

Consider the answers to those questions, and if you don't like the answers, I strongly urge you to leave. There's a complacency that can come with "settling" for a place that is a "known constant." Don't settle here, when you deserve more.

Put what you've done on a resume, and give it to a headhunter. They will find you a better job - maybe not an ideal job, but a step up. And your career will truly begin.

Ghost this job immediately. It's a clusterfuck waiting to happen, and your bosses are going to leave you holding the bag when everything turns to shit.

You're a programmer, not a fall guy. You aren't getting paid enough for this.

Everything about this screams that you're being set up to fail, and given the circumstances "failure" might mean jail time.

There are plenty of jobs out there. Go get one, _today_, please!

Same boat, similar level of responsibility and I’ve been programming 20 odd years.

I accepted an offer yesterday, 35% pay bump, 5 extra holiday days, twice the bonus cap and all of that pales against knowing I’ll never have to touch that fucking codebase under unrealistic constraints again in a short time.

In stead I get to run a team, in a much bigger company with proper modern development practices.

When they rang to tell me it was mine if wanted it I was literally shaking, it felt like an elephant had stepped of my chest.

Until that point it really hadn’t occurred to me how unhappy the last two years at work have been, fighting the worst undocumented codebase I’ve seen two decades was a long slog, doing it alone for people who don’t understand the issues just made it worse.

Will be putting my notice in next week.

As someone 20 years older than you, get out and get out soon.

You are damaging your future career chances by stagnating in a job that won’t teach you how to do things better for your future.

My suggestion if you need one is to make a lateral movement and offload your problem to your CEO. Go hunt for another job.
> expressly forbidden from using ANY VC by the CEO [...]

I read this and thought this could be because the CEO only thinks of version control as "GitHub", and is worried about putting sensitive information in the "cloud".

Have you considered discussing this with your immediate superior? Not using any VC is a disaster waiting to happen...

Probably they should stop using internet too, just in case, bad people lurk around there, they say.
Giving a demanding task to a junior is usually how they improve and learn, but what you describe here is just a big pile of management incompetency. Escape.
If they require that you don't use version control but at the same time want it to be HIPAA compliant you need to walk right now if you have options, ASAP if you don't. You're being set up to be blamed if anything goes wrong.

Change management is part and parcel of anything in the medical software domain, and VC is an obvious part of that.

Three things:

1. I’m impressed that you’ve made it this far.

2. This situation has ‘get the fuck out’ written all over it. It’s time to dust off your resume and get out of there.

3. I don’t think you’ll have any trouble. You seem like a good writer and I bet you’d be a good developer to work with.

Best of luck bud. I wish I had a concrete way to help you.

No offense, but starting to code professionally with only 15 years sounds... a bit strange? I mean, I started coding with 10 (~20 years ago), and the easily available tooling was much worse back then than it was 5 years ago, but if I was your CEO I wouldn't put anyone with that little expertise and (I suppose?) no formal training on such a project alone (it's something else if you're working with a senior dev from whom you can learn). And when I was your age, I wouldn't have done anything that might put me in jail if done wrong.

Also, please pass this message from me to your CEO: He's an idiot for not letting you use version control.

Leave asap.

This all sounds so similar to my situation that it's scary... but I'm 40. Getting out is proving difficult because of age discrimination.
This smells like you are being set up to take the fall for something. Possibly something with really serious personal legal consequences. This is way, way worse than being underpaid or working for abusive jerks. No way it's worth it, I'd say quit now, even if your immediate alternative is working at Wal-Mart or something.
Seriously, leave now! While you can.
I know the feels but I'm a bit older. I am currently rewriting an old web forms app. Source code is outdated and not what is in production. Some methods are 1500+ lines of code. This project is dumpster fire but at least I can vent to everyone and they agree. Plus, I don't have to deal with HIPPA good luck brother!
>I'm very junior, been coding for ~5 years, 3 professionally

I agree with everyone else commenting here. This is a disaster waiting to happen. You are also limiting yourself by not working with people who will mentor you and show you the correct way to do things.

You're experienced. You can find a new job. DO SO IMMEDIATELY. FIND A NEW JOB, NOW.