HN user

EdgarVerona

692 karma
Posts0
Comments184
View on HN
No posts found.

For me, around age 12 when I started using BBS's in ~1993:

1) I exclusively used it to play door games, mostly LORD, Exitilus, Usurper, and Trade wars 2002. Logged in daily if my parents allowed me. I no longer remember the name of the program I used, just that it was in DOS and I was connecting using... I think it was a 2400 baud modem iirc

2) my oldest brother (15 at the time) was informed about it by one of his friends, and I was the annoying tagalong younger brother who had to join along.

3) My experience was that we logged into a very local BBS, run on 3 lines by some guy who lived in the same city as us. I don't know how many people used the BBS as a whole, but I recall there being a couple hundred Legend of the Red Dragon players.

4) LORD had a bulletin board chat, and it was mostly people bragging or trolling each other. So not too different from gaming chats today, though perhaps a little more tame back then.

5) In the door games, no one talked much about things outside of the game unfortunately. I wish I had thought to check the other features of the BBS when I was of the age when they were still around.

Yes, but the situation was much different than the one you have found yourself in.

As an "intern" I found myself at a very small company - literally just my boss, his son, and me. I was the only programmer. I loved the autonomy that came with being the only one who knew how to write code, and they were in desperate need of it. There was a lot to do, and they had a dream I believed in. I worked there - sometimes I even slept there I worked so late - for five years. They ended up giving me a salary of 48k per year (in 2006) and no healthcare or benefits. I worked every weekday and most weekends, lost contact with friends and family, and ate terribly because I wouldn't even take time to try and make healthy food. Spent those five years cramming shitty fast food down my throat every day.

There are several warning signs that are hopefully plain as day to people reading that.

1) an "internship" should be tightly directed learning under a mentor. If you are the only software engineer at your "internship" what they are really looking for is free labor.

2) No software engineering job should pay 48k in America.

3) No full time job should go without health insurance.

4) Under no circumstances should a person work 60-80 hour weeks, but particularly under that horrible pay and no benefits.

I stayed because I felt a misguided sense of loyalty to them, and because their desperation to make their small business work meant that I got a huge and diverse array of systems that I got to build, and I got full autonomy to build them. There was something deeply addicting about that: addicting enough that I didn't even think about how my finances were crumbling and I hadn't seen a doctor in half a decade.

I finally woke up from my addiction when I started encountering health problems and couldn't see a doctor.

After a lot of soul searching, I left - and instantly upon finding a new job realized just how badly they had abused my naivete and sense of loyalty. I make many multiples of that income now, but I will never regain the lost health, lost friendships, and years of earning potential.

My advice to people is that, no matter how fun the work involved in the job ITSELF is, you need to still take an honest assessment on a regular basis about whether it is worth it. Even a very fun and fulfilling job can be killing you, or underpaying you, or distancing you from your family and from other opportunities.

In your situation, you are earning a reasonable wage and it sounds like you are not being stretched thin by it. Feel free to look around, but I don't see your situation as dire or necessarily in need of change.

I don't think people can realize how bad the "inglorious" side of software engineering can be. That isn't to say don't look and see if you can find better, but recognize that you are already in a great situation. And also one where you can either comfortably look for a new job or do your own side projects to learn and grow in ways your job might not be providing.

I'd summarize it as:

Hard Work + Market Analysis + (Massive Luck OR Large upfront funding OR Large and relevant network of personal connections) + Luck IRT externalities that can impact your business

I wasted my 20's because I didn't understand the formula above. I worked for a small startup and I thought the idea was great. I worked 80 hours a week and churned out massive improvements to the product as they pivoted over and over trying to find a foothold in the market. But now I realize that the failure was because of both a lack of market analysis and a failure in that third term: we had neither luck nor upfront funding nor a network of REAL connections that could make things happen for us. It was a recipe for disaster: for wasted effort and a wasted era of my life before I woke up and realized how unlikely it was that we would turn the ship around.

The unfortunate part is that the third factor - the Luck or funding or connections factor - is mostly only influenceable by how successful you already were before you started the venture. It is the "success begets more success" factor that is unpopular to talk about among people who want to believe that their success came exclusively from the sweat of their brow.

I feel like a large number of software engineer positions interview as if they are looking for computer scientists.

The distinction is subtle, but important in terms of what is needed for the role.

Most software engineers are going to be asked to solve problems and actively avoid recreating algorithms and libraries from scratch while doing so: it represents added time, risk of bugs, and complexity to do so for minimal gain in many cases.

For most software jobs, the more important role when it comes to algorithms is in choosing which algorithm is most relevant to a task, not implementing it from scratch. To do so is often wasting your companies' time.

It's unpopular, but most software engineering (including most of my own career) is closer to a plumber than a scientist. And you know what? We provide a lot of value as plumbers, as unsexy as it sounds.

It's for these reasons that I think leetcode is an unsuitable test for most software engineering positions.

Agreed with your concerns, though to me it sounds like this guy in the article is also trying to limit his hours spent on learning and side projects outside of work, which is healthy. But I think the case you bring up is more interesting and prevalent in our field.

