3 ms·
1) using git (or source control, more generally). One day, I figured all the devs (most better than me) around me were using source control. I asked a few why,
by Fradow 10y ago
1) using git (or source control, more generally). One day, I figured all the devs (most better than me) around me were using source control. I asked a few why, and why I should use it. Now I realize I was treading a dangerous path before using git.
2) using the command line freely (ie : not being an expert, but being able to use it a bit and automate some tasks). At some point, I maintained several apps at once, and it became too much of a burden to do the builds myself and install it one people devices several times a day, every day, so I decided to use a CI tool (Jenkins). To do the builds, I had to learn how to do everything in command line, and that's how I got started (now I am able to handle my own server and do some simple sysadmin).
Since I have an IT degree, I blame my school for not teaching me both of them, which I picked up after graduating: not mandating source control is to my eyes a big failure, and while I had some Unix courses, they never taught me WHY I should take the time to learn the command-line (and thus, I didn't).
- arcanus 10y agoFor #1+#2-- I'm also a convert, which is sadly still not as prevalent in my field (computational science) as it should be. I always tell people: its a good 10% extra overhead you add to a project during design to be careful with regression testing and source control, and that is paid back many times the first time you avoid a dangerous bug or bad tarball that goes undetected for 3 months.
- pkamb 10y agoThe `git` thing is huge for me, too. It kills me thinking back to all those CS homework assignments where I had a build working, but then broke it adding the next feature. Spend the next 4 hours frantically Undo'ing and copy-and-pasting from "copied folder" backups. That's no way to work. Source Control should be taught on day 1 of any CS class.
- mgkimsal 10y agoGoodness me... I've had discussions about this with local folks, and - it's all over the map. I've had people with CS degrees confidently tell me all this stuff is taught - it's part of their classes from day one, and they know all that like the back of their hand. But only a few seem to walk the walk - others blank out on basic questions. Others from local community college "web tech" programs mostly don't even know what I'm talking about. Documenting code, knowing how to document your regular activity in such a way that other team members and management have a clue what you're doing, beyond code comments. Decent commit messages, using an issue tracking system, ideally some project management tool, etc. While many dev problems do stem from actual technical issues, far too many I see stem from poor communication between the team members and the external clients/stakeholders. Few devs, especially younger ones, have any clue as to how important those skills are, over and above the raw dev skills.