- 2 Posts
- 18 Comments
Here’s another one, catch!
This isn’t rocket science!
No. It’s computer science.
I’m glad you agree. Honestly, as someone who has also struggled with this question, I wish I’d done this earlier, because there’s a lot of advantages to it.
It takes a lot less planning and upfront time investment before you get to see your work make a difference in the world. It’s not immediate gratification, mind you, because pull requests can sometimes sit there for days or weeks before someone has the time to review them, but when they get merged, and you get to see the feature you worked on in an app you actually use, it’s still a great feeling.
Most projects will also give you contributor credit, so your name and/or GitHub handle will show up on their repo, website, or in the app’s “about” page, and you can claim that on any job application you might submit in the future.
I honestly think it’s a great way to scratch your own itch (because you can pick what issues you want to work on and build features you’d actually want to use) while also helping other people and benefitting open source as a whole. Any reasonably popular project generally has a massive backlog of open issues, so if you’re at a loss where to even start, you can just look through there and pick something that seems doable.
Yeah, I think you’re already on the right path with that, those are good basics for anything computer science related (and usually required classes if you take CS in college). Perhaps add Numerical Analysis to that list.
Also, Operations Research has some interesting optimization algorithms, and Statistics is useful for anything related to Machine Learning.
I’m a mathematician by training who has worked extensively (and exclusively) in the software field. While I realize I’m probably biased here, I think I write very solid code and have rarely received any complaints from trained software engineers about it.
I did however also take quite a few computer science classes in college and have spent a lot of time learning how to write better, more readable and maintainable code. Having had quite a few jobs at the start of my career where I was the only programmer on a project and therefore forced to eat my own dog food has certainly also helped.
Instead of starting your own project, have you considered simply contributing to an existing open source project instead?
CmdrKeen@lemmy.todayto
Programming@programming.dev•Here are 20 reasons why frameworks make us lousy programmers
1·2 years agoThis feels like something that was written by an AI, except for the last sentence.
CmdrKeen@lemmy.todayto
Programming@programming.dev•SSH keys stolen by stream of malicious PyPI and npm packages
4·2 years agoIDK, virus scanners and malware detectors could do these things before AI.
You could search for stuff like directly accessing the
~.sshdirectory, or any invocations ofwgetorcurlto download external scripts and run them through an interpreter and flag those for closer inspection.If you want to get fancier, automate installing packages in an isolated environment (like a container or VM) and keep track of every file system access and network request they make.
Sure, eventually they’ll figure out ways to obfuscate those things, too, but it could at least prevent people from doing things in such blatantly obvious ways.
CmdrKeen@lemmy.todayto
Programming@programming.dev•On developer dogma #3 : Never ship on Fridays
2·2 years agoAs someone who has experienced burnout before: that’s exactly what it looks like.
CmdrKeen@lemmy.todayto
Programming@programming.dev•Is jQuery still the go-to JS helper library?
1·2 years agoYou mean these? Does it use them internally, because I haven’t really seen them in any Svelte code.
If so, what does it matter what the compiler does in order to make your code work, so long as it’s legal? It’s perfectly valid JS, that’s all that counts.
I wouldn’t say Svelte is weird as much as it’s different. That’s the whole point after all. Instead of adding a bunch of library bloat and keeping an entire copy of the DOM to constantly compare to and derive changes from, it compiles your components down to native JS that manipulates the DOM directly, like you would by hand. Except of course the compiler uses different ways to achieve that than you would, but that’s because it doesn’t have to care about readability, as long as it creates valid and efficient code.
CmdrKeen@lemmy.todayto
Programming@programming.dev•Is jQuery still the go-to JS helper library?
1·2 years agoBoth are weird compared to Svelte.
I’m coming back, I will return
And I’ll possess your daemons and make your CPU burn
I have ring 0, I have your cores
I have the power to make my evil take its course
Well yes, internally that’s what it does, but from a user perspective it just looks like being handed the package, you never see any of the failed attempts (unless delivery fails completely because the company went out of business). It’s sorta more like having a butler who orders it for you and deals with any potential BS that might happen, and then just hands you the package when it finally arrives in one piece.
CmdrKeen@lemmy.todayto
Programming@programming.dev•What operating system and tools should a beginner use to learn programming?
2·2 years agoIt really doesn’t matter. Literally a Raspberry Pi will do for a beginner.
CmdrKeen@lemmy.todayto
Programming@programming.dev•To A Man With `jq`, Everything Looks Like JSON
1·2 years agoAnd
jc, apparently: https://programming.dev/post/7063427
CmdrKeen@lemmy.todayto
Programming@programming.dev•How do I convince my company to add tests for FE?
2·2 years agoHow do you calculate those numbers though?
It’s not like your colleagues will be keeping track of how much time they’ve wasted writing ineffective code. If anything, they’ll try to hide that by arbitrarily inflating sprint points etc.
I’ve worked in environments like that and the issue almost always isn’t that people wouldn’t LIKE it if there were tests, it’s that they
- Don’t want to have to learn something new in order to do the same job they’re already comfortable with
- Are worried that if they convince management to let them invest X amount of time into doing something that will improve productivity, they’ll be expected to be more productive in the future
And of course, all of this for no extra money. Unless you work at a place where management prioritzes developer happiness over how many sprint points the team can knock out every week (and those are rare), the sad truth is that it’ll likely be about as popular as leftover food growing mold in the community fridge.



Damn, they must be charging an arm and a leg then, or your firstborn perhaps.