I used to be the guy who lived in software development. Lived as in spent every waking moment doing something with development, including working stupid hours that in retrospect could not possibly have been productive. I woke up one morning and I was 30 years old, divorced in large part because I lived at work, had developed diabetes because I didn't take care of my body, and almost friendless because I chose my computer over my friendships nearly every time.

That wasn't living. When I finally woke up I realized that I had wasted my 20's: I was an addict getting a fix, not some genius reaching enlightenment.

Maybe some people are able to do both, but when I had that realization I decided to leave my software endeavors at work unless I knew it was a side project of a very short duration. If I wasn't being paid at my 40 hour a week - and not more than 40 hour a week - job, I needed to actively resist plunging into it as a default rather than vice versa.

As a result of this, I know I have become a worse engineer. But I also have a wife and kids, several hobbies, friends I care about who care about me, and while my health will never fully recover from developing diabetes I would say that I am in astonishingly better health than I was at 30. I will take that over my addiction to the software treadmill.

Whether this would work depends on the kind of system and the deadlines imposed by external needs of the company.

Does your system have a lot of (intentional or unintentional) emergent behavior, like a sandbox-heavy video game? You could end up never making a feature again.

Do your customers expect the frequent shipping of new features? Unless you can sell them on the idea of unexpected or infrequent addition of features, you could quickly lose your core audience.

However, if it is a product that no one is expecting tight deadlines on the release of new features, or the product's purpose is straightforward enough that there is no intentional emergent behavior in the system, then I could see someone running it in this way. I don't mean this in a cheeky way: there are definitely products that fit this criteria. It just won't be something that every product can reasonably do while also expecting to retain their user base.

I have been reading a book that was recommended to me, "From Strength to Strength": and while it is cheesy as fuck, the theory it presents is interesting and has made me think a lot about what has been driving my identity for the past 20 years, and how to pivot from an "addiction" to problem solving into the latter years of life, where you will more frequently be asked to rely on strategizing and helping others to succeed rather than performing the individual contributor tasks that you relied on for a feeling of fulfillment up to this point.

Maybe this will help you too, but I would recommend skipping the intro chapter if you do decide to read it. I almost put it down because the example being given in that chapter was so obviously fake and contrived. But ultimately I am glad that I continued reading it and would recommend it to someone in your situation.

How do you get around the CAN-SPAM act and GDPR for the sending of emails in response to posts, when the people being sent them haven't already signed up on the site?

I had to bend over backwards to try and make a workaround for that issue, basically by letting people manually send invite links if they weren't already registered for the site because of the restrictions around who you are allowed to send emails to, when, and for what purpose. It's a real pain in the butt, but maybe I didn't have to go that far?

It was articles like this one that got me paranoid about it, really set back my prototype as I went around trying to change features related to email as a result:

https://privacyvox.com/news/social-media-inviting-non-user-f...

This is great!

Coincidentally I've been working on a prototype that is almost the exact same idea. I had very similar motivations and a feeling that "slow social" (I was calling it the same thing even!) is something that can potentially break some people free from cycles of nonstop engagement and the unexpected downsides of always on, public and sharable social networks.

I hope you have success with it! Know that you're not alone in feeling like we need a solution like this. I think I'm far enough along with my prototype that I might as well see it through to completion anyways, but either way it's heartening to see that folks are feeling the same way I am about social networks.

"The company in a court filing said it has between $1 billion and $10 billion of both assets and liabilities."

Is it just me, or does this seem like a pretty wide estimate range?

