-17 karma · joined January 11, 2021
The people that can answer the many questions are very busy senior engineers. They have their own questions and things to do in their projects.
Some of these senior level engineers put out articles, books and video presentations on technical topics, that can answer most junior engineer questions.
Junior engineers have the entire internet and wealth of content to read and analyze.
Engineering is about solving problems. Junior engineers have to ramp up quick and be able to solve problems, with or without help from others.
Additionally, how does the junior engineers know the answer to their questions are correct? They still have to do their own research to verify the answers.
When people ask about historical scientific issues, like how did historical scientific consensus conclude the sun revolving around the earth. And it took Copernicus to right the wrongs.
Simply look at the kind of scientific shenanigans happening now, false results, outright fraud, huge reproducibility issues in scientific studies. And many scientific communities just going along with the shenanigans. Explains many things in science.
There are many variables in building software, which roughly break down to budget, resources and time. All these variables must be managed carefully to deliver software of quality and value. There are several strategies that mitigate the process of building software and manage tradeoffs between budget, resources and time.
There's no one size fits all solution that can reduce time without accounting for budget and resources.
It wasn't solving any problems.
It's better to focus on solving problems as they rise up, as opposed to doing things to keep in line with some arbitrary standards that may not be relevant.
Key is learn how to discern between trivial issues and real issues that affect the project.
https://stackify.com/premature-optimization-evil/
Don't be evil.
Or
Will this be Twitter's Tumbler?
My money is on the latter.
Simple, clean code that works is the best way to express logical intent.
Eventually, everything compiles down to byte code. You can do it the easy way or the hard way.
Industry will use the most effective tool. Academics can experiment with high level concepts, but if it doesn't scale out, it won't be popular in the industry.
TDD can be reframed as codified specifications with test verifications. Then, the TDD purists do have a point.
There's no future proofing in Software Development. As soon as an application is deployed to prod, it's obsolete. It must be on constant maintenance/upgrade schedule. And, the replacement project must be scoped out quickly.
That roughly equates to $400,000 a year. Which may seem like a lot, until people actually see what the market rates are in west coast tech hubs.
Also, Mark Zuckerberg is worth $100 Billion, for creating basically a CRUD app in php.
Simply ask for more in salary and benefits. When they ask why, state all the reasons why the increase is warranted. If they deny the request, look for another job that pays the higher amount.
Software engineering and development field is extremely difficult. There are many opportunities in this field, because there are so few candidates that can do the work. HN is self selected group of people with experience in the field. But they are actually very few in number.
The average worker does not have in demand skills in tech sector.
$1.5 Trillion and counting.
It is much easier now with remote work being prevalent.
In west coast tech hubs, that's about half of median salary alone. If you factor in bonus, stock options, etc. That's about 1/3 or 1/4 of total comp.
Are any of your family, friends, neighbors on the other side?
What will you do to the people on the other side?
What is making you to take one side and against the other side?
Which side are you on? Which side are your family, friends, and neighbors on? What will you do when you find someone on the other side?
Most importantly, what is making you to take one side or the other?
The author mixes up How and Why of software engineering. Learning is part of the How of software engineering. The Why of software engineering is to develop and deliver solutions to business clients. Most business client don't care if you learn something or not, they expect results.
Learning is part of the How of software engineering. The Why of software engineering is to develop and deliver solutions to business problems.
Engineering is the process for solving problems, usually at business scale.
Mechanical Engineering solves problems of moving widget A into widget B, at scale of thousands or millions of widgets.
Electrical Engineering solves problems of moving electrical power form point A to point B, at scale of generating and delivering electrical power to millions of customers.
Software Engineering solves problems of moving digital data from point A to point B, at scale of collecting Billions of user data into databases and generating metrics reports.
Being depressed or in despair actually makes it easier for the propaganda to work.
Seek out the truth, as the saying goes, the truth is out there.
One thing about people in tech are that they are aware of patterns. Certain patterns seems to work and certain patterns don't seem to work. Ask why certain patterns are pushed by central authorities and mainstream popular media and certain patterns are suppressed.