The real work in software engineering is deciding how to represent all the details of the problem and its solution - the rest is just typing. The ability to understand abstract systems in this way is very rare. For most people, computers are magical objects that they don't understand. You can't ask people what problems they have that you could solve with a computer because they have very little idea of what computers are capable of: you can't talk about a concept of an app, you have to build it and put it in front of them before they can contribute to a conversation about it.
The days when a successful startup could be founded by a person who makes the thing and a person who sells the thing are over, because all the obvious ideas have been done. You need a third founder: the person with deep domain knowledge who knows what problems exist and which ones are worth solving.
I think the PULL framework in the post is an unnecessary formalism. My advice for finding ideas is to get out of the ecosystem of companies in the Big Tech or Silicon Valley traditions and go and work for tiny little companies where all the office staff work in the same room and your job is to modernise a C++ application that has a hard dependency on Microsoft Office 2003 and runs on a VM running Windows XP (which was the first programming job I got when I left teaching in 2021). Those businesses are full of problems that are easily solved with computers, but no one who knows how to solve those problems has discovered those problems yet.
> My advice for finding ideas is to get out of the ecosystem of companies in the Big Tech or Silicon Valley traditions and go and work for tiny little companies where all the office staff work in the same room and your job is to modernise a C++ application that has a hard dependency on Microsoft Office 2003 and runs on a VM running Windows XP (which was the first programming job I got when I left teaching in 2021). Those businesses are full of problems that are easily solved with computers, but no one who knows how to solve those problems has discovered those problems yet.
Agreed. Except: smaller companies tend to have much smaller budgets and be less tolerant when it comes to software pricing.
I would also say from experience that there is either a lot of commonalities in the types of issues that these companies face OR they have some very unique needs. In the former case one might as well abstract away and try to attack these problems in the general case. In the latter we need to hope that the niche can be big enough to be profitable.
Would just add that the best sales people have usually been folks with deep domain expertise, partially because they tend to have a pre-existing social network of potential users due to their work.
I learnt at school that the thermostat in a kettle was a bimetallic strip, made from two metals with different thermal expansion coefficients. When the bimetallic strip reached 100 Celsius, the two sides of the strip would lengthen at different rates, causing it to bend. The strip was also part of the electric circuit, so the strip bending would open the circuit and switch the kettle off. This has been the standard design of kettles since 1955.
Why is anyone bothering to ruin such a great design?
The part where countries engage in warlike activities against each other to get their hands on more gold sounds like it would cause economic uncertainty.
Australia has infamously robust consumer protection laws. Because of the high cost of running a business in Australia, especially one that involves physical goods, Australians are buying ever more things from overseas over the Internet, which means more exposure to retailers and subscription services that have no Australian presence and therefore can't be subjected to Australian law.
Australian governments also take a very paternalistic approach to dealing with their citizens. This stems from Australia's history as a set of penal colonies.
> Australia has infamously robust consumer protection laws.
Infamous if you are a USA business looking to enter Australia, maybe? I have seen some hilarious examples of what overseas companies expecting to be able to treat Australian customers the same was they treat USA citizens, like the top half http://www.hp.com.au loudly proclaiming they do NOT honour their warranties. (Well, as the link to the ACCC explained, they did, but only if you battled your way through a thicket of dark patterns.) But, after the lesson is learned, major foreign companies do seem honour the letter of their warranties in Australia. It must suck to be one of their customers outside of Australia.
Bupa appears to be in the process of learning the same lesson, after a decade of being pricks to deal with. I'm with them. Not by choice. My USA employer pays for health insurance, and that's what they give you. It saves me 1000's a year, but OMG, Bupa make repeated mistakes that are always in their favour, they don't respond when it's pointed out, when they are forced to respond because of repeated phone calls they outright lie. It took me 3 months to get $200 out of them. I did it out of spite in the end, because the $200 wasn't worth the amount of time they made me spend. And now, surprise, surprise: https://www.accc.gov.au/media-release/bupa-in-court-for-unco...
> which means more exposure to retailers and subscription services that have no Australian presence and therefore can't be subjected to Australian law
Yep. I was one of them. I did that, and then got bitten, over and over again. Now one of the first things I look for in a company I'm buying off is "do they have an ABN (Australia Business Number" (It's a tax ID.) If they do, they are subject to Australia law, and the risk is at a level I find acceptable. If they don't it's a complete lottery. Even for cheap things. It's not just the lost money, it's the time you waste in dealing with these people, the days of correspondence before you realise they aren't acting in good faith. You then re-order somewhere local, but now you've lost weeks. It's why I buy domains through an Australia mob like https://ventraip.com.au/. Yes I've found foreign companies that have provided me the same, if not better service at a better price. But if every case, that small foreign firm got bought out by some bigger company, and I found myself in dark pattern hell.
There are exceptions of course. Sites like amazon, ebay and alibaba enforce very similar rules on the suppliers they allow onto their platforms. But outside of those platforms, if I have to deal with a company outside of Australia, the first question I ask myself is "am I prepared to throw this money away if it all goes sour". It's not a question I bother asking myself when dealing with an Australia company.
Really, we're not allowed to agree with some of the EU's ideas but disagree with others? You demand that we take every policy proposal from the EU as part of a single coherent political philosophy?
If you give the EU a lot of power, which some people in HN are in favour of, they will use it for good and bad. I’d rather they have no power and live without the good things. Those who celebrate the good things are too ignorant to realise that the power they use to do good things will eventually be used to do bad things.
Yeah, sure? If you have a problem with individual posters and their opinions just talk to them directly. Trying to argue with an entire forum as a single opinion-block is just extremely futile.
The general public has come to accept that computers are magic. Sometimes the magic does good things, sometimes it does bad things. If there's a person with a public profile who is seen to be controlling the computers, governments might do something to punish that person, but if they remain invisible, no one dares tamper with the magic.
> It's fine for small one off scripts, but as your software's complexity grows the implicit (and often entirely undocumented) schema turns into tech debt.
It's a great way to start off a project, when you're still filling in the details of how everything will fit together. Once you've worked out what the schema is, then you can solidify it into classes.
The first thing I was told in an educational psychology lecture was to never cite any research more than ten years old. (If you break this rule, you'll see the same ideas being reinvented over and over again.) When I was teaching, half of all teachers left the profession within their first five years; I've heard anecdotally that it's 80% now. It's not the clever ones who stay. There's a strong push (often enforced by professional teaching standards) to constantly implement the latest research, which means every teacher has to do the new thing, and is discouraged from thinking about whether it's all bullshit.
One of the most enduring ideas in educational psychology is the stage-based theory of Jean Piaget[0]. Computer use belongs very much in 'formal operations', the last stage of the theory, because everything that happens in the computer is just an abstract representation of what happens in the physical world. Progress between stages varies from child to child, but from Piaget's observations, it usually happens around the age of 11, which is when children transition from primary school to secondary school in the Australian and British school systems. This is why children struggle to learn, say, algebra, in primary school. If you introduce these ideas before children are ready for them, they internalise them as social rules in the same way as 'raise your hand before speaking in the classroom'. So not only does introducing computing too early harm the development of other skills, it also teaches a suboptimal approach to computing.
> One of the most enduring ideas in educational psychology is the stage-based theory of Jean Piaget[0]. Computer use belongs very much in 'formal operations', the last stage of the theory, because everything that happens in the computer is just an abstract representation of what happens in the physical world. Progress between stages varies from child to child, but from Piaget's observations, it usually happens around the age of 11, which is when children transition from primary school to secondary school in the Australian and British school systems. This is why children struggle to learn, say, algebra, in primary school. If you introduce these ideas before children are ready for them, they internalise them as social rules in the same way as 'raise your hand before speaking in the classroom'. So not only does introducing computing too early harm the development of other skills, it also teaches a suboptimal approach to computing.
Bear in mind approximately none of his claims have been experimentally validated, and my experience (and I suspect that of many other HN users) is the opposite.
Anecdotally, dunno how much I can get behind this. By 11, I'd learned to touch type and was building virtual houses using one of those consumer CAD programs. My friend was a webmaster and ran a small Pokemon forum. Another friend was producing small musical albums. I'm sure countless SWEs can tell you about their early coding adventures.
The real-world experience came first, of course (a whirlwind house hunt that taught me a lot about style and layouts; an intense interest in the series; an early mastery of the piano, respectively). But, "You're too young," would have represented a frustrating impediment to our curiosity and industry. I faced that anyway, later on ("We can't afford that," to multiple attempts at breaking into CGI), but I know at least the latter friend is a prolific musical artist and virtuoso on several instruments. And I imagine quite a lot of software wouldn't exist, or would be/perform much worse, if the people who made it hadn't had early encounters with - in fact, were shaped by - computing.
I started computer programming at a similar age, but there's a difference between an individual child following their passion at the level of their own abilities, and a classroom teacher trying to develop abstract thinking in 25 or 30 children simultaneously.
There was a great paper I read from the 1950s, where the researcher simply observed a teacher reading a story and asking comprehension questions of the class, who were six years old or so. When the teacher asked a question, all the children raised their hands, but when a child was nominated to answer the question, the children frequently didn't have an answer. They were just raising their hands because it was the socially desirable thing to do; they just wanted to please the teacher. As children grow older, they become more skilled in feigning understanding, and even when teachers do see through the illusion, they often don't have the time in the classroom environment to provide the individual support needed to fix the problem.
You're making some big jumps here. There's a chasm between the developmental level of 6-year-olds and 11-year-olds. Also, looking at a paper from the 1950s, when, as you say, research in this field is cyclical, seems to suggest that that particular finding wasn't sufficiently replicated. Finally, micro-computer use is inherently an individual task, because the user experience has been designed for individual use. Even with a teacher involved, each child is largely on their own and making their own learning. Young children learn instruments (including their own voice), and participate in both individual and group musical acivities. By your logic, that would be inappropriate, but it not only happens every day, across the country, but is the source of quite a few musical artists' later success.
I think, if anything, the key might be in the expertise educators have with the given instrument. Most music instructors are talented musicians or vocalists themselves, and I imagine most have a keen sense for how to encourage proper care of both the student and their tool. Maybe it'e changed, but most of the teachers I had growing up that were involved with computer use were largely trained in library sciences. I don't know that there even IS any effective deep training wrt computer use. It's not just that the technology is new, but also that most experts are going to be coming from a tech industry whose modus operandi is purposely cultivating unhealthy relationship with their products.
> They were just raising their hands because it was the socially desirable thing to do; they just wanted to please the teacher
When I read this sort of thing it reminds me of how some adults didn't seem to take children seriously. My recollection of K-1 is that kids in the class often paid close attention to what was being said by the teacher(s), and were very literal.
If you raised your hand in my kindergarten or first grade classes, it usually meant you had something to say. IIRC kids were pretty good at answering questions as well.
There's no typo there, what I typed is what we were told. There's a genuine belief that research expires after ten years in educational psychology (and possibly other human sciences). It was a sharp contrast to my major in physics, in which the first year was almost exclusively ideas from the eighteenth and nineteenth centuries.
The days when a successful startup could be founded by a person who makes the thing and a person who sells the thing are over, because all the obvious ideas have been done. You need a third founder: the person with deep domain knowledge who knows what problems exist and which ones are worth solving.
I think the PULL framework in the post is an unnecessary formalism. My advice for finding ideas is to get out of the ecosystem of companies in the Big Tech or Silicon Valley traditions and go and work for tiny little companies where all the office staff work in the same room and your job is to modernise a C++ application that has a hard dependency on Microsoft Office 2003 and runs on a VM running Windows XP (which was the first programming job I got when I left teaching in 2021). Those businesses are full of problems that are easily solved with computers, but no one who knows how to solve those problems has discovered those problems yet.
reply