I worked there in the old days when I was in high school (late 90's), and one of the most disgusting stories I have about a job is when I went to refill the orange juice dispenser machine, and a giant swarm of flies were all over and in the top of the machine. In the orange juice, all along the sides of the inside, and flying around like a small swarm when I opened it.

I yelped and stepped back. A manager rushed over to me, slammed the lid shut, and told me to not tell anyone.

I quit a couple weeks later.

This is the approach I like as well, with the caveat that the stores procedures themselves should be kept as dumb and as late in the process as possible.

I have made many mistakes in my career in terms of systems that were either overly complicated or inefficient or both, and it has almost always ended up boiling down to either trusting the SQL that an ORM produces, or putting too much of the business logic in hand crafted stored procedures. I have done both, regretted both, and nowadays advocate for sticking to simple, predictable, and dumb stored procedures so that you can both have the benefit of knowing/controlling exactly what will execute in the database and having things like validation occur code side whenever possible.

In the real world, that simplification of stored procedures isn't always possible. But if it's your starting assumption, then you can fight for it until you are certain that there isn't a practical alternative to pushing the logic into the stored procedure. And if a compromise of these principles needs to happen, I would push complexity into a stored procedure before trusting the SQL produced by an ORM every time.

But where I fall on that spectrum may just be due to the severity and types of problems I have seen happen with each approach, do YMMV. And I wouldn't go so far as to call myself an expert, so also YMMV on that front. I am just a guy who has made a lot of mistakes. But if it'll help others, this is my takeaway.

At this point, I will take any and every mix of non-polluting energy we can get.

I do worry about the stability-of-nations risk, but I think if we could plan as a global community for such contingencies we could come up with plans for securing or perhaps even permanent shutdown of nuclear facilities in the event of the collapse of a nation.

Ultimately, I think we are at the point where we need to take more drastic action, and nuclear can certainly fit into that for avoiding the worst outcomes of climate change.

I also hope that we come to a point as a society where we are willing to make and enforce laws that will help us prevent a similar event as the ones that brought us climate change. We were systematically and intentionally lied to, over and over, by oil and related industries. Technology that would aid us was scrapped for the sake of short term profits. Scientific analysis was hidden. Lobbying allowed the practices to continue. Lies were allowed to be propagated to the public to the extent that, even today, many people doubt climate change is even happening despite overwhelming evidence. These need to be crimes, as they have real victims: and unlike many person-to-person crimes, these corporate crimes can affect our entire society.

You did good, and I am proud of you.

We must begin to treat our profession with the care due to it - recognizing the negative impact it can have on human lives, justice, and freedom when it is used with harmful or careless intent.

The ACM Code of Ethics is the closest thing we have to our own Hippocratic Oath, and I encourage all engineers to read and take the serious obligations we are charged with to heart.

Ultimately, much of this argument feels pedantic. Yes, people are giving oversimplified descriptions of what's going on when they say dopamine is "addictive." That's because it's easier to describe than incentive salience - but ultimately, the end result is what they care about. It's the behavioral conditioning that people are upset about, which is experimentally proven to be both effective and intentionally leveraged by many industries with great "success."

I do agree with his statement that we need to talk more about the complex reasons for that behavior on top of behavioral conditioning, and that people caught in those cycles can and should leverage the means that we have at our disposal to undo that conditioning when it is harmful to them (with professional help as needed). But I think it is absolutely valid to talk about how behavioral conditioning is intentionally leveraged in the design of many products we use, in casinos, etc. And that it is not something that people can or do consciously notice.

Before people can help themselves, they need to even realize there is a problem in the first place, and that is one of the dangerous things about behavioral conditioning. Conditioning is the very mechanism by which we learn new behaviors that become integrated into our life: and as such, it is very easy for a person to fall prey to operant conditioning and for it to just feel like "life as normal," even when the patterns in your life have actually changed dramatically.

In particular, I think it's important for us to be aware of behavioral conditioning as an intentional design choice of the products we use and the entertainment we engage in. The more we are consciously aware of it, the more we can develop the sort of meta-cognition that allows us to notice when we fall into patterns of conditioning that are harming us more than helping us. (note that you can also be conditioned to engage in behaviors that are helpful too! So being aware of what you are conditioning yourself for is as important as whether/when you are being conditioned)

On a related subject, I do feel like there's been real, tangible moral harm done to our society by reinforcing the idea of debate as a competition in children. When we reinforce certain behavior, we shouldn't be surprised when that reinforcement extends to the rest of their lives.

When we turn debates into something that is "won" rather than something that is seeking a refinement of what we know as truth, we encourage people to use deceptive tactics: to appeal to straw men if they can get away with it, to distract from the issue if they can get away with it, to do whatever they can do to win. That's how you end up with blowhards like Ben Shapiro: people who are more interested in winning a debate by any means necessary and reinforcing their existing belief systems then discovering truth. You get a thrill out of "victory," but it is less than hollow when it's won by appealing to fallacious arguments: it actively works against our ability as a society to understand the concept of truth. And it is so easily abused by people with malicious intent.

Yes, exactly: there's a definite distinction between hoarding from fear and hoarding for a desire to profit/exploit disasters. The latter just make the former worse in a disturbing feedback loop that has led to empty shelves.

That is a good point, and if that was an outcome of this situation that'd be great, as long as people who otherwise can't afford/can't find toilet paper can get their hands on them. On a personal level I think bidets are fantastic. I'm not sure why they didn't spread in the United States.

The problem is also with the industry itself, particularly if it's perishable. If this continues much longer, there's going to be a point (and perhaps it's already there? We don't get numbers about capacity - though I'd love to see it if there are numbers available!) where these companies reach peak capacity, and would have to incur significant investments in order to scale: investments that would become a detriment once the market comes back to normal, particularly if everyone has a glut of stored supply by the time this has ended.

To bgorman: (apparently I can't reply directly to you, there's some nesting limit in Hacker News [EDIT: apparently not? I see a "reply" button now where it didn't exist before? odd])

I would much rather be able to buy one package of toilet paper for 50 dollars versus being able to buy zero for 5 dollars.

Yeah, because you have 50 dollars to spend on that. What's a person supposed to do who is only barely making ends meet? Do they forsake eating so they can wipe themselves? Underpay their rent? Go into debt so they can wipe their ass?

My point here is that this isn't an either/or situation. There's other alternatives, though some people won't like it.

Rationing - at least by stores if not by the government - is one that we don't like these days, but that has worked for us in historical times of trouble.

This law is meant to be another alternative. It's certainly not perfect - I'd have taken rationing initiated by stores over that - but it is an alternative to the "pay 50 for a roll or not have a roll at all" options.

I was about to respond to you with the same response I made below - but it turns out we're basically having the same conversation twice. I'll refer to our other conversation below instead of repeating myself.