I went to the library and did a small experiment; what could I do if I were to start with nearly nothing? Ignoring my library card sitting in my pocket, I went up to the librarian and asked for access to the public computer. She handed me an access code to use, and I sat at one of the workstations and logged in. Using the default browser, I now had access to free resources like FreeCodeCamp or Open Source Society University to learn anything I needed. I could make an email account for free and use that to make accounts elsewhere. You can't install anything on a public computer, but sites like Replit provide an online IDE to create almost anything. You can make a GitHub account to manage your code, contribute to others, even host projects thanks to GitHub Pages. You can make a free Heroku account and have a backend server to build on. Everything needed for success, although not perfect, was there. Nothing stops you from trying to start a small business, applying for software jobs, or making silly games as long as you're determined to make the most of what you have rather than feeling paralyzed at what you don't.
This seems to be the functional crux of the argument, but it's flawed, for at least a couple reasons.
(1) It presupposes a background in CS and software engineering, as well as knowledge of the ecosystem of tools available online. At some point in your life, you have to have had the time and stability in life to learn all that, and you need time and stability to work towards your goals in the present using those tools.
(2) It's too narrow in scope. This is shown as one example of a general philosophical mindset, but in fact software engineering is uniquely suited to starting out from nothing in this way. You'd be hard-pressed to find analogous examples that require any interaction with the physical environment.
If you're already into software, and you want to learn more about it or build something new, you're right that we have a lot of free resources available online to do so. And I agree that it's good to structure your life, when you can, so that pursuit of wealth isn't important, and you just happen to do so along the way. But I think it's difficult to translate that into a more general point about simply adopting a different outlook on your circumstances to effect meaningful change. There are big swaths of the human experience that that philosophy doesn't speak to.
You're absolutely right about "at some point in your life, you have to have had the time and stability in life to learn all that, and you need time and stability to work towards your goals in the present using those tools." And I failed in adequately establishing the audience to those that can afford to do otherwise. That's an entirely different beast, and I tried avoiding it by writing "nearly nothing" instead of starting from just nothing. I was thinking more college freshmen, people working minimum wage trying to move out into other fields with just software example as something I was familiar with. At that level, wealth is a priority to survive. Do you have any advice on how I can improve the argument, to avoid downplaying that situation?
To my mind, there are two angles to address. On the one hand, your argument really makes the most sense in the scope of "for people with a background in software", and due to the unique nature of software use and development, I don't think it would easily transfer to other domains. So, you can content yourself with making a point about people with a background in software.
Second, by bringing up free computer access at a library, it connects the point you're trying to make with the really complicated nuances around poverty. Even assuming we ignore smartphones and tablets (because how can you get any work done on one?), the demographic that only has access to a device with a keyboard at a public library is going to be almost entirely facing (at least) moderate poverty, and life in poverty just looks very different from the kinds of backgrounds that the rest of your piece implicitly addresses. So, you could focus instead on the wealth of free software tools available to the people who are in some range of circumstances to take advantage of them, assuming that access to a device with a keyboard isn't the primary challenge.
Thank you heyitsguay, I'll definitely try to edit the article to factor that in. I'm sorry having not been more specific before. But how can I still target those that are fortunate to have libraries they can take advantage but just don't realize it? Not everyone is as fortunate, but I'm a poor immigrant from Colombia and spent the majority of my childhood in public libraries while my parents worked and that's how I started my background so it can be done, but like you said, not every facing poverty will have the same circumstances.
Interesting, I bet that's an experience that most people on HN haven't had (I certainly haven't!). Since lots of the comments (including mine) have focused on how hard it is to take advantage of software engineering tools online without a CS/software background, and how hard it is to develop that background in precarious circumstances, it could be really interesting to write more about how you came to learn these things yourself.
what could I do if I were to start with nearly nothing?
I would point out that you'd also have to start, prior to a background in CS and software engineering, with an environment that is stress-free enough to learn/do programming. We know that stress reduces the ability to learn and think rationally, and also that poverty is extremely stressful.
How could someone in the situation you describe find a environment that is stress free? I was thinking public libraries but being impoverish would still make it stressful in that case. What are some approaches in that boat to get out of negative feedback loop?
Comments
This seems to be the functional crux of the argument, but it's flawed, for at least a couple reasons.
(1) It presupposes a background in CS and software engineering, as well as knowledge of the ecosystem of tools available online. At some point in your life, you have to have had the time and stability in life to learn all that, and you need time and stability to work towards your goals in the present using those tools.
(2) It's too narrow in scope. This is shown as one example of a general philosophical mindset, but in fact software engineering is uniquely suited to starting out from nothing in this way. You'd be hard-pressed to find analogous examples that require any interaction with the physical environment.
If you're already into software, and you want to learn more about it or build something new, you're right that we have a lot of free resources available online to do so. And I agree that it's good to structure your life, when you can, so that pursuit of wealth isn't important, and you just happen to do so along the way. But I think it's difficult to translate that into a more general point about simply adopting a different outlook on your circumstances to effect meaningful change. There are big swaths of the human experience that that philosophy doesn't speak to.
You're absolutely right about "at some point in your life, you have to have had the time and stability in life to learn all that, and you need time and stability to work towards your goals in the present using those tools." And I failed in adequately establishing the audience to those that can afford to do otherwise. That's an entirely different beast, and I tried avoiding it by writing "nearly nothing" instead of starting from just nothing. I was thinking more college freshmen, people working minimum wage trying to move out into other fields with just software example as something I was familiar with. At that level, wealth is a priority to survive. Do you have any advice on how I can improve the argument, to avoid downplaying that situation?
To my mind, there are two angles to address. On the one hand, your argument really makes the most sense in the scope of "for people with a background in software", and due to the unique nature of software use and development, I don't think it would easily transfer to other domains. So, you can content yourself with making a point about people with a background in software.
Second, by bringing up free computer access at a library, it connects the point you're trying to make with the really complicated nuances around poverty. Even assuming we ignore smartphones and tablets (because how can you get any work done on one?), the demographic that only has access to a device with a keyboard at a public library is going to be almost entirely facing (at least) moderate poverty, and life in poverty just looks very different from the kinds of backgrounds that the rest of your piece implicitly addresses. So, you could focus instead on the wealth of free software tools available to the people who are in some range of circumstances to take advantage of them, assuming that access to a device with a keyboard isn't the primary challenge.
Thank you heyitsguay, I'll definitely try to edit the article to factor that in. I'm sorry having not been more specific before. But how can I still target those that are fortunate to have libraries they can take advantage but just don't realize it? Not everyone is as fortunate, but I'm a poor immigrant from Colombia and spent the majority of my childhood in public libraries while my parents worked and that's how I started my background so it can be done, but like you said, not every facing poverty will have the same circumstances.
Interesting, I bet that's an experience that most people on HN haven't had (I certainly haven't!). Since lots of the comments (including mine) have focused on how hard it is to take advantage of software engineering tools online without a CS/software background, and how hard it is to develop that background in precarious circumstances, it could be really interesting to write more about how you came to learn these things yourself.
I would point out that you'd also have to start, prior to a background in CS and software engineering, with an environment that is stress-free enough to learn/do programming. We know that stress reduces the ability to learn and think rationally, and also that poverty is extremely stressful.
How could someone in the situation you describe find a environment that is stress free? I was thinking public libraries but being impoverish would still make it stressful in that case. What are some approaches in that boat to get out of negative feedback loop?