EdgarVerona
In this reimagining, they are basically 100-140 page long novellas with a lot of pictures accompanying them. Amelia is a child (3rd grade possibly? Not sure exactly) and she doesn't understand slang or colloquialisms, but otherwise she's a smart kid... which means she's less frustrating than the OG Amelia Bedelia where she was an adult maid that has absolutely no clue what the hell's going on around her.
The books are cute, though sometimes you can tell the author has belabored something just to reach a publisher-mandated word count.
The other annoying thing about them is that that they can't just say "she" when they talk about Amelia Bedelia, and instead they say Amelia Bedelia's full name over and over whenever they mention Amelia Bedelia's father or Amelia Bedelia's mother or Amelia Bedelia's dog. (I basically have just re-created what could have been a real sentence in the books)
Once you get over those annoyances though, they're cute little stories about children who have problems and try hard to come up with and execute on creative solutions. They've grown on me, like a fungus.
I live in Spain now, and I don't tip anyone and no one asks me for a tip. Except for one coffee place that you could tell was run by Americans, they had the "enter your tip" kiosk terminal which I NEVER see in Spain. I put 0%. That's not a precedent I want to see start here.
When I was 12, my dad brought home a laptop that the company he worked at was going to throw away. He convinced them to let him take it home instead, and turned it into our home computer. My brothers didn't care about it, but I became obsessed with it. Stumbled into QBASIC just looking at all the executable files in DOS.
The help feature alone taught me about and how to program, at least enough to turn it into something that I wanted to do for the rest of my life. (though notably I missed some very important features just by accident: for instance, I never learned that subroutines and functions existed until I actually took a real class in Pascal years later... I used a horrible rats' nest of GOTOs).
If it wasn't for that help feature, I'd probably have ended up a barista aspiring to get a novel published. Instead I became a (probably overly obsessed) software engineer, with complicated but mostly good outcomes. I'm 45 and retired now for example, and I certainly wouldn't be if I hadn't gone down this path. And I wouldn't have gone down this path if I hadn't randomly found QBASIC on that computer, and if the help feature hadn't been so helpful.
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.
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.
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.
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.
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.
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.
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.
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...
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.
Is it just me, or does this seem like a pretty wide estimate range?
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.
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.
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.
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.
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)
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.
https://abc14news.com/2020/03/14/canadian-couple-make-more-t...
https://abc14news.com/2020/03/14/canadian-couple-make-more-t...