Much of my job has become translating and mediating between stakeholders going around in circles, because each one believes their viewpoint represents the entirety of the issue. They can not understand one another because they assume the other understands everything exactly as they do. The engineer sees the issue as a technical problem, while the BA sees the issue as a process problem. They're both right, but each is only seeing half the issue.
Forget what you think you know about someone, shed your own views, listen very closely to what they're saying, and interpret what they're saying not through your own lens, but through theirs. Their viewpoints are formed through their experiences, not yours.
It's not easy and you'll get better at it the more you know someone, but there are plenty of shortcuts you can take based on your assumptions about them. Just be sure to update your mental model of them as you learn new information, usually gained by listening to what they're saying.
But the reality is that there are millions of types of jobs, with incredible variety and specialisms, and the real content of a job is rarely captured in a job title.
A lot of the (now) coveted trade jobs can seem like a very tempting alternative to crushing college debt and volatile job security, but truth be told, many of these trades are plagued with physical injuries, sudden unemployment, and what not.
Furthermore, you deal with A LOT more shady people (employers, customers / clients, suppliers, you name it) than you do in white-collar sectors.
I say this because for the past few years, I've seen an increase in people advocating for people to choose trade jobs over college-educated jobs, like it's the most obvious and risk-free thing in the world.
It's not, and I'd even go as far as arguing that the downsides of trade jobs can be worse than the downsides of a cushy white-collar job.
That I'm not always right, or always better than Joe. And that: I'm not always wrong, and Bob is not always better than me.
That we might hit our deadline. And the world will still be there if we don't.
That people do things I don't understand, for reasons I will never see or be able to anticipate. And that's simply the way it is.
Dark corners are found in, or emerge from all positives. Great things are found in, or emerge from all negatives. Nothing is black and white, despite it's appearance. Everything is wishy-washy gray. What was right yesterday may be wrong tomorrow and vice versa.
Or, in summary: things are easier when I'm easier going
Factory operations still rely heavily on paper. It's reliable, the infrastructure to support it is reliable, and people are willing to deal with inefficiency for reliability. A maintenance manager on the floor doesn't want to be dealing with a crashing app or network connectivity issues while they're filling out a part requisition form or maintenance report. And an operator doesn't want to hit save in the app and see a bunch of red boxes when they have a spill to attend to.
However the inefficiency of paper leads to inaccurate results, slow lead times, and altogether missed opportunities. People invariably copy yesterdays form into the new one and get on with their day. Digging up all that paper work and manually entering the data into a spreadsheet can result in more errors in the data. And doing any kind of large-scale analysis on components with maintenance reports involving those components is time consuming and laborious... and doing it across an entire conglomerate is basically impossible this way.
We have to make affordances to our interface that take the operating environment and the people interacting with it into account.
Reliability is really important.
Software isn't the solution to everything. Always have a plan B.
To outsiders it looks like they end up with compromised solutions, but to insiders it looks like they achieved the impossible.
More concretely in the field of software engineering:
Accurate, precise estimates are more expensive than the actual task itself.
If someone asks you "how long until it is done", the only reasonable answer is just as long as you've already spent, even if you're close to the end of the project. a "three week project" on week 3 will most likely take another 3 weeks, all else being equal.
Nobody has any idea, they're just making it up as they go along.
If you do the math, you're ahead of almost everyone. Most people won't do math to save their own life. Same goes for reading. If you actually read documentation or source code, you're in a very slim minority. Most people just google.
Most executives are incompetent, having little to no training in management. Rather than solving problems, they shift them to employees, vendors, even customers. This is why unions are such a disaster for most execs.
The skill of hiring is evident from the top down, be it good or bad. And it will affect an organization for decades after.
An organization will come to reflect the leadership, from the top. The people and policies will shape it into the image of its leadership. Mostly that leadership can't see itself reflected in the group.
I also now viscerally understand how China has a stranglehold on world manufacture of electronics. The concentration of skill, infrastructure, and related industries in Shenzhen or other Chinese industrial cities is unequaled in the USA. We have utterly given that up to Asia.
Back to QA: I learned what "DPPM" means: Defective Parts Per Million. A modern, large-scale production pipeline measures failure rates at the per-million level. Also, the amount of iterations in developing a product for mass-production. From that perspective, a well-produced thing on Hackaday barely qualifies as a proof-of-concept, from a production perspective.
There are some super creative businesses out there, with an unimaginable number of possibilities still unexplored. The Internet has made this even more extreme. By connecting everyone on Earth to everyone else, it's made extremely specific niche businesses quite viable. If only 3 in 100,000 people are Japanese candy aficionados, then most cities aren't big enough to start a business around that. But on the Internet that business can exist, because 3 out of every 100k in a pool of billions is a LOT of people.
TL;DR - Most people are perfectly capable of creating a business that suits them.
And when you realise that conditions have evolved to a point where you're not having fun anymore (and they always eventually do), eject yourself and go spend far more time with family, friends and your other sources of identity.
Everyone _wildly_ undervalues their time.
2. Research matters A LOT. I remember an incident where my Design lead called us all into a room (about 12 people.) He gave each one of us a chocolate--none were of the same kind. Then, he asked, "how many of you don't like what you got" Couple of us raised our hands. He then said, "go ahead and exchange it with someone"--people unhappy with their chocolates exchanged. Once everyone was done, He asked the same question again. This time only one person who did not like the chocolate raised their hand. Then he said "Welcome to user research 101" -- The biggest mistake companies make today, is shovelling down what they think is right onto their users, just like I did. Now, when you guys exchanged and got what you wanted it just goes onto show that it's not like you don't like chocolates, it's just that you wanted a different kind. About the one who did not like anything, he asked her why--She said, she doesn't like chocolates; for this he said--well, there also are people, who don't want your product at all!
These two have really helped me understand things better.
The Wizard of Oz nails it:
"Pay no attention to that man behind the curtain"
If being a worker at a job were really "family", they wouldn't fire you off the second you start underperforming, or the second the economy tanks, or the second that they found someone cheaper to replace you; if someone's mother or father did that, you'd rightly think of them as a jerk.
As a resume writer, my job isn't to judge the candidate, but to make the candidate look as strong as possible on paper.
My work as a resume writer has led me to believe that much of the talk of worker shortages in skilled employment markets is directly related to poor resumes (and not a lack of qualified candidates).
I get a lot more personal satisfaction out of helping people write resumes and coaching them on job search strategy than I did as a recruiter. But my work has also convinced me that there are lots of people out there who are qualified for the jobs they seek, but simply aren't capable of expressing that qualification in writing.
The only reason you stay is a feeling of responsibility.
But you are not responsible for the company or it's employees.
You are responsible for your own life and your family.
I am a much worse programmer than bassoon player, and for programming amount of work put in matters a lot more. I still churn out mostly bad code, but the spectrum is a lot broader.
- Imposter syndrome can be incredibly crippling. It can affect just about anyone at any senior level. Also, some have no problem taking advantage of that in others.
- Appreciation of efficient code/design can be directly correlated with how much runway exists.
- I can't say I actually like programming. I like problem-solving, and programming is a neat medium for that, but programming also includes looking and maintaining legacy code. There's often a lack of documentation and things that you expect to take X time will more likely take rand(4) * X time. That rand() can itself be randomly inclusive/exclusive of 4. It can also be another number, you'll just find out when you do.
The least appreciated team member is the one who amplifies everyone's output.
Intuition is powerful, mysterious, and a pleasure to wield. But developing and then trusting intuition is anathema to our metric-fixated process-consultant-ridden professional world, so we keep doing things the ugly hard way.
I mean, the Hippocratic Oath and _some_ form of organised medicine has been around for 2,500+ years.
Modern manufacturing has been around for a few centuries.
etc.
Yes, they all change and develop - and use software within them to drive some of that change - but many industries are mature and stable.
Software is not.
5 years ago you would build a frontend website one way, now you'd use a completely different set of tools/technologies. Wait 5 years and it will have completely changed again.
It's a similar case with software development methodologies, backend approaches/languages (etc), too.
Plus many industries have some form of enforced standards or monitoring, whilst software certainly does not.
My biggest payday came from a junior role at a startup I got extremely lucky at
Enthusiastically presenting a (factually wrong) solution can be a winning strategy. In high school, I thought I was a math genius because all of my solutions were judged as correct. Turns out, I was just a good presenter and nobody made any effort to check my results.
Managers in big companies will be happy to buy your product if it helps themselves save face, even if it is a net negative for the company. That's how they end up with so many useless initiatives that get canceled after a year of burning money.
Consultants are paid to be a straw man parrot. You tell their coworkers what your contact wants them to hear, so that they can blame it on you if their idea goes wrong.
The same source code given to different product and marketing teams can be a 100x difference in revenue. If the sales team is not rich, run. They either cannot sell the product, or they could not sell themselves to get commission.
Customer support matters a lot less than people think. A buggy 10-year-old software without support can still sell like candy if it solves a real and valuable business problem.
Like, knife is a sharp edged tool used to cut things vs knife actually is steel.
(This also being my main reason objecting cryptocurrencies. Idea of current cryptocurrencies being money is to me very much cargo cultish until there is a proper way to manage credit within the cryptocurrency system.)
Commodities do not usually exist for the benefit of ultimate producers & consumers. . . .
You can't fix stupid but you can come up with some appropriate workarounds if you put in the effort of long-term repair anyway.
1. Frontend guys, who worked for the internet before, think that users are complete idiots, even if the project automates a coworker’s job which they do manually right now (or less automated). Focus goes on things that are completely irrelevant to the main problem we try to solve. Small changes are a tragedy. Moderate changes are a terror.
Nothing of this is real/important when you give up negotiating, take frontend in your hands and do damn work yourself.
2. Users are very shy or unaware of the fact that their convenience is my duty and you can just message me and ask to move that button, tune the tab order or relayout a form. You have to investigate and monitor their work to get a feedback. I think it comes from the complexity mismatch. If a user asks for a complex feature, it is simple. If they ask for a simple feature, you’re in trouble. Maybe it comes from the false belief that I know better.
3. Bigger competence comes from lesser control.
4. Being a full-time software developer means you’re socially, mentally and willpower-y dead at the evening to some notable extent.
There's no one perfect tool/solution. It's always tradeoffs.
People are obsessed promoting their favourite tool/framework etc.. Eventually you realize it's more about the patterns behind them, not the individual solution.
The main challenge I see is that software development is not a commodity and cannot be as planned as a physical good.
It’s mostly a thought experiment right now and I value any opinion.
There's no point-and-click, no slick GUI, no whizzy installer. Instead there are bugs, blog posts, mailing lists, snowflake configs, and a fair amount of frustration.
If you're lucky and given enough time, you get to understand it, tidy things up, and document it.
Development isn't like installing an app on your shiny wafer-thin Mac that "just works". It's complex. If you want to do something new, you can expect complexity.
From technologies like Hotjar that record your mouse movements on a given webpage, to simple IP address logging (who visited this page on our site, from what referrer, etc.), people really have no clue how closely their actions are being monitored.
However, as with lots of data analysis, their personal information alone means almost nothing. Their data in the aggregate of all visitors' data is valuable for analyzing conversion rates, if and how their banners are working, etc.
I can't speak to the ethics of this, nor do I care to. I don't believe it's right to track so much interaction without duly notifying the customer it's happening, but I have very little aside from a sense of common courtesy to back that belief up.
The experience has given me a new appreciation for JavaScript blocker extensions, which before I had believed are no longer really needed. It's also given me an insight as to the value of an e-commerce page over a physical store location.
For example: Say I go to my local Target. If I'm looking at cameras, and the sales person asks if I need any help, or whatever, and I say no, they go away, and the interaction is over.
But lets say I go to their website. Immediately, a personal session with this page is created for me, even though I don't know it. I'm tracked from the home page, to their electronics sections, to the Camera subsection. My movements in figuring out the search filters is being tracked, my mouse movements over the available products is tracked, all adding data to create a "heatmap" of that webpage.
Even if I don't buy a thing, I've given them little pieces of information to be used in analyzing their site. My visit will be considered a failure to their marketers, and the data surrounding my failure to buy will be used to retool their site in the hopes of getting people like me next time.
So my advice to anybody who wants to get into a not-coding occupation and really distinguish themselves is: Get good at coding.
On the one side it helps to avoid bad/stupid things in life: quackery medicine, scammers, bad investments, etc.
On the other side it allows to peep deeper into things and see more choices even in ordinary life. After some practice you gain nearly magical ability to peel couple of additional layers from reality and to see non-obvious things everywhere.
I can only explain it by example:
Some people complain that they have a lot of trouble getting a job in the software field. Other people complain about why it's so hard to hire.
The reasons are very difficult to explain, but more importantly: No one wants to know the truth or bring empathy to the discussion!
I've had both struggles. (I've struggled to find a job, and I've struggled to hire.) If I try to explain why it's hard to get a job, from the perspective of someone who's hiring, I make people angry. If I try to explain why it's hard to hire, from the perspective of someone who's looking, I make people angry.
The simple, non-offensive answer, is that both job candidate and hiring company's expectations are unreasonable. More importantly, though, it's easier to leave people frustrated (in their job search or employee search) than to help them adjust their expectations.
TV chefs? Mainly have to be good at talking.
People who write libraries, compilers, OS kernels and so forth? All sorts.
So never ever assume that someone is an expert just because they do something "expertly".
What my work has taught me is that...
a) some founders are motivated by improving their customers' lives
b) some founders are motivated by building the best solution to a problem their customers have
c) 'a' founders are more likely to be successful and less likely to give up than 'b' founders
We do our scientific work at millihertz frequencies (one cycle every 1000 seconds or so). The age of the universe is ~13.6 billion years, which corresponds to ~10^-18 Hz. Thinking about the zero-frequency limit is a useful crutch, but all things are always changing. Materials creep, the Earth deforms, temperature changes, aging happens. There is no DC.
2) Small forces for long times yield great change
We study torques as small as 10^-18 N-m acting on ~100 g objects. A willingness to apply a very weak force for a long time can often yield measurable, often large results.
We're also ingenious; even those with poor reasoning skills can be ingenious.
Realizing that you're adrift in an ocean of ingenious, irrational beings will not increase your happiness, so do your best to forget what I told you, and return to pondering how miraculous you are ;-)
I was happy about it, called my mom and told her the news.
What I didn't realize is that a large group of senior engineers were not to happy about it. The went through every one of my commits, identified every time I broke a validation, broke the build, or otherwise caused someone else a headache, and then took this information to management without me knowing about it.
I'm sure jealousy may have played a factor, but today, I largely think they were correct. I was a cowboy coder fast and loose with my code. When I broke the build, even if was for 10 minutes before I fixed it, I basically stopped a dozen or more engineers from being productive.
It took time, but I learned how to be more of a team player. I created my own build environment that would only commit changes if everything passed, and built a far more robust validation system. Quickly I changed from being the biggest cause of bugs, to the biggest reporter of bugs in the company.
Finding and reporting bugs in other people's code also did not help my standing.
The truth is that any organization is made up of humans, and simply being the most efficient at creating new features, building validation systems, or reporting bugs, is not going to be enough. You have to actually talk to your peers, build a relationship and a mutual respect and trust.
- People who are fully focused on capturing value have a tendency to take everything very seriously; they are often pessimistic and will find problems in the smallest things (even trivial aspects of their daily lives) and blow them out of proportion. They don't tolerate external criticism well. They are more likely to have fits of anger. They may have narcisistic tendencies and may lack empathy and are prone to hypocrisy and cognitive dissonance. They tend to focus exclusively on social politics for self-enrichment and don't spend any time thinking about the well-being of society. They believe that personal interest is the only force which drives value creation in society. They see value creators as sheep who need a shepherd to guide them to the right path. They are unable to distinguish value capturing from value creation; to them, they are the same concept.
- People who are fully focused on creating value have a tendency to not take anything too seriously; they tend to be optimistic and may shrug off problems altogether, they rarely get angry and they appreciate criticism. They are calm, altruistic and highly self-aware. They believe that altruism is the main force driving value creation in society. They may see value capturers as parasites on the system which exploit value creators to force them towards arbitrary directions which allow value capturers to claim credit and amass profits for themselves. Value creators see a very big difference between value creation and value capturing and their ability to see the difference means less cognitive dissonance, less hypocrisy and more emotional stability.
The other thing I learned is that our fiat monetary system benefits value capturers at the expense of value producers. Since fiat was introduced, through natural selection, humans have been getting worse at creating value and better at capturing it. Value capturers are better at figuring out where to place themselves in order to capture all the new fiat money that is constantly entering the system. This is why there are so many monopolies now.
We used to have a system which benefited balanced individuals, but the current system benefits extremist value capturers.
Whether your boss or colleagues think you did a good job (or not) is all about expectations. Therefore, the most important part of your success is managing other people's expectations of your work.
That's not to say your work can be shit or that you should sandbag it by setting low expectations, success is simply a matter of defining what success is and then meeting that threshold. Either way, setting those expectations is important and many people don't do it at all. Then they wonder why, regardless of what the data says, some people thought the project was successful and others think otherwise.
Example: You're a senior supporting your more junior devs whenever they run into trouble, and you hardly get credit for it because the business side doesn't even realize it. All they see is tickets moving.
I've kind of learned this the hard way and even before learning it, I actually luckily took advantage of this without even realizing it in a previous job.
Make sure that the work you're doing is credited to you in front of top brass. But you can't be too overt or braggy about it otherwise it will get annoying to your coworkers and then you will suffer. It seems like an art form almost.
Sometimes you just need a change of scenery and a breath of fresh air, sometimes literally.
With complicit naïveté it's us then who keep these stories alive so we can cope with the most profound dissonances for all the glorious incentives and self-imagery.
The price we pay for it is still pernicious to the greater environment and to the person "keeping the dream alive".
A more explicit scenario: Neither your bosses nor the investors or most of your colleagues might have drunken the kool-aid for real. The likelihood of you being just a happy yet replaceable cog in a make-believe-machine is very high.
Wear and tear is inverse proportional to cog size.
There is no real risk of burnout at the higher levels of the oligarchy.
Generally, a consumer is only looking for one or two features to match their needs. Producing a very simple product with fewer features to match the needs of a key segment is a great way to start building an audience. If people complain about missing features, it's a good sign that they have some interest in using your product.
1. A VC's job isn't to "pick" startups like you might pick stocks on the public market. It's almost besides the point, which is why junior associates and analysts get the most face time and source a lot of deals.
2. Venture Capital isn't a meritocracy, it's not fair, and it sure as hell isn't a competition. Most founders realize this after their first go around, but it's worth repeating because too many first time founders get wrapped up in getting funding, as if it's like getting into college or doing well on a test.
3. While angel investors are well advised to try picking potential unicorns or decacorns, VC funds most often don't. The reason the internet thinks this is that the biggest funds spend the most money on PR, because they have the biggest budgets, because management fees scale with fund size. These big funds invest later and need the biggest valuations to make money. There are many models a fund can operate on, and in fact most institutional limited partners will allocate capital to a number of funds with different models and strategies. To be a successful VC, you don't need to pick the next Uber, you need to pick a model, strategy, market focus, or technological thesis that fits within the broader strategy of your LPs and isn't a duplicate of their existing LP allocations.
4. If you invest in a founder, the total percentage of your interactions with them that include startup pitching will trend towards zero. Most experienced VCs will give your formal pitch less weight than the sum of their other interactions with you. The reason formal pitches are so important is because the investment committee (which tends to vote on and discuss investments at length) is mostly made up of people who haven't had much interaction with you. The real goal of a pitch is to not be objectionable to anyone whose opinion matters.
Similarly, many people underestimate how badly science education is working. But that's a longer story. But has a speculative corollary, that most everyone is underestimating how awesome science education could be. It's sort of the inverse of the swiss-cheese model of reliable system failure. Holes of success are so unlikely to line up, that the light of understanding currently never makes it very far into the cheese.
That how little college education contributes to success in life. (at least success as I define it). That education became commodity. The real value is in finding the interesting opportunities / ideas / people / networks, the right topics at the right time. That my knowledge and way of thinking is still too 'academical'. (although I am constantly working on this.) That beyond a level big-picture thinking is more important than being good in details, I need to progess in this front a lot. That scratching your own itch is the best startup walidation method: but me as a software developer have mostly developer problems. Creating developer tools is a hard business, but I could not find out a better alternative for myself yet. (I am also a gamer a little bit, but indie games are an even tougher business.) That living in Eastern Europe is bad for your career but the upside is that you can live really well off of a (by western standards) relatively low income.
I was taught it by a former colleague but it was probably coined by someone else. We often think that if two views do not agree, one must be right and the other wrong when in most cases, every idea is a trade-off and everyone is therefore a little bit right. We might be able to find a middle-ground solution or just accept that our idea isn't always chosen.
Find a large community of people who has growing power and influence and try to make yourself relevant in that cartel. Pick a cartel that is growing in influence as opposed to a large one that is stagnating or closed to outsiders. If the cartel is not working for you, maybe it's too late and you need a different cartel. You can still keep some ties to the old cartel if you like aspects of it.
I was trying to join the Y Combinator cartel before and met some interesting founders and had interesting opportunities but ultimately I couldn't achieve what I wanted. So I became involved with cryptocurrency, which I think is going to be the next high growth cartel. I found a way to be somewhat relevant in my crypto community so now I'm just pushing and trying to help the cartel gain more power and influence.
- Salary and coming to work are anti-patterns
- People expect perfection from a team, but readily accept mistakes of an individual
- Every job is easy, lest one should be held responsible
- With every person leaving the company - even after all the documentation, KT and handholding - a large chunk of knowledge leaves the company (or say wisdom); pretty much everybody is irreplaceable
- It's extremely hard to get your idea across. If you want your idea to get accepted, sit with one person at a time, before revealing your big idea. People still would not understand it, but they would accept it when discussed, again, in a group
- It's easy to work if there is a trust among the team members
- If you have KPIs and OKRs in your company, be ready for cross-functional conflicts, the introduction of time-wasting processes, and ultimately erosion of all the trust - giveth number, taketh soul
Don't waste your time on companies with "we are next unicorn" kind of bullshit. They die quickly.
Best money comes from non-tech-savvy average Joe's, and not your "maker" friends or developer tools.
- Trends force wheel-reinvention and relearning every 3 years, based on ideas from 20, even 50 years ago (or more) that were ignored because the market wasn't there yet. So the more cutting edge you are, then the more you feel out of place and suffer if you're not profiting from your knowledge. Your best work will simply be discarded just 3 years later.
- The profit is in application, not theory. So again, even if you know a better way to do something, most likely you will get reprimanded for it where you work.
- As you acquire more programming knowledge, you eventually reach a point where new hires can't read what you are writing. This comes down to the simple vs easy dichotomy. Again, being an outlier won't help you in a corporate environment, and even if you find a smaller agency that's willing to take a risk on you, their generosity will eventually come to an end and you'll be on your own again.
And the biggest one of all:
- Programming careers usually end by 40. There may come a point where even though the money is good, you don't believe in what you're doing anymore. If you don't make the jump to management, be prepared to start over in another field.
The root causes of all of this are wealth inequality and the underemployment which causes it. This is not the future that academia anticipated. This is a capitalist's dream. So we have a technologically illiterate aristocracy dictating terms to an indentured underclass of gullible loners who will never organize for their own benefit.
In short: choose happiness over money, most of the time.
Don't under-estimate how many times we need an unbiased external view to confirm what we already thought but were too unsure to implement.
What projects / technologies / customers / designs are considered important? Who are the potential allies? Who are potential obstacles? What are their motivations? What is the best plan of action the benefits the group? How to get everyone's alignment?
Never hire anyone who's bad at communication. The bottleneck in a large organization is always politics. Whether you can attract skillful engineers to begin with is also a question of communications and politics.
For example, imagine that "(A AND B) logically implies C", and every voter agrees with that statement. Imagine that 1/3 of the voters believe (A, not-B, not-C), 1/3 believes (not-A, B, not-C), and 1/3 believes (A, B, C). If you hold a vote, 2/3s of voters believe A, 2/3s believe B, and 1/3 believes C; so the organization as a whole will hold the contradictory set of beliefs (A, B, not-C).
2. Under promise and over deliver, actions are more valuable than words.
3. Sometimes even when you're right, never forget the value of keeping quiet when big egos are busy speaking.
4. Eventually after years of others coming and going, you end up being the smartest one in the room that others look to for answers, then it's your turn to do it all right, instead of being like those you had to fight against during your climb.
Past work portfolio, companies you've worked with, your qualifications - give it 2mins max, then spend the rest of the time talking about their project.
Everything you do in work is a performance for an audience. Know your audience (it's probably not your actual customers), and know what they are looking for
Only a tiny percentage of anyone involved will get anything from that corporation's attempt to make money off of every time that content is replayed.
So word choice is as important as superiority in an idea for solving a problem
- Being results-oriented can be detrimental to doing anything useful.
That my country's supposed worst enemies are actually valued customers for arms and security services.
... and now I don't even feel like calling it "my country" anymore, I use "the state" instead.
It's more than meets the eye. It's also about the hard work in failures and decisions about things you decide not to do.
For example; trying 3 different workarounds to get 1 buggy piece of code to work.
Specifically, you need to understand how it should work, where it's deviating from that, and what you can do to address it.
there are relatively few people writing constructively to companies and while some companies suck bufallo wings, the good ones are good and will use your feedback to make their products better
Purified, high quality fluids make a huge impact on the performance of processes, products and materials - only 1% of what is possible has been achieved technically.
"Ignorance is a bliss."
Occasionally you run into situations where a single person is replaced by multiple people, and then they catch on that the person who left was pretty good.
Software development is more of an art than science. They don't teach you this at Computer Science classes.
Sometimes metaphorically, sometimes literally.
When a big company does something wrong, often it's just one to five of those thousands of people who did something wrong.
Hatred for a big company is very similar to racism. Some of the people who work at a big company may fit the profile you imagine. But many of them don't. Sometimes the large majority.
Every job I have I keep finding more ways that make me go crazier.
I saw it with the introduction of EMV (Chip'n'Pin) credit cards in the UK, and again with contactless cards a few years later, and you still see it with Apple/Google pay.
They're not safe, people will steal all your money, you shouldn't have to use your PIN in public, they'll get cloned, I microwave all mine just to be sure. All while ignorant of the real improvements these technologies bring.
I imagine anyone reading this that's ever worked with/around vaccines and vaccinations is thinking "you don't say!" right now...
This quote is one that has been on my mind a lot lately.
"Let's think of the positives as personal, general, and permanent. Let's think of the negatives as impersonal, specific, and temporary. Let's actually go out of our way to inject these things into our discussions."
TLDR: We are what we think.
The value of hard work is also understated. Most people do what they need to do and that's it. They also don't really internalize the challenges the company faces. If you take that one, you are far more likely to succeed in your job. It's not just about "hard work" but an entire mind set that most people simply don't have. If you have it, it seriously pays off.
Related to the previous point - working a bit longer also really pays off. This is different but related to the previous point. There is definitely a non-linear increase in earnings once your surpass the standard work hours. Spend an extra 5-10 hours a week on your job or side project/business pays off much more.
You can either work "smart" or work hard. Technically, you can do both but hardly anyone does. The few that do, however, are absolute rock stars.
No one checks anything. Everyone just assumes everyone else is doing their job and doing it properly. Even if checking things is part of someone else's job, it's usually done half-assed. Actually verifying the important stuff (and sometimes the less-important stuff) opens up a world of potential where your business discovers all kinds of missed opportunities, incorrect work, etc.
Most people are bad at math. And most people are also financially illiterate. Which by extension makes a huge majority of people really, really terrible at personal finance and financial planning (for themselves or their business). This also applies to a lot of smart and successful people.
Every organizational structure that human beings create yields towards tyranny/abuse over time. Doesn't matter what you are talking about - government, business, anything. Over time nearly everything somehow seems to become these oligopolistic style structures where there are a few hugely powerful entities and then everyone else.
Related to the previous point, far more things follow the pareto distribution than I could have imagined. In fact it seems to apply to anything that either has any creative aspect to it at all or to non-creative endeavors if they have any sort of scalability to them. There's a small group of people that are so insanely efficient and productive that it's almost impossible to comprehend. For example, I used to work with a guy who was working full time with me and started his own side business which was an online SaaS that he paid someone to create for him after he wrote up all the requirements and he did all the testing. While this was going on he also spent every free second trading cryptocurrencies and made a small fortune doing that. When the product was ready he launched it and manually sought out retail (end consumer) clients one by one via things like Discord chat rooms where he would pump his software that was tailored to individuals. He spoke to literally thousands and thousands of people and convinced them to sign up. Then he had a recurring monthly revenue which dwarfed his (already high) salary so he quit to pursue it. He continued to get clients and now has north of 15,000, most manually acquired. He's working on launching a sister product now. It baffles me how he can even do like half of what he does.
In business, managers are very hesitant to grant permission but much more likely to grant forgiveness for not following procedure. So in many cases it is usually better to just do whatever it is you think is best for the business and try to improves things however you can if the rules are (or will) prevent you. The personal boost here is also that your manager also thinks your plate is fully loaded with whatever it is they've already assigned to you. Then you shock them with this big thing you've also been working on and they're shocked you were able to take that on. Win/win.
There was more that I had, but I forgot it while writing the rest above. But I suppose that's enough blather from me today.
You don't need math to reverse engineer a system. You just need to pay attention to it. You can say the right words to make a date happy. You can figure out which lane is the fastest route, better than Google Maps can. You don't need an app or data - your brain is a wonderful data processing machine.
Don't be angry at the people who are benefiting from a system, or at the system itself. Most just end up that way, the same way a river meanders towards the sea, or an electrical current tries to find ground.
Fixing/improving a system often requires deep understanding of it. An action here will cause a response there. People often document it, but few will do a proper design.
If you don't fix a system, few will. Most people are reactive to it and try to live with it as background noise.
If you don't control a system, it will control you. You don't have to change its fundamentals, just move out of the way of harm.
Neatness/order is a way to understand a system. All systems tend to fall to disorder. Disorder is not always a bad thing. Order is very expensive, and only serves as better documentation to those who do not understand it. Very often, excessive order is a symptom of someone who does not understand or control it.
With all likelihood, the same thing exists in other areas of work, too. For example medicine.
So if you walk into the wrong clinic, they may give you the "PHP treatment", or treat your infection with "NodeJS, running on a Windows 7 server". (I mean not actual programming languages, but the medical treatment with a similar level of issues and opinions).
I find that a scary thought.
(Edit: not to bash PHP or JS. I personally like JavaScript and I've heard PHP has gotten a lot better. Just examples for controversial technologies).
I'm done explaining why an undocumented O(n^2) solution that violates most of the SOLID principles is a Bad Thing.
smth like that