My son is, thankfully, close to completing a CS/CE degree and I wanted to ask for advice or suggestions for a useful / meaningful birthday present to help him get started? He does have a nice Windows laptop, but wondering about those of you having gone into industry and what tools, references, books, etc. that you wished you had getting started?<p>No, not getting the gaming console he asked for.<p>Thanks!
Have you considered just getting him a gaming console?<p>If he's got the degree, he's prepared enough. After he gets a job, you'll be in a position where he won't really be practical to get those "Wow!" gifts for anymore—entry-level salary for new grads is pretty great.<p>It's basically the last "easy" gift you'll ever be able to get him; past that, everything else will require serious thought if you want to give genuinely meaningful gifts. And there are certainly worse gifts to give someone than something he'll likely use almost every time he gets bored for the next few years.<p>If you're very insistent on not getting him it though, get him a TAOCP (The Art of Computer Programming, by Donald Knuth) boxed set. This would allow you to line up gifts for future years, too, because TAOCP is not a finished series yet, so there will be new entries for the foreseeable future.
Nobody ever actually reads TAOCP*. Beyond that, you'd have to ask him.<p>Anything 'useful', or industry/professional related, are particular, specific things that he can get for himself, as and when necessary.<p>Anything 'meaningful', well, you'd have to figure that one out yourself - what would your son find to be meaningful? Certainly you don't think fun, or relaxation, or what he wants, holds any meaning for him. And certainly not reward. So you definitely don't think he should get the message that hard work actually pays off beyond being given more work to do, and tools that make him focus on work, because you think the only meaning of his life is to work, and that he shouldn't have fun except on your terms and when and how you allow.<p>He already has the objects he needs for professional development - a laptop. I'm sure he can figure out how to dual boot on it if he wants to dev on linux. Maybe the most meaningful thing you could do is let him make decisions - he'll never learn how to if you keep trying to control him just a little bit more.<p>*This is a(n obvious) generalism. I am aware some of us actually do go and read TAOCP - I have read some of it myself. I will profess that, on balance of probabilities, TAOCP will be a heavy and pointless shelf-weight if bought for OPs son.
What i would have wanted from my father was a hug, him to say he was proud of me, and buy me a sweet car. In the absence of a car taking me out for dinner to tell me he was proud of me would have sufficed.
I generally buy people stuff that they ask for, it makes for a nice system.<p>A gaming console is literally a uniquely-designed purpose-built computing device, so aside from being a useful bit for recreation, it could lead to professional curiosity.<p>IMHO it is a little condescending to immediately get this person something work-related unless asked for. It communicates the message that their free time should be devalued, and you don’t view this milestone as something to be <i>rewarded</i>, but rather a reminder of your present perception of them lacking in professional accomplishment.
I think it's important to realise that playing games is not worse than watching movies. Good games are pieces of art, just like good movies. Also from a CS point of view, video games are technically very interesting (it's a lot of computer graphics).<p>I don't play much anymore (and I'm not sure what console he asked for), but if I did I would be looking at the SteamDeck. Seems pretty interesting, as it is a Linux platform (based on Arch Linux), and therefore it can be used as a Linux computer as well as a gaming console (unlike e.g. a Nintendo Switch). Could be useful to learn Linux (which is necessary for software engineers).<p>You mentioned CE. Not sure how much he is into radio stuff, but the FlipperZero device seems to be quite a success, and it may fit the CS/CE profile. Could be a powerful educational "toy".
I disagree with people here about the console. I don't know how much he games, but tech can be incredibly stressful and an easy escapism mechanism like gaming can lead to some pretty major social deficits in his 30s and make it very easy to ignore the problems of early adulthood. I wouldn't want to be the person who bought somebody their first cigarette.<p>I don't know what your financial situation is, but CS/CE pays well, he can get his own console no problem. Once you're working "things" become easy to acquire. I bought <i>so</i> many things that I never used. After a while, things came to have no value.<p>Getting someone work stuff is like gifting a vacuum. Like, yeah, it might be useful and even practical, maybe even thoughtful, but it's a tool of work. Life isn't about work. Buy that useful work stuff for him, but not as a birthday or life event celebration.<p>If I were you, depending on your family life, I would go to a fancy dinner or trip with him and try to have a real conversation. Maybe talk about what you were like in college/trouble you got into, ask him how his college went. Talk about your first job. Talk about how you made friends and who your friends were. Talk about some events that made you happy or sad. Maybe he's not ready for that, or maybe he already knows it all. Of course that might be uncomfortable for both parties, but growth doesn't occur without discomfort, and closeness doesn't happen without vulnerability.<p>Consider investing in introducing him to hobbies (maybe dance classes, music classes, travel) where he will frequently be in contact with other people. Maybe choose some exciting activity he's expressed interest in if that's an option.<p>The irony of tech is that to be a good tech worker, it's your life outside of tech that sustains and powers it as well as sustaining and powering continued learning.<p>I wouldn't ask "how can I help my son run his engine harder," but I would ask "how can I help him stay fueled?"<p>Work is not a sufficient condition for life satisfaction, only a necessary one.
Things that I would like if I was moving out and getting setup. Not particularly CS degree / job focused, but I would hope either interesting or useful.<p>- A nice ubiquiti access point (wifi router).<p>- Smart lightbulbs (nanoleaf) / other cool home automation.<p>- A nice mouse/keyboard (but this is very much personal preference)<p>- A good waterbottle / fun coffee mug (can never be too hydrated)<p>- Basic home fitness equipment (yoga mat/exercise wheel/etc) if they work from home<p>- Balance board if they use a standing desk<p>I would personally not do something learning related. Companies usually sponsor pluralsight / oreilly memberships.
It's somewhat common in the industry for your employer to give you a stipend to buy equipment / tools / learning materials you like.<p>I would get him the gaming console, but otherwise maybe nice headphones?
If he doesn’t have a mechanical keyboard yet, you could consider that. Keep in mind, you’d have to do a fair bit of research. There are obviously plenty of gamer options off the shelf, but I’m thinking something more boutique with a great looking keycap set.<p>Devs spend a lot of time with a keyboard and they will last a decently long time so imo it could be a meaningful gift.<p>I’d highly recommend checking out the mechanical keyboard subreddit for inspiration.
- Ergonomic, low-profile mechanical keyboard (wired or wireless)<p>- Noise cancelling headphones<p>- Raspberry Pi<p>- Ergonomic Chair<p>- Ergonomic Mouse<p>- Means to purchase high quality prescription lenses that filter out blue light<p>- E-Ink Tablet
Get him another laptop, preferably Dell (just because I have great experience with them) so he can install Ubuntu on it and have a linux dev machine. This way he can develop software for linux servers (such as a web app or data science tool) without resorting to Linux subsystem for linux and all the related shenanigans.
JetBrains All Product pack - these are the best IDEs on the market. Using great tools when coding will help prevent bugs and saves a lot of time.<p>LeetCode Premium - every big company is using leetcode-style questions when interviewing candidates. If he wants to get a well-paid job, he needs to master LeetCode.
Buy him a course of preventative physiotherapy, or a gym membership, or similar.<p>He'll be doing a lot of sitting down staring at a screen for the rest of this life, and over time this will fuck his back up.<p>Best to start fighting against the inevitable health conditions early on.
Thanks everyone for the suggestions.
Definitely hearing the game console signal, although my resistance was that there would be better ways to spend his time as school only goes so far.<p>Sounds like gaming console and... Cracking the code interview, and Leetcode subscription.
Raspberry Pi or Arduino would be a great present in my opinion! Along with a list of exciting project ideas to ignite his imagination and maybe you could brainstorm together and watch some beginner tutorials on youtube to kickstart his interest...
Buying somebody things for their own hobby is always risky. Trying to do it based on the idea of making it "useful" is doubly risky.<p>Go for the gaming console. His company will give him a laptop.
Data Structure Collectible Cards<p><a href="https://cs.cards/" rel="nofollow">https://cs.cards/</a><p>Disclosure: I made this as a side gig. Use HAPPYGRAD for 15% off.