A nice story of how a young boy's enthusiasm and unhindered spirit got in the right place at the right time. I feel happy for him and his family to stumble upon this path in life - and then smashing it an building his own gold road! Alas, I also feel sad at the same time, for myself not having that opportunity and having wasted my programming skills all together after I went to university,due to outside pressures and chasing my own dick, so to say.
The funny thing is that someone very close to me knew how to program, and never once did they think it would be cool to show me how. I didn't write my first line of code until I was 26 or so. Maybe even later.
To be honest, I think that's how you become good - by working on your own stuff. I feel like my skills are rotting at work. I work with "cool tech," but I basically "learn it" for long enough to implement it and never look at it again.
Some of the best coders I know are 9-5ers, with busy lives outside of anything to do with computers.
I understand where you're coming from but this is also a harmful mindset for anyone coming into the profession - I have been careful to emphasise to the people I'm tutoring to not make my mistakes and sacrifice life outside of work in the pursuit of "better" coding skills.
To be fair, long amounts of time practicing is how you get to be a really good musician, or basketball player, or skateboarder, or anything.
But that doesn't preclude practicing in the same general area as other people with similar interests. And even if you end up practicing for 4 hours a day entirely by yourself, there are still 12 other waking hours you can spend doing things with other people.
As user 'thrower123' replied, I was busy jackin it and playing with girls which obliterated my previous schedule of learning 24/7 and being eager to do so.
I genuinely despise the change that lead to who I am. But as I write this I also realize that it was all me and this is just a bunch of self pity and I'm being a whiny little bitch that should not be scared of doing stuff for fear if not being as easy/able to as when I was younger. Fear of failure? Possibly. Probably. I'm too drunk to keep going and need help. Or money so I can take some time off and work on myself physically and mentally.
If it’s any comfort the alternative doesn’t turn out much better. Most of my life I looked down on prurient interests and instead chose to master my profession, convinced it had to be the smart choice.
Now I find myself on the wrong side of 30 with a collection of useless money and assets slowly coming to accept that I’ll never have that ideal lifelong relationship with someone that matters. Soon I’ll have more years behind me than there are ahead and anyone I find will never have the shared experience of being with me during my prime years. They can never be a life partner now, they are simply a partner joining me as I age and go downhill from here.
I wish I had spent more time on the hunt when I still had my entire life ahead of me. So if that’s what you did, don’t worry, it works out better in the end.
> If it’s any comfort the alternative doesn’t turn out much better. Most of my life I looked down on prurient interests and instead chose to master my profession, convinced it had to be the smart choice.
> Soon I’ll have more years behind me than there are ahead and anyone I find will never have the shared experience of being with me during my prime years. They can never be a life partner now, they are simply a partner joining me as I age and go downhill from here.
You have it all wrong. Your "prime" is what you make of it. Thinking that someone couldn't be a lifelong partner because they entered your life past your prime will only set you up for unhappiness. I don't know you but I truly hope you do find someone whom you feel you can call a life partner.
Because if you've taken good care of yourself throughout all these years, you can definitely get yourself a great life partner.
If not, then you might have to work on it.
Either way, change your outlook if you want to attract quality. People with options won't want to voluntarily subject themselves to this persona, it's miserable, learn to love yourself.
The combination of good health and fitness, financial stability, no debt, no kids, no divorce, is exponentially increasingly rare and desirable with age. It's a hell of a catch, a damn unicorn.
When I was in my 20s I found fit cougars undesirable as all hell, in my 40s now when I see a fit single woman over 35 without any kids, no divorce, no drama or evidence of crazy, I get very interested. It's the same for women. If you make it into your late 30s and beyond without getting trapped with a bunch of baggage and are in great health, you've dodged multiple bullets! You just have to put yourself out there and meet members of the opposite sex (or same if that's your preference) who are in a similar position and discover your real prime years.
My guess is some HNers who have taken on said baggage but haven't yet found themselves single again are having difficulty agreeing there's a substantial disadvantage to having it, should they be back on the market. The reality is it severely limits your options the more there is.
What is tough with happiness is that the more things you have the harder it is to achieve. Or a perspective that effectively erase the chance of being allowed to be happy.
My own path was to start dancing, a tough one like argentine tango, since it requires full mental awareness. Which in effect means that you always come home with a grin from side to side. This will be true with any form of activity that actually makes you focus.
You always have the rest of your life ahead of you, it's up to you to make something meaningful out of it. Don't set out to find a partner but rather your passion (that involves other human beings not computers), and love will find you. And as others wrote, it's a bit of luck involved, but you have to give luck a chance to strike you.
I guess it's never too late, regretting stuff is always a downward spiral.
More than that. In my mid-40s I had a weird back/neurological problem and spent several futile years with physios, osteopaths and chiropractors. Then I started going to a gym where an assistant recommended tango. The back problem soon cleared-up.
For me it solved the puzzle of the meaning of life. After a couple of years I had a dance where everything just flowed perfectly. I clearly remember the feeling of 'dying' and being 'reborned'. That is now my point of reference going forward.
I think you are selling yourself short. I personally know people who have gotten married for the first time after 40 (and are now in their 60's) -- and are very happy.
It's not too late, and most people will spend most of their adult life above 30. The only thing that is better about being under 30 is less wear and tear on the body.
You have already figured out that money and stuff aren't the things that really matter, and that's worth a lot. I encourage you to keep looking.
Find someone who interests you, who is of similar age and experience -- someone who has also figured out that money and stuff aren't what matters. Yeah, you'll probably try multiple times and find that it doesn't work out (for whatever reason). But if you have reasonable expectations, keep trying, and honestly look for someone to give your love too, there's a good chance you'll find them.
One thing that might help is to find ways to serve others -- in a way that does not benefit you (except the satisfaction of really helping someone). Pick a charity or an organization that is doing something that interests you, but also benefits others. That could be a good way to find someone who cares about the same things you do.
Or just find a group that has events related to a hobby you have, or a sport that interests you -- anything casual and low-to-no-pressure, but is still an "in person" thing.
Worst case you do help some other people, and/or have some fun doing hobbies/sports/etc. Best case you find someone you want so spend the rest of your life with. I think it is worth the effort. so I encourage you not to give up.
There is perhaps a wrong side of 65, but I don’t think there’s a wrong side of 30.
I met my wife when I was 34 (married when I was 39) and I can’t imagine anyone I’d rather spend my life with. The only downsides are we’ll be a little older than average at college graduations, will be tired helping out with any grandkids, and are unlikely to celebrate a 75th wedding anniversary, but the game is far from over.
You’re not even to halftime yet... The grass is pretty damn green on your side, too.
I had a similar idea for Asheron's Call, to build a modular plugin system for its bots. People could in theory be authorized to receive a plugin, which would be beamed from the server and dynamically injected at runtime. Reasonably secure copy-protection (aside from the rare determined and skilled hacker). I even had about 10k lines of code written, but it wasn't very impressive (although there were some interesting gems). Sadly, the game started getting DDOSed, which led to a sharp drop in population and abandonment of the project around 2014. The game shut down within a couple years after that.
I love the concept of making interesting bots for games that aren't originally intended for bots, but it's becoming harder and harder to do so given the issue of cheating. Makes for a major risk to a project that is already hard to justify doing. I believe Blizzard has sued someone for making and selling a game bot, so there is precedent for legal trouble as well, which is very unfortunate for hobbyists.
I wonder how many people got into coding because of Runescape like the author... I have almost the same origin story [1] and I know a lot of people who also do.
Douglas Rushkoff's Cyberia (1994) has some coverage on the idea of a true hacker and the "curious" personality archetype that matches it. It was more than 10 years ago that I read it and it resonated strongly with me, so perhaps it's worth a read if you like to understand more of the psychological roots.
I share that sentiment. My first exposure to programming was some C++ when I was 13th but I gave up 2 months in. It was my fanaticism over playing Runescape that reintroduced me to programming through making bots with SCAR.
I was planning to introduce my kids to game development this summer. Is Gamemaker still the best platform to introduce kids to game dev? My kids know a bit of scratch...
I got into programming because of Runescape as well! Although my beginning was bots written in AutoHotKey that would:
1) Search screen for pixels within the color of bones
2) Pick up bones
3) Bury bones
My prayer level went through the roof! Then they implemented "sleep", a system where each action added a bit of "exhaustion" that could only be solved by walking to a bed, sleeping, and typing in a captcha in order to wake up. Killed my bots! But not my love of programming :-)
You can count me as another data point. I started taking coding seriously at around 11/12 years old, working on one of the big Runescape fansites, and very quickly lost interest in playing the game because I found coding to be more fun.
I wonder where this is happening today, for the next generation of developers. Roblox seems like a big one, are there others?
These stories are entertaining but one must always remember there is some element of luck when things like this happen, and plenty of people coding side projects and not making a dime. So don't feel bad if you didn't make enough money top buy a house while you were are school!
You've got to give luck an opportunity to find you, by getting involved in things.
Once the author saw the opportunity, he then pivoted to exploit it through a lot of time and effort. It's pretty clear that other bot makers did not see that opportunity, or saw it and did little.
My perspective is you make your own luck - and really you are making a lottery ticket with probably much better odds than a real lottery ticket, and other upsides (if you fail you gain experience). But it's still a lottery ticket so it is not always useful to disect someone else success and say "oh they woke up at 4am every day, so I'll do that to be successful" etc.
Games with strong user-hosted server ecosystems seem to be a great way for kids to start gaining serious coding experience. I went a similar path with Minecraft servers (and also first started with Runescape, both are in Java) - making a server in highschool and grossing ~$150k in a year and a half.
Before making a server, I thought coding was cool, but had never done much beyond running some basic programs. Making a server gave me clear goals that helped me learn coding much faster. "I need to figure out how to add custom bosses so my server will be more fun!" is much more fun and interesting to a teenager than "I need to figure out how to remove a Car object from this list of Car objects". There's also the very important social aspect - seeing other real people enjoy code you wrote is extremely satisfying.
And you can do really cool stuff with servers that teaches you real things, moreso than any class could. My own experience writing a ton of custom code for my Minecraft server taught me things like Unix, Redis, MySQL, web dev, reading obfuscated code, networking (like running 8 servers and writing code to pass players from one to another), deployment, basic security, pathfinding algorithms, writing scripting engines, etc. etc. all of which I had no experience with before, and would not have learned for several years otherwise. I'm graduating with my master's in CS now and still haven't been taught in class many of the things I had to figure out to make what I wanted to make. The few other devs of big servers that I knew had similar experiences - started off as beginner programmers, and gained a huge amount of experience from building out a passion project.
It's sad how few games let you host your own now. Pay for XBL/PSN/whatever, or the PC game co runs all the servers, or Google wants to sell you Stadia.
Fortunately, "moddable" is a genre and people want it, so it can't be killed completely. Kind of like how adding IAP "makes more money", but "doesn't have IAP" is a genre people want, too.
A similar story here. I was into the game and started running a Minecraft server hosting company in high school (selling VPS'es with a Minecraft control panel, effectively). I ended up learning and doing the operations, maintenance, support, marketing, taxes--the usual jack-of-all trades of being a startup. My connections and experience there led directly to me joining another company, which has subsequently been acquired and landed me at Microsoft.
I wish more CS/programming classes, particularly pre-college, were game-oriented. A Java course I took in school had us writing a 'database' command line app that held fake enrollment information. Had that kind of thing been the only exposure to programming that I was given, I almost certainly would not have entered the field. But show someone like me a way to automate or expand something like Runescape or Minecraft? That, I'm interested in.
> A Java course I took in school had us writing a 'database' command line app that held fake enrollment information. Had that kind of thing been the only exposure to programming that I was given, I almost certainly would not have entered the field.
Me neither. That said, in retrospect, I believe university is more similar to real jobs that people give it credit for - the tedium only gets worse in a typical dayjob. As much as I hate "fake enrollment DB" exercises, they're pretty accurate description of how the work looks like.
(I used to want to go into gamedev professionally; due to various life events I went a different way. Judging by stories from both HN and IRL people I know from the industry, I may have dodged a bullet here.)
The thing that always bothered me is that the “fake enrollment DB” doesn’t solve a problem anyone has. It’s play-acting at solving a problem. So you get the tedium of work instead of the fun of play, but the productivity of play instead of work.
Yeah, you can get there that way but it’s a slog, and the reward is a long way off. That’s not like work. At work you get a regular paycheck even if enrollment DB isn’t thrilling.
I'm a teaching assistant for an intro to programming class, and I do feel that solving an endless train of toy problems is problematic for students. From my experience, the best way to learn is to understand a real problem, determine it's requirements, then design a solution. However the professor and I struggle to find real problems that are approachable for novices with varied backgrounds.
I saw an open source class called nand to tetris where students had a semester to create a machine that could play tetris, starting with only nand gates. I thought that seemed like a much more fun progression for computer hardware than the undergrad courses I took. I would love to discover something similar for programming but so far I haven't found it.
I thought that the Java Robocode stuff was interesting and could help inject some fun or 'gamification' into development.
Would that not be a useful challenge for CS students?
https://robocode.sourceforge.io/
Thank you for sharing. This is similar to what we were looking for, something that gamifies the assignments to get students more engaged. Part of the problem is that there are so many free coding resources out there that it's tricky to find a mature one that people have gone through and found rewarding.
Game development is the poster child of this goal; many a programmer (myself included) started this way, on their own. It offers a highly desirable goal (fun and a creative outlet) while forcing you to pick up many of the important programming concepts as the complexity of your code increases.
Simple 2d game
To do app
Timesheet app
Implement a clone of x with something extra of your choosing
Top Twitter celebrity app using its API
Building a search engine
Creating a programming language
An issue with the programming courses at my uni was that none of them used a database. The programs were toy apps by design. Instruct students to use sqlite or MongoDB, and encourage them to use PostgreSQL/MySQL.
Our database class did use databases, but we had no integration of the two subjects.
To do app has always seemed an optimal one to me, since it should be relatively accessible, no matter your prior experience, but infinitely customizable. I remember a YC founder telling me that both pg and sama didn't think there was a broadly available to do app that met their needs, so they both rolled their own (and continue to update it as their needs change). That seems like a pretty optimal intro project to me
Hear hear. I got into coding as a young teen from running a counter-strike server and wanting to make my own adminmod plugins to do more cool stuff on the server, had to learn Small C. Then I wanted to go further than the restricted API adminmod had for plugins so I learned how to build and modify actual adminmod, then metamod, eventually was working in C++ building actual mods for half-life, was all fun and games at the time but gave me a platform for a lucrative career later in life, sweet!
I can relate to that. I've got into programming when I joined Blank-TV (which offered free HLTV servers at the time, similar to hltv.org). They've had a system that, nowadays you'd call it autoscaling, automatically booked new relay servers onto the master server based on the viewer count.
It doesn't even have to be programming. One of my best friends started doing little gigs for clans/teams and designed their websites. Each game had its own little eco system back in the days where you could offer/buy anything from scripts, to websites and skins.
Hosting a long term game of freeciv was essentially the catalyst for me transitioning from math teacher/trade union official to web developer, via making some web apps For the players involved.
I understand things change, income is different between jobs. I am not passing judgement on the fact that you transitioned away. It would be awesome if teachers were paid as well as a web dev.
It pisses me of that basically everyone who ended up with bad career prospects from their physics or similarly difficult degree switched to tech. It makes it look like there are 0 career prospects in other industries.
It's not that there are no career prospects in other industries. It's simply that certain careers can be bootstrapped on your own, and others you need to help/training/licensing/whatever to get into. You can't become a doctor or civil engineer by just hacking on your own & applying to jobs.
That's not true. My physicist friends from university ended up in various different places. Many of them with a technical or analytical twist, yes, but certainly not all in the 'tech industry': several data scientist, a quant, various opportunities at insurance companies, one who builds spy satellites, somebody who builds lensing systems for lithography, and of course a few who became software/system engineers. None of my acquaintances from uni struggled to find good employment in various industries.
I'm not sure if I understand what you mean, other than quants and insurance companies I'd consider all of these "tech jobs". Or does "tech" now mean "webdev"?
Eh, I don't live in the US and I'm not up to date on the slang, but honestly a sentence like "some people work in technology while others design equipment for IC manufacturing" sounds quite silly to me. I'll try to remember now.
Apologies for being obtuse. It was me, not you, that failed at communication. :)
The type of work, though, and skills required are quite different, regardless of that they technically both develop and involve 'technology'. Semiconductor lithography requires a pretty exciting mix of skills starting with plain physics (classical and by now a bit of quantum optics), materials science, mechanical engineering, data analysis/science, software engineering (both for simulation and analysis of production of lensing systems), and I'm sure I'm missing half. It is quite different from "writes software for a software company", which is the framing I had interpreted from the comment I originally responded to.
Building spy satellites could be argued to be electrical engineering, space/flight engineering, physics, data science, etc. In the interpretation of tech industry == software, these are career options that are open to physicists (and similar grads) that aren't in the-HN-type-of-tech.
I think that is pretty common in the west. A social job does not pay as well, you should be doing it for the greater good. Today's society does not value the future
A person taking a job in teaching benefits society as a whole but disadvantages them individually. We should transfer some of that benefit to them to make it an attractive option by increasing taxes and salary.
What did he say that made you think he was volunteering other people's money rather than his own...? He would presumably also be paying the increased taxes he recommended. Also, why such an abrasive/defensive response when he simply recommended paying teachers a more attractive salary?
I think it's the other way around. People who gravitate towards these jobs are willing to put up with more, which while a useful skill in some contexts means that the entire profession has reduced bargaining power.
While I am sure there are local variances, a high school teacher in my neck of the woods will easily out earn the typical web developer by a sizeable margin. I cannot begrudge someone for doing well in their career, but there is a sentiment found in this thread, and I am under the impression that you are alluding to the same, that higher paid teachers will produce better outcomes for the students. I am not sure there is in any indication of that being the case.
Purely anecdotal, but I was a tutor for two years out of college and planned to be a teacher (originally college, then high school). I went into a different field for 3 reasons:
1. Pay
2. Professionalism - all of the teachers I saw and talked to under 65 were treated like dirt, and were micromanaged instead of being treated like professionals
3. Barriers to entry. By the time I got my Master's and decided I'd rather teach high school than spend several more years getting a PhD, it was financially impractical for me to go back for more years to get a teaching degree. It was also very difficult to find internships and open positions. One guy I know who did a straight teaching degree interviewed almost a HUNDRED TIMES despite doing incredibly well in his program and student teaching at a prestigious high school.
I'm sure the kids are doing fine without me, but I had stellar reviews from every kid and parent I ever worked with, and from professors I TA'd for. People have told me my whole life I should be a teacher (came up again just the other day with the guy I was pair programming with). I'd happily take less money to be a teacher, but when you add in factors 3 and especially 2, it just isn't worth it to me. I'm not going to suffer a bunch of professional abuse and take a financial hit to boot to do something that my society doesn't seem to genuinely value.
I see your second and third points being issues locally as well – if you work for the government.
However, you might be interested to know that the most successful business in my neighbourhood actually operates an online high school. A friend of mine in another city also operates an online high school and seems to be doing quite well for himself. There appears to be a large market for such services.
Especially if you also have web development skills, the internet provides a platform to be a teacher independently, resolving the second and third points. The first point probably depends on your business skills. However, seeing how well that aforementioned business in my neighbourhood is doing, the potential upside is huge.
I don't know where you're located, but in the U.S. if you already have a masters, you don't really need a teaching degree (a certificate is all that is needed in most states). My wife, an eighth grade science teacher, has a masters in neuroscience - no formal teaching degree - and is on the same payband as any other teacher with a masters.
I was a high school math teacher (California, US). Best thing that ever happened to me was leaving that to work in software.
As a teacher, I was working 70 hr weeks to get lesson plans in place and to grade work. Summers were booked for summer school. Every minor "vacation/break" was filled with catching up on everything. I worked with socio-economically challenged inner city kids whose families (generally) saw no benefit to an education. The pay was terrible. After 5+ years and if I were not the sole income for our household, we might have been able to eek by. As it was, we were in a debt cycle that we could not have escaped. I would never have been a home owner.
After becoming a software developer, in my first year, I made as much as a teacher with 20 years experience and a doctorate. Fast forward several years, and I out earn superintendents. I can actually have a mortgage and plan vacations with the family and help my kids with expenses.
I have three stepkids ages 12 to 15 who are all interested in STEM, and we've been looking for a summer coding/compsci project for them. They're into games like Minecraft and Roblox. This might be a good avenue to take.
Back in the day, I actually talked to somebody in one of my C++ classes who made (IIRC) around $50k in a year running some kind of gaming server. I looked into it at the time, but it didn't seem like my cup of tea. I might revisit the idea. I suspect that these high-dollar figures are outliers, but it could be a good way to get the kids some valuable real-world experience and maybe they can make a few bucks so they have a little bit of spending money.
I learned programming at 13 for similars reasons. First I got an action replay for my Gameboy Adavance, and this opened a whole way of thinking about videos games to me: I could override the restrictions of the game and do the impossible things I always fantasized about (for example walking into the grass in the Pokemon day care). Althrough I had no idea of how it worked at the time, it really sparked something into me.
Soon after, I got into a French MMORPG called Dofus and I absolutely loved it (maybe even a bit too much?). But since this was an online game, there was no cheat codes for it. After days of searching on the internet, I joined a few small communities of other kids that were learning programming in order to write bots for that game.
It was so much fun, and got me to learn about so many aspects of programming: reverse engineering, network communication, "AI", pathfinding, complex user interfaces, RSA authentication, security (the game had a lot of anti-bot technology), making a lexer/parser in order to have my own scripting system for users and so much more. It was messy and I kept rewriting all my code as I learned better ways to do things, but it was so rewarding having hundreds of users and a community around it.
I am now a professional programmer thanks to this, even through what I was doing wasn't particularly ethical or fair towards other players and the devs of the game. But I was too young and was having too much fun to understand that. I stopped once a friend got sued by the game company for making and hosting a server emulator.
I hope you mention this in interviews. I'd imagine it fits your brand very well, as it says a lot about how you approach things. I wish I was this motivated at that age.
> I'm graduating with my master's in CS now and still haven't been taught in class many of the things I had to figure out to make what I wanted to make.
Maybe the fact that you figured it out is an indication that it doesn't have to be taught in a CS curriculum. Most of the things that you mentioned have great documentation and tutorials outside of the classroom. The fact that so many people use them without them being taught in schools should be proof enough. I think the current situation makes sense -- Computer Science education should focus on teaching the fundamentals of algorithms, data structures, discrete math and how to think conceptually about problems without regard to implementation. By learning about data structures and the like, you indirectly learn how best to use memory, redis, MySQL, write servers and whatever else.
I often receive flak for expressing a similar opinion when people express disappointment at CS not teaching them "how to code". Your tuition is best spent on conceptually difficult material, not stuff you can easily pick up on your own.
Whenever I talk to people about data science I repeat the old adage:
A data scientist is a statistician who can program or a programmer who understands statistics at a high level.
It's amazing how few CS people become data scientists, I think physics and economics degrees are the most common degrees among elite DSs I know.
but it actually makes a lot of sense - it's relatively easy to pick up coding. In fact, it could be the best-taught skill on the internet, there's no shortage of material for a person who wants to learn to code. I think that most CS people don't learn enough statistics to really pursue DS and a ton of people with advanced stats knowledge can pickup coding relatively easily.
Now when I talk to kids, I tell them that if they want to go to college, they should try to learn something they can't learn on their own.
I wrote a plugin to fix an issue we had on our server, then got asked to do some work on the server's website to show news and in game stats.
Wound up on the admin team helping to run it. Built a number of plugins for it. Learnt a lot of Linux/ server ops through it, and the importance of backups.
And it helped me get a job. I showed off an Angular based editor I wrote for one an achievements plugin. The plugin exported data on available triggers and rewards ("is person in this area", "do they have this item equipped", "give them this item", "spawn this mob near them"), and the editor turned this into a GUI anyone could use to quickly make/edit achievements.
Does anyone remember The New Yorker article from June 2018 about the magazine “Teen Boss” that described similar stories regularly, except that it was marketed to pre-teens and teens?
Wow, exactly how I got into programming too! although I made 40$ in the end instead of 200k :D The timing also matches up pretty well, I wonder if we bumped into each other on the forums. I was on the scar forums, then SRL, but the period I was most active was on villavu (iRobot), after Arga came out I started to become less active. I wasn't at all involved with the RSbot scene and knew almost nothing about it.
THE GenoDemoN?? How are you and ruler doing? Do you remember Lardmaster?
(I also remember that I became inactive, and then some scammer hacked my account, which may have left a bad taste in your mouth because you thought it was me)
It's kinda sad how games don't really work this way anymore. There are few open-world sandbox games and mods aren't really a thing. It's "free-to-play" skinner box treadmills from here on out.
reverse engineering is your friend. i've modded all sorts of stuff that never intended it... Full Tilt Poker back in the day, MechWarrior Online, Ultima Online, etc. Learning how to hook into a program's functions and extract real-time data without destroying the stack, properly calling game functions with your own arguments, and translating your patches to new client versions is all pretty interesting and gratifying IMO.
Minecraft is still huge, and moddable. Sure lots of people moved to Bedrock edition on Consoles/Win10 but plenty of people still play the Java version and develop mods, resource packs, shader packs, etc.
Racing Sims like Assetto Corsa have a decent sized modding community with people designing and coding new car models, modifications to the physics/handling, audio packs, tracks/maps, etc.
Flight Sims are the same, and lots of other Simulator games.
As for open world games... Skyrim, GTAV, Empyrion, Space Engineers, Terraria, Starbound, are all moddable and have thriving communities.
Modding is very much alive and well. I'd suggest just finding any of the above games that interest you and having a play with the mod system. I find it a very entertaining and interesting way to learn more about programming due to the specific constraints of each game.
wow, this is kinda similar to how I got into coding and reverse engineering. what got me into it was Ultima Online and my first serious effort at learning coding was in C# of all languages. I focused on macroing and I helped pioneer/consolidate hacks across (hundred+?) client versions. I made a macroing client with built in script compilation (C# of course) which included code completion and syntax highlighting back when it was pretty difficult to do. the main difference is I decided to become a drug dealer instead of a professional coder and though I had pretty amazing short term success I'm now considered a violent felon by the state of California.
I remember back around the same time in 2008ish, I was reading the old WoW Glider (Glider was a Bot for WoW) forums and came across someone who was running a massive WoW farm from Germany racking in close to 150k a year. It's so interesting to see the transition both games have gone through to embrace the Pay-To-(Somewhat)-Get-Ahead with both WoW offering Tokens ($20 for 150k gold) and RuneScape offering Bonds ($7 for 4 million GP).
I dabbled in selling scripts for Wow, D3, RS, NeoPets way way back, even wall hacks and auto-aim bits for FPS games... Wow was the best in my opinion - it was fun waking every morning with an ungodly amount of loot, felt like Christmas.
It led to a passion for process automation, both hardware and software.
The one thing I could never overcome were the people in my surroundings - family, school, work ... they all said I was a cheat and if I cheat at video games what else wouldn’t I cheat at, why stop there. I haven’t noticed one comment regarding the ethics or morality of process automation for video games even though almost all games ban it under TOS. Would be fun to have a game encourage scripting.
Could be my then neighbor. Started while in school and made around that sum with Glider. Went to study engineering (nothing IT) and then tried to focus on his health and reduced the wow sidejob.
Holy shit! This is literally my story too. Playing runescape and writing scripts for botting programs was literally how I learned to program.
I ended up becoming a moderator on the RsBot forums and I remember Autofighter Pro when it came out. Super popular, and I didn't even realize it was made by someone the same age as me back then!
Anyways, even though I didn't make any money (I gave my scripts away for free!), I did learn a lot. I'm currently an engineer at Google and I honestly owe it to the incredible monotony of playing Runescape.
Exactly the same story here. When I was 12 or 13 I tried to use bots in Tibia to make some money on selling gold, eventually leading me to the path of trying to write my own bots for different games. I had one of the first proof of concept bot for Path of Exile which I reverse engineered myself.
I think it's really a great way to get into programming, since it's SUPER rewarding to make the computer game work for you especially if you can sell some of this work afterwards. I know for some people it can be viewed as a shady practice, but I regret nothing ;)
The Runescape "blackmarket" was a fun world to play in!
Like the author, I got into creating Runescape bots for a bit - but never works to sell them, just made my own for fun and (in-game) profit.
As I dove deeper into the world, I came across people who would purchase a monthly VPS and install botting software on it. There were plenty of guides on how to go through - but no easy solutions for those who weren't technical.
Realizing I had an opportunity to capitalize on this - I built up a hosting company dedicated to the Runescape botting niche. Each VPS would come pre-installed with all the required software and make it dead simple to begin botting within 5 minutes or so.
At my peak, I think I had over 100 dedicated servers each running anywhere from 4-16 VPS on them. Some of my customers were using it to level up their personal accounts, others were running gold-farming operations.
The business was fairly passive, and I learned a ton from the experience. Things eventually came crumbling down when the creators of Runescape broke the bots (This would happen on occasion, but things would be up and running within a day or two normally) for a long time. I had to shut down as all my customers left overnight.
But I think your auto-typer was really one of the only "allowed" 3rd party programs, and auto-clicking was never really enforced strictly.
When the bots got advanced, they pretty much had two methods via either injection or emulation of the entire game. So either they broke them through making a bunch of fundamental changes of ingame systems or the ability to connect to the servers.
They do it through various methods.. original common ones were random events, sleeping bags, slight screen rotations every so often, changing the ways you could interface programmatically with the game, changing colors slightly, etc.
Wow! I used your tools! I received a few black marks for using the mouse recorder to auto-cast curse on the lesser demon on the south Draynor wizard tower. The other Garyhood tools were fine though. Thanks!
It’s when people admit to doing things like this without any hint of remorse, and no-one calls them out on it, that it becomes evident that this is really “Y Combinator News”, and not really “Hacker News”.
A lot of these people were quite young when RuneScape was popular.
I would also appreciate at least a small effort to not glorify their actions...but what are you "calling out"? 13 year olds who botted some gold 10 years ago?
What would they need to feel remorseful about? Automating a video game? It's not like they're breaking the law... I think bots are the least harmful type of cheats anyway. I remember my first intro to programming was modifying Action Replay codes for online NDS games, that was fun but I ruined many people's games doing so. I do kind of regret abusing it like that in hindsight but I would do it again given how formative the experience was.
I would prefer if someone from an online game company could give their viewpoint; I think they could give a more understandable explanation than I could.
Well in this case they killed the game trying to remove the incentive for botting and then switched to a microtransaction model. Excessive botting makes player experience worse without at doubt but at heart I don't think you can actually just outright compare it. At its height the black market supported many people in a much more serious capacity than as a pleasure exploit for the masses.
SCAR was I think the first programming I did. It was very good software, really made it enjoyable. So much so that SCAR eventually _became_ the game.
Every morning before school and every afternoon when I got home I would check on my bot to see it either:
- Murdering chickens/Mining/Cutting wood
- Stuck on a tree
- Stock on the log in screen
I just remember how carefully i had to debug those scar scripts. A bug could waste night of botting, or worse do something suspicious and get your account locked.
I worry that kids growing up today have fewer opportunities like this.
For those that don't know, SCAR is a scripting IDE. It was originally created for Runescape, but it can easily be used for many other games or automated tasks. Scripts are written in the Pascal programming language (super old school!). The IDE provides the ability to focus on windows, track screen coordinates, and get pixel color values. There is a large standard library of functions- MoveMouse(), ClickMouse(), FindBitmap(), FindColor(), TypeKeys('asdf')- basically all the building blocks necessary to emulate human input. There are probably better scripting IDEs out there nowadays, but back then, this was one of the best.
I also got into programming through game mods, but for me in started with making maps for Duke Nukem 3D (yes, of '96 vintage!), and then 3D modelling and QuakeC mods.
A lot of people I collaborated with ended up working in the games industry, either on games like Unreal, or in journalism. I ended up working in the enterprise, but from the many bad stories of life in the games industry, perhaps it was a lucky escape :)
Back in my day, games weren't online, and I didn't really have the hardware to do them justice, nor the money to buy good hardware or games either. I remember playing Wolfenstein 3D from a cover-disk in a tiny postage-stamp sized window. At school we used to pass around cover-disks because we couldn't all afford to buy every mag.
Anyway, I kind of started programming from the get-go, and for a long time, programming _was_ my game. By the time I got to uni I found myself writing modding tools and editors for various games that my friends played or wanted to make mods for.
By then I had somehow found myself in a 'rogue' part of a very big company. I was surrounded by contractors making £60/hour so I started my own contracting company and was soon making way more money than I've ever made since.
Once I graduated I went into normal being-an-employee mode, and things have been getting financially worse ever since.
So its interesting, scary and confusing to read this guy's account of how he dropped out of school and has set up a stream of companies to sell his small products. Interesting, obviously. Scary, because I fear that some young people are reading it and thinking "I don't need school! I can make money!". Its the same way I get all scared when my daughters tell me how much youtubers apparently make. And confusing, because I can't spot the value in any of the products and stuff he has created recently. I guess I really don't get this whole social online world?! Perhaps I went in entirely the wrong direction all those years ago when I went and got a normal job?
Good luck to him!
Not sure what advice I'd give to a young kid now, though. To be honest, I'm not very keen on being an employee. But would you tell a kid to drop out of school and try and get funding for an app they sell to colleges etc?
> I was surrounded by contractors making £60/hour so I started my own contracting company and was soon making way more money than I've ever made since.
> Once I graduated I went into normal being-an-employee mode, and things have been getting financially worse ever since.
> Scary, because I fear that some young people are reading it and thinking "I don't need school! I can make money!".
Um... did you need school? You skipped the part where it helped you. (And were explicit that it hurt!) Why did you leave your personal contracting company?
I was part of a big company graduate-recruitment-program so I spent my summers interning with them. Luckily I landed in a team they called 'FastTrack' and that was where these contractors were. One of my war stories from that time: https://williamedwardscoder.tumblr.com/post/17282439831/an-e...
When I went back to uni, I set up my contracting company and continued to work for them, but now as a contractor. I even managed to get on their 'preferred supplier' list, which was a really major coup. Anyway, it paid for uni.
How come a listing with full details available publically can never make it to top of Ycombinator but a medium article with gated content ranks on top?
What do you mean by "a listing with full details available publically"? Can you give examples of articles you feel should make it to the top to HN but haven't?
The answer to why this one is doing well is clear from the comments: a lot of readers found a lot to identify with in the article. That's the important thing, not what site it appears on.
Oh yeah, loved to read this! Gaming and especially moddable games are a great entry into programming.
It wasn't exactly my entry, as I had programmed stuff before, but I learned a huge lot during my university time while writing a database site for World of Warcraft, which also had a distributed data collection mechanism by which hundreds of thousands of users could upload data gathered while playing the game to my site, where it would all be distilled into a database, of which a special, minified copy was then compiled and offered to be downloaded by the players right into the game, to be used while playing as a knowledge base. And alongside of that, people could query the database via a web frontend that used all the latest shit (it was 2007 or 2008, AJAX was a big deal back then, reactive layouts were in their infancy, but I had one, and I even wrote a 3D model viewer in the browser and something like Google Maps to view pre-rendered maps of the game world that looked like satellite images). That thing was 60k LOC Java (data processing and website), 30k LOC Lua (for the addon in the game), about 5k LOC ActionScript, some hundred lines of PHP and Bash scripts, and about 5-10k LOC of C++ for the native client to do data uploads and downloads.
I eventually sold it for about 60k€ including maintenance, and maintained it as a side project for 7 years total (most of the time I was also actively playing WoW) and then it was abandoned because the site didn't catch on enough among the competition, and the game itself assimilated lots of the functionality provided by my in-game database (which was named MobMap and did catch on massively with the players, I counted at least 1.1 million installs over it's lifetime) so that successful service became redundant over time and was eventually discontinued as well.
But that project brought me lots of experience. Different programming languages and runtime environments and contexts, operating a multi-server infrastructure all by myself, using the latest web tech before there were frameworks that did all the hard things for you, maintaining a codebase over a long period, reverse-engineering (to get some of the data out of the game you had to reverse the original game data file formats, and since they changed with every patch, that was a continued activity done by a very small community of people in obscure online wikis, to which I eventually started contributing), updating large numbers of client installs in a secure and reliable way, processing gigabytes of raw data per day into a concise database (I think it was about 50GB XML incoming per day and the final DB was 4GB MySQL - and it was pre-SSDs, so I had to work all in memory with that DB to get the insert and update speeds I needed), this project had it all, and I continue to draw from those lessons in my job today.
I'm jealous. I made $700 for a two year project that started when I was 15. :)
When the project started, my partner and I (that's right, the $700 was for both of us) thought that $700 was an enormous sum and that we were being very clever. (This was in 1984).
After two years (18 months of which was after my partner left for college) I finally was able to bring the project over the finish line.
> thought that $700 was an enormous sum and that we were being very clever. (This was in 1984)
This made me laugh out loud, it reminds me of the prizes Atari would give software devs via Atari Program Exchange (APX) contests, some of which teens won, which would be a few hundred bucks (or sometimes more) of credit for hardware usually, plus royalties on sales of the software
226 comments
[ 3.8 ms ] story [ 234 ms ] threadTo be honest, I think that's how you become good - by working on your own stuff. I feel like my skills are rotting at work. I work with "cool tech," but I basically "learn it" for long enough to implement it and never look at it again.
I understand where you're coming from but this is also a harmful mindset for anyone coming into the profession - I have been careful to emphasise to the people I'm tutoring to not make my mistakes and sacrifice life outside of work in the pursuit of "better" coding skills.
But that doesn't preclude practicing in the same general area as other people with similar interests. And even if you end up practicing for 4 hours a day entirely by yourself, there are still 12 other waking hours you can spend doing things with other people.
I genuinely despise the change that lead to who I am. But as I write this I also realize that it was all me and this is just a bunch of self pity and I'm being a whiny little bitch that should not be scared of doing stuff for fear if not being as easy/able to as when I was younger. Fear of failure? Possibly. Probably. I'm too drunk to keep going and need help. Or money so I can take some time off and work on myself physically and mentally.
Now I find myself on the wrong side of 30 with a collection of useless money and assets slowly coming to accept that I’ll never have that ideal lifelong relationship with someone that matters. Soon I’ll have more years behind me than there are ahead and anyone I find will never have the shared experience of being with me during my prime years. They can never be a life partner now, they are simply a partner joining me as I age and go downhill from here.
I wish I had spent more time on the hunt when I still had my entire life ahead of me. So if that’s what you did, don’t worry, it works out better in the end.
> Soon I’ll have more years behind me than there are ahead and anyone I find will never have the shared experience of being with me during my prime years. They can never be a life partner now, they are simply a partner joining me as I age and go downhill from here.
You have it all wrong. Your "prime" is what you make of it. Thinking that someone couldn't be a lifelong partner because they entered your life past your prime will only set you up for unhappiness. I don't know you but I truly hope you do find someone whom you feel you can call a life partner.
Do you have your health? Are you fit?
Because if you've taken good care of yourself throughout all these years, you can definitely get yourself a great life partner.
If not, then you might have to work on it.
Either way, change your outlook if you want to attract quality. People with options won't want to voluntarily subject themselves to this persona, it's miserable, learn to love yourself.
The combination of good health and fitness, financial stability, no debt, no kids, no divorce, is exponentially increasingly rare and desirable with age. It's a hell of a catch, a damn unicorn.
When I was in my 20s I found fit cougars undesirable as all hell, in my 40s now when I see a fit single woman over 35 without any kids, no divorce, no drama or evidence of crazy, I get very interested. It's the same for women. If you make it into your late 30s and beyond without getting trapped with a bunch of baggage and are in great health, you've dodged multiple bullets! You just have to put yourself out there and meet members of the opposite sex (or same if that's your preference) who are in a similar position and discover your real prime years.
My guess is some HNers who have taken on said baggage but haven't yet found themselves single again are having difficulty agreeing there's a substantial disadvantage to having it, should they be back on the market. The reality is it severely limits your options the more there is.
My own path was to start dancing, a tough one like argentine tango, since it requires full mental awareness. Which in effect means that you always come home with a grin from side to side. This will be true with any form of activity that actually makes you focus.
You always have the rest of your life ahead of you, it's up to you to make something meaningful out of it. Don't set out to find a partner but rather your passion (that involves other human beings not computers), and love will find you. And as others wrote, it's a bit of luck involved, but you have to give luck a chance to strike you.
I guess it's never too late, regretting stuff is always a downward spiral.
For me it solved the puzzle of the meaning of life. After a couple of years I had a dance where everything just flowed perfectly. I clearly remember the feeling of 'dying' and being 'reborned'. That is now my point of reference going forward.
It's not too late, and most people will spend most of their adult life above 30. The only thing that is better about being under 30 is less wear and tear on the body.
You have already figured out that money and stuff aren't the things that really matter, and that's worth a lot. I encourage you to keep looking.
Find someone who interests you, who is of similar age and experience -- someone who has also figured out that money and stuff aren't what matters. Yeah, you'll probably try multiple times and find that it doesn't work out (for whatever reason). But if you have reasonable expectations, keep trying, and honestly look for someone to give your love too, there's a good chance you'll find them.
One thing that might help is to find ways to serve others -- in a way that does not benefit you (except the satisfaction of really helping someone). Pick a charity or an organization that is doing something that interests you, but also benefits others. That could be a good way to find someone who cares about the same things you do.
Or just find a group that has events related to a hobby you have, or a sport that interests you -- anything casual and low-to-no-pressure, but is still an "in person" thing.
Worst case you do help some other people, and/or have some fun doing hobbies/sports/etc. Best case you find someone you want so spend the rest of your life with. I think it is worth the effort. so I encourage you not to give up.
I met my wife when I was 34 (married when I was 39) and I can’t imagine anyone I’d rather spend my life with. The only downsides are we’ll be a little older than average at college graduations, will be tired helping out with any grandkids, and are unlikely to celebrate a 75th wedding anniversary, but the game is far from over.
You’re not even to halftime yet... The grass is pretty damn green on your side, too.
I love the concept of making interesting bots for games that aren't originally intended for bots, but it's becoming harder and harder to do so given the issue of cheating. Makes for a major risk to a project that is already hard to justify doing. I believe Blizzard has sued someone for making and selling a game bot, so there is precedent for legal trouble as well, which is very unfortunate for hobbyists.
[1] https://victorzhou.com/blog/how-i-became-a-programmer/
https://www.amazon.com/Cyberia-Trenches-Cyberspace-Douglas-R...
Both fiction and non-fiction.
I highly recommend ‘Exit Strategy’.
1) Search screen for pixels within the color of bones
2) Pick up bones
3) Bury bones
My prayer level went through the roof! Then they implemented "sleep", a system where each action added a bit of "exhaustion" that could only be solved by walking to a bed, sleeping, and typing in a captcha in order to wake up. Killed my bots! But not my love of programming :-)
I wonder where this is happening today, for the next generation of developers. Roblox seems like a big one, are there others?
Once the author saw the opportunity, he then pivoted to exploit it through a lot of time and effort. It's pretty clear that other bot makers did not see that opportunity, or saw it and did little.
Before making a server, I thought coding was cool, but had never done much beyond running some basic programs. Making a server gave me clear goals that helped me learn coding much faster. "I need to figure out how to add custom bosses so my server will be more fun!" is much more fun and interesting to a teenager than "I need to figure out how to remove a Car object from this list of Car objects". There's also the very important social aspect - seeing other real people enjoy code you wrote is extremely satisfying.
And you can do really cool stuff with servers that teaches you real things, moreso than any class could. My own experience writing a ton of custom code for my Minecraft server taught me things like Unix, Redis, MySQL, web dev, reading obfuscated code, networking (like running 8 servers and writing code to pass players from one to another), deployment, basic security, pathfinding algorithms, writing scripting engines, etc. etc. all of which I had no experience with before, and would not have learned for several years otherwise. I'm graduating with my master's in CS now and still haven't been taught in class many of the things I had to figure out to make what I wanted to make. The few other devs of big servers that I knew had similar experiences - started off as beginner programmers, and gained a huge amount of experience from building out a passion project.
Fortunately, "moddable" is a genre and people want it, so it can't be killed completely. Kind of like how adding IAP "makes more money", but "doesn't have IAP" is a genre people want, too.
I wish more CS/programming classes, particularly pre-college, were game-oriented. A Java course I took in school had us writing a 'database' command line app that held fake enrollment information. Had that kind of thing been the only exposure to programming that I was given, I almost certainly would not have entered the field. But show someone like me a way to automate or expand something like Runescape or Minecraft? That, I'm interested in.
Me neither. That said, in retrospect, I believe university is more similar to real jobs that people give it credit for - the tedium only gets worse in a typical dayjob. As much as I hate "fake enrollment DB" exercises, they're pretty accurate description of how the work looks like.
(I used to want to go into gamedev professionally; due to various life events I went a different way. Judging by stories from both HN and IRL people I know from the industry, I may have dodged a bullet here.)
Yeah, you can get there that way but it’s a slog, and the reward is a long way off. That’s not like work. At work you get a regular paycheck even if enrollment DB isn’t thrilling.
I saw an open source class called nand to tetris where students had a semester to create a machine that could play tetris, starting with only nand gates. I thought that seemed like a much more fun progression for computer hardware than the undergrad courses I took. I would love to discover something similar for programming but so far I haven't found it.
Our database class did use databases, but we had no integration of the two subjects.
Creating the 10000th Conways Game of Life? Developing some crappy game on my own? No, thanks.
Developing something for an existing game? That would have been great! I'm all with you.
It doesn't even have to be programming. One of my best friends started doing little gigs for clans/teams and designed their websites. Each game had its own little eco system back in the days where you could offer/buy anything from scripts, to websites and skins.
I understand things change, income is different between jobs. I am not passing judgement on the fact that you transitioned away. It would be awesome if teachers were paid as well as a web dev.
This comment sums it up => "I'd consider it if I didn't need a four-year degree.", (https://news.ycombinator.com/item?id=20101794)
The type of work, though, and skills required are quite different, regardless of that they technically both develop and involve 'technology'. Semiconductor lithography requires a pretty exciting mix of skills starting with plain physics (classical and by now a bit of quantum optics), materials science, mechanical engineering, data analysis/science, software engineering (both for simulation and analysis of production of lensing systems), and I'm sure I'm missing half. It is quite different from "writes software for a software company", which is the framing I had interpreted from the comment I originally responded to.
1. Pay
2. Professionalism - all of the teachers I saw and talked to under 65 were treated like dirt, and were micromanaged instead of being treated like professionals
3. Barriers to entry. By the time I got my Master's and decided I'd rather teach high school than spend several more years getting a PhD, it was financially impractical for me to go back for more years to get a teaching degree. It was also very difficult to find internships and open positions. One guy I know who did a straight teaching degree interviewed almost a HUNDRED TIMES despite doing incredibly well in his program and student teaching at a prestigious high school.
I'm sure the kids are doing fine without me, but I had stellar reviews from every kid and parent I ever worked with, and from professors I TA'd for. People have told me my whole life I should be a teacher (came up again just the other day with the guy I was pair programming with). I'd happily take less money to be a teacher, but when you add in factors 3 and especially 2, it just isn't worth it to me. I'm not going to suffer a bunch of professional abuse and take a financial hit to boot to do something that my society doesn't seem to genuinely value.
However, you might be interested to know that the most successful business in my neighbourhood actually operates an online high school. A friend of mine in another city also operates an online high school and seems to be doing quite well for himself. There appears to be a large market for such services.
Especially if you also have web development skills, the internet provides a platform to be a teacher independently, resolving the second and third points. The first point probably depends on your business skills. However, seeing how well that aforementioned business in my neighbourhood is doing, the potential upside is huge.
As a teacher, I was working 70 hr weeks to get lesson plans in place and to grade work. Summers were booked for summer school. Every minor "vacation/break" was filled with catching up on everything. I worked with socio-economically challenged inner city kids whose families (generally) saw no benefit to an education. The pay was terrible. After 5+ years and if I were not the sole income for our household, we might have been able to eek by. As it was, we were in a debt cycle that we could not have escaped. I would never have been a home owner.
After becoming a software developer, in my first year, I made as much as a teacher with 20 years experience and a doctorate. Fast forward several years, and I out earn superintendents. I can actually have a mortgage and plan vacations with the family and help my kids with expenses.
Back in the day, I actually talked to somebody in one of my C++ classes who made (IIRC) around $50k in a year running some kind of gaming server. I looked into it at the time, but it didn't seem like my cup of tea. I might revisit the idea. I suspect that these high-dollar figures are outliers, but it could be a good way to get the kids some valuable real-world experience and maybe they can make a few bucks so they have a little bit of spending money.
You can make some mini games with their game creation IDE but no servers
Soon after, I got into a French MMORPG called Dofus and I absolutely loved it (maybe even a bit too much?). But since this was an online game, there was no cheat codes for it. After days of searching on the internet, I joined a few small communities of other kids that were learning programming in order to write bots for that game.
It was so much fun, and got me to learn about so many aspects of programming: reverse engineering, network communication, "AI", pathfinding, complex user interfaces, RSA authentication, security (the game had a lot of anti-bot technology), making a lexer/parser in order to have my own scripting system for users and so much more. It was messy and I kept rewriting all my code as I learned better ways to do things, but it was so rewarding having hundreds of users and a community around it.
I am now a professional programmer thanks to this, even through what I was doing wasn't particularly ethical or fair towards other players and the devs of the game. But I was too young and was having too much fun to understand that. I stopped once a friend got sued by the game company for making and hosting a server emulator.
Maybe the fact that you figured it out is an indication that it doesn't have to be taught in a CS curriculum. Most of the things that you mentioned have great documentation and tutorials outside of the classroom. The fact that so many people use them without them being taught in schools should be proof enough. I think the current situation makes sense -- Computer Science education should focus on teaching the fundamentals of algorithms, data structures, discrete math and how to think conceptually about problems without regard to implementation. By learning about data structures and the like, you indirectly learn how best to use memory, redis, MySQL, write servers and whatever else.
A data scientist is a statistician who can program or a programmer who understands statistics at a high level.
It's amazing how few CS people become data scientists, I think physics and economics degrees are the most common degrees among elite DSs I know.
but it actually makes a lot of sense - it's relatively easy to pick up coding. In fact, it could be the best-taught skill on the internet, there's no shortage of material for a person who wants to learn to code. I think that most CS people don't learn enough statistics to really pursue DS and a ton of people with advanced stats knowledge can pickup coding relatively easily.
Now when I talk to kids, I tell them that if they want to go to college, they should try to learn something they can't learn on their own.
I wrote a plugin to fix an issue we had on our server, then got asked to do some work on the server's website to show news and in game stats.
Wound up on the admin team helping to run it. Built a number of plugins for it. Learnt a lot of Linux/ server ops through it, and the importance of backups.
And it helped me get a job. I showed off an Angular based editor I wrote for one an achievements plugin. The plugin exported data on available triggers and rewards ("is person in this area", "do they have this item equipped", "give them this item", "spawn this mob near them"), and the editor turned this into a GUI anyone could use to quickly make/edit achievements.
That's what happened to me. I started playing games, then modifying them, then writing my own, then the coding consumed all my time.
https://www.classicempire.com/history.html
My background shares some similar elements of yours during the same time period albeit with a different game, Habbo Hotel, and a lot less money :-).
In a few years we'll start to see more from the Minecraft and redstone generation.
The cover of one of their issues is really something to behold: https://www.newyorker.com/books/page-turner/the-very-unnervi...
(I also remember that I became inactive, and then some scammer hacked my account, which may have left a bad taste in your mouth because you thought it was me)
Racing Sims like Assetto Corsa have a decent sized modding community with people designing and coding new car models, modifications to the physics/handling, audio packs, tracks/maps, etc.
Flight Sims are the same, and lots of other Simulator games.
As for open world games... Skyrim, GTAV, Empyrion, Space Engineers, Terraria, Starbound, are all moddable and have thriving communities.
Then there's the entire Steam genre of moddable games: https://store.steampowered.com/tags/en/Moddable#p=0&tab=TopS...
Modding is very much alive and well. I'd suggest just finding any of the above games that interest you and having a play with the mod system. I find it a very entertaining and interesting way to learn more about programming due to the specific constraints of each game.
It led to a passion for process automation, both hardware and software.
The one thing I could never overcome were the people in my surroundings - family, school, work ... they all said I was a cheat and if I cheat at video games what else wouldn’t I cheat at, why stop there. I haven’t noticed one comment regarding the ethics or morality of process automation for video games even though almost all games ban it under TOS. Would be fun to have a game encourage scripting.
I ended up becoming a moderator on the RsBot forums and I remember Autofighter Pro when it came out. Super popular, and I didn't even realize it was made by someone the same age as me back then!
Anyways, even though I didn't make any money (I gave my scripts away for free!), I did learn a lot. I'm currently an engineer at Google and I honestly owe it to the incredible monotony of playing Runescape.
I think it's really a great way to get into programming, since it's SUPER rewarding to make the computer game work for you especially if you can sell some of this work afterwards. I know for some people it can be viewed as a shady practice, but I regret nothing ;)
Like the author, I got into creating Runescape bots for a bit - but never works to sell them, just made my own for fun and (in-game) profit.
As I dove deeper into the world, I came across people who would purchase a monthly VPS and install botting software on it. There were plenty of guides on how to go through - but no easy solutions for those who weren't technical.
Realizing I had an opportunity to capitalize on this - I built up a hosting company dedicated to the Runescape botting niche. Each VPS would come pre-installed with all the required software and make it dead simple to begin botting within 5 minutes or so.
At my peak, I think I had over 100 dedicated servers each running anywhere from 4-16 VPS on them. Some of my customers were using it to level up their personal accounts, others were running gold-farming operations.
The business was fairly passive, and I learned a ton from the experience. Things eventually came crumbling down when the creators of Runescape broke the bots (This would happen on occasion, but things would be up and running within a day or two normally) for a long time. I had to shut down as all my customers left overnight.
But I think your auto-typer was really one of the only "allowed" 3rd party programs, and auto-clicking was never really enforced strictly.
When the bots got advanced, they pretty much had two methods via either injection or emulation of the entire game. So either they broke them through making a bunch of fundamental changes of ingame systems or the ability to connect to the servers.
I would also appreciate at least a small effort to not glorify their actions...but what are you "calling out"? 13 year olds who botted some gold 10 years ago?
Anyone remember SCAR?
Every morning before school and every afternoon when I got home I would check on my bot to see it either:
- Murdering chickens/Mining/Cutting wood
- Stuck on a tree
- Stock on the log in screen
I just remember how carefully i had to debug those scar scripts. A bug could waste night of botting, or worse do something suspicious and get your account locked.
I worry that kids growing up today have fewer opportunities like this.
A lot of people I collaborated with ended up working in the games industry, either on games like Unreal, or in journalism. I ended up working in the enterprise, but from the many bad stories of life in the games industry, perhaps it was a lucky escape :)
Back in my day, games weren't online, and I didn't really have the hardware to do them justice, nor the money to buy good hardware or games either. I remember playing Wolfenstein 3D from a cover-disk in a tiny postage-stamp sized window. At school we used to pass around cover-disks because we couldn't all afford to buy every mag.
Anyway, I kind of started programming from the get-go, and for a long time, programming _was_ my game. By the time I got to uni I found myself writing modding tools and editors for various games that my friends played or wanted to make mods for.
By then I had somehow found myself in a 'rogue' part of a very big company. I was surrounded by contractors making £60/hour so I started my own contracting company and was soon making way more money than I've ever made since.
Once I graduated I went into normal being-an-employee mode, and things have been getting financially worse ever since.
So its interesting, scary and confusing to read this guy's account of how he dropped out of school and has set up a stream of companies to sell his small products. Interesting, obviously. Scary, because I fear that some young people are reading it and thinking "I don't need school! I can make money!". Its the same way I get all scared when my daughters tell me how much youtubers apparently make. And confusing, because I can't spot the value in any of the products and stuff he has created recently. I guess I really don't get this whole social online world?! Perhaps I went in entirely the wrong direction all those years ago when I went and got a normal job?
Good luck to him!
Not sure what advice I'd give to a young kid now, though. To be honest, I'm not very keen on being an employee. But would you tell a kid to drop out of school and try and get funding for an app they sell to colleges etc?
Most don’t. It’s nothing new.
The only way to play on a 286 without game-breaking stuttering visuals. Oh how far we've come in such a (relatively) short time.
> Once I graduated I went into normal being-an-employee mode, and things have been getting financially worse ever since.
> Scary, because I fear that some young people are reading it and thinking "I don't need school! I can make money!".
Um... did you need school? You skipped the part where it helped you. (And were explicit that it hurt!) Why did you leave your personal contracting company?
When I went back to uni, I set up my contracting company and continued to work for them, but now as a contractor. I even managed to get on their 'preferred supplier' list, which was a really major coup. Anyway, it paid for uni.
The answer to why this one is doing well is clear from the comments: a lot of readers found a lot to identify with in the article. That's the important thing, not what site it appears on.
It wasn't exactly my entry, as I had programmed stuff before, but I learned a huge lot during my university time while writing a database site for World of Warcraft, which also had a distributed data collection mechanism by which hundreds of thousands of users could upload data gathered while playing the game to my site, where it would all be distilled into a database, of which a special, minified copy was then compiled and offered to be downloaded by the players right into the game, to be used while playing as a knowledge base. And alongside of that, people could query the database via a web frontend that used all the latest shit (it was 2007 or 2008, AJAX was a big deal back then, reactive layouts were in their infancy, but I had one, and I even wrote a 3D model viewer in the browser and something like Google Maps to view pre-rendered maps of the game world that looked like satellite images). That thing was 60k LOC Java (data processing and website), 30k LOC Lua (for the addon in the game), about 5k LOC ActionScript, some hundred lines of PHP and Bash scripts, and about 5-10k LOC of C++ for the native client to do data uploads and downloads. I eventually sold it for about 60k€ including maintenance, and maintained it as a side project for 7 years total (most of the time I was also actively playing WoW) and then it was abandoned because the site didn't catch on enough among the competition, and the game itself assimilated lots of the functionality provided by my in-game database (which was named MobMap and did catch on massively with the players, I counted at least 1.1 million installs over it's lifetime) so that successful service became redundant over time and was eventually discontinued as well.
But that project brought me lots of experience. Different programming languages and runtime environments and contexts, operating a multi-server infrastructure all by myself, using the latest web tech before there were frameworks that did all the hard things for you, maintaining a codebase over a long period, reverse-engineering (to get some of the data out of the game you had to reverse the original game data file formats, and since they changed with every patch, that was a continued activity done by a very small community of people in obscure online wikis, to which I eventually started contributing), updating large numbers of client installs in a secure and reliable way, processing gigabytes of raw data per day into a concise database (I think it was about 50GB XML incoming per day and the final DB was 4GB MySQL - and it was pre-SSDs, so I had to work all in memory with that DB to get the insert and update speeds I needed), this project had it all, and I continue to draw from those lessons in my job today.
When the project started, my partner and I (that's right, the $700 was for both of us) thought that $700 was an enormous sum and that we were being very clever. (This was in 1984).
After two years (18 months of which was after my partner left for college) I finally was able to bring the project over the finish line.
This made me laugh out loud, it reminds me of the prizes Atari would give software devs via Atari Program Exchange (APX) contests, some of which teens won, which would be a few hundred bucks (or sometimes more) of credit for hardware usually, plus royalties on sales of the software