Where can I get some good courses/resources to improve my tech skills?
I've been toying with the idea of having a little hobby computer store for years and I've reached the point where I feel I have nothing to lose in trying it.
I don't intend to make it my main source of income but I'd like to have some sort of formal knowledge base to resort to, regardless I've been acting as the tech guy for several years for a lot of people.
Where can I find some good courses/resources, preferably online, to improve my knowledge base?
I'm a long time Linux user so I intend to use my hobby to make some noise about it.
I can’t offer any resources other than what’s already well known, but I can say that there is no better way to learn than just starting projects.
If it’s something you want to build then you’re more motivated to learn because it’s something you enjoy.
I am a software developer now, but it took me way longer than it should because I just kept consuming knowledge but nothing really connected until I started actually building things.
So you could set up Linux servers headless, Practice admin tasks until comfortable. Using cloud for building networks and implementing security is great fun.
First step definitely would be to identify specifically what you'd like to improve. To say 'tech skills' is to cast a wide net. If you want to learn all sorts of things that's fine, but to get started with that and identify resources you have to be at least temporarily specific.
Are you thinking along the lines of system administration? Networking? Programming? Hardware setup/troubleshooting?
Hardware setup and troubleshooting, as I want to sell custom built machines would be a good start. Basic care and maintenance would be a plus, has I would like to buy used machines to "refurbish" and return to use.
On the software side, I've been running installations and system maintenance for years but there is always room to improve.
Programming I really don't see myself doing but I do admit having some curiosity towards python, going for years, but I really don't know where to start to approach it.
My background is not on STEM and I was always passed the notion that without roots in hard math I can't go far in programming.
Programming I really don’t see myself doing but I do admit having some curiosity towards python, going for years, but I really don’t know where to start to approach it.
You'll probably want to start small at first (random number generator, calculator, tic-tac-toe), but eventually you could create an app that would help you with your business. IDK, just thinking out loud, maybe inventory management or a system maintenance tool?
My background is not on STEM and I was always passed the notion that without roots in hard math I can’t go far in programming.
I made that mistake years ago and have always regretted it. I mean, I'm doing just fine now, but that fear of math really did me no favors in life. I really wish I had pursued a CS degree.
My background is not on STEM and I was always passed the notion that without roots in hard math I can't go far in programming.
I swear this is some BS repeated by people who have no idea what they're talking about. I got told pretty much the same when I was younger - don't believe it. It may have been true to some degree at some point in the distant past, but it's outdated advice at best.
Your main general skills when it comes to writing code are the ability to think logically and to think about abstract concepts. Creativity and imagination can definitely help. The ability to keep organized in your thoughts can also go a long way. Just about everything else comes in the form of knowing the language you're working in, exposure to common coding and software design principles, and knowing your coding environment.
Math can figure into a lot of different types of programming careers... Shit like writing video game engines and other complicated things that model physics and stuff come to mind. But it's not so much that math is intrinsic to programming, but rather that those types of software just require a lot of advanced math.
For example, I'm an automation engineer. It's just a sysadmin who writes a decent amount of code. Most of my programming work revolves around sending requests over our company's local network to servers or internal websites to do shit like remotely power up or shutdown machines or trigger a task or open up work orders. There is very little actual math, if any, in the entirety of my work.
At it's core, programming is just the storing, moving around, manipulating, and keeping track of bits of information. Especially in a language like Python (which is my primary language).
EDIT: I should probably add my background isn't STEM either. I'm a two time college dropout who got a break 14 years ago and left the restaurant industry to go into the tech sector instead.
id statt with books like this it might be a bit much at first but push through and youll get it. it doesnt have to be that book theres plenty of great ones out there on the topic. and your local library will probably have more and maybe better recommendations than we can give.
Honestly the best thing you can do first is probably to learn accounting (and maybe tax law?). A business selling computers is a business first. I use GnuCash, it's very good enough. It's not that hard to learn from the manual:
In terms of choosing products to sell? You can't compete and win with large companies -- you will only lose money. You can only create a new game that you can win at. For example, specializing in something specific -- retrocomputing, DIY kits, weird cooling, or maybe high-end commercial hardware produced for the Asian market, but sold to the US prosumer market. For example powerful embedded routers for hotels make fantastic home routers. I have one running OpenWRT and it blows any US-made consumer stuff out of the water.
Overall I'd choose an 'evergreen' product -- something neat from Asia that doesn't get obsolete fast at all -- that's why I chose routers as an example. Very generally we get a lot of neat stuff in Asia that you don't. "Store that sells cool stuff from Asia" sounds like a lot of fun to run :D
That brings me to the third thing -- establishing supplier relationships is pretty important if you're buying products.
Finally, B2B is way easier to make money that B2C (and less time consuming and more chill). So if you look at my commercial router example, you've got a cost advantage, it's a good product, it doesn't get obsolete fast, and some businesses need quite a few of them. So setting it up with some security cameras sounds at least like an OK 'lifestyle business', although maybe too boring for a hobby business.
Sadly I can't think of any solid course on these last 3 things, maybe there's a 'small business 101' out there somewhere.
If you're running a repair shop from home, the economics are bit easier, as you don't have to source product, just some tools. You need some decent Chinese tools (ping me and I will remember good brands for you), and some experience using them. It requires a lot of specialized skills, and doesn't make much money, but can be a lot of fun and can make a difference in people's lives. Learn at least how and when to desolder and replace capacitors, how to replace a laptop screen, and a bit of data and password recovery (personally I've required photo ID to do this last one). A good way to get started is to buy broken stuff and attempt repairs. Avoid microwaves, CRTs, and mains-power in general until you know how to deal with these safely.
Learning to repair electronics is an uphill battle these days. Most things are not made to be repairable. In a sense, that's what creates demand for your business if you can do it anyway. It requires a lot of creativity and knowledge, so there's a lot of cool stuff to learn. Learning to build electronics is as good a place to start as any, I guess. Adafruit and Sparkfun are good companies that offer lots of introductory material:
Find a project and build a home lab.
Build it the hard way, maintain it and open services to your family.
Same ideas: ebook library like Kavita, or Plex server, or Ad Guard, or VPN for the times you're travelling, or NextCloud for your personal cloud drive, or folding@home if you're feeling charitable with your compute power.
Anything, the important thing is to get started.
Each project has different routes of installation, depending on what you wanna learn, make it happen through research and learning.
Can't recommend anything that's not already known, but the thing that helped me the most is building projects. I recommend you start a homelab.
A homelab needs hardware. I don't know what kind of computer store you want to make, there aren't any around me, but I imagine it will include some sort of hardware maintenance. Get yourself a couple of broken laptops or PCs, usually sold for very cheap and try to diagnose the problems, order parts, install them, troubleshoot them. If at any point you feel lost, use your favorite search engine. You will probably land on some Wikipedia page. Read through it, and if you don't know a word, search for it. Repeat this recursively and your knowledge will kind of build itself :)
This hardware will probably be pretty old unless you spent a lot, so try to upgrade it. Get some cheapo SSDs, RAM, etc. I imagine customers would need a service like this.
A homelab may be useless without software. I had the most difficulty setting up and provisioning Windows (I've been a Linux admin for God knows how long), so since you'll have a few working machines, install Linux on at least two, install Windows on at least two (of course use something you have laying around as well), so that you can try out different OSes and ways to communicate between them. Now you have a home lab :)
On Linux, the skills I needed the most to provision my own servers (off the top of my head), disk management (mounting/unmounting volumes, formatting, partitioning, etc.) working with services (searching for "systemd" and "systemd service" should yield very good resources), basic UNIX shell utilities (cp, rm, mv, etc.). Linux man pages are also your friend. I imagine you probably won't be working with servers a lot, but there is no better way to learn Linux IMHO. Run a web server and some sort of file sharing server, such as Samba.
From the above, learn the equivalent on Windows + Active Directory. This is where you'll see your knowledge celitify.
Network them. Get a switch that supports VLANs, I recommend older enterprise switches, such as the Cisco Catalyst 3xxx or HP Enterprise switches, which you can get for cheap. They use a command line interface for configuration, but the guides for it demonstrate a ton of key networking concepts, which you will definitely find helpful when diagnosing problems for a customer, trying to imagine their network layout. Here, I recommend NetworkChuck and David Bombal on YouTube. Again, if you don't understand something, search on the interwebz, applying the recursive method mentioned above. Then run Wireshark on one machine to scan the network traffic and search for anything unknown.
I know I went a bit too far, but once you build a homelab, you will be able to fix at least 90% of problems people encounter with hardware, software, networks, because you'll naturally build a thorough understanding of the systems and networks your customers have at home and even be able to replicate them.
Hope this was helpful at least somewhat, and sorry for the long comment. If you need help, feel free to reach out to me or any other admin community, we're all happy to help :)