Live data from Hacker News

A Fresh Graduate's Guide to Software Development Tools and Technologies (2012) [pdf]

comp.nus.edu.sg

21–30 of 45 posts

Re: A Fresh Graduate's Guide to Software Development Tools and Technologies (2012) [pdf]

#21
post #9
post #7

Earlier quoted context omitted.

We were introduced to version control in our first year. The only problem was that till we started managing large code bases, most people found it very difficult to understand why we used Git in the first place.

Agreed! Version control is not a natural concept that a beginning student would immediately think of. It’s also helping that a beginning student’s programming assignments are typically simple and short enough that doing without VC is tolerable.

They are also typically working alone (or are suppsoed to be!) in the early classes. Team projects tend to come later.

If you're working by yourself on the sorts of programs that are in introductory classes, you don't loose a lot without VC and it greatly simplifies things and lets students focus on the actual exercises/assignments.

Git would be horrendous overkill for a freshman programming class and it has so many footgun possibilities that the TAs would be going nuts helping students recover from various disasters.

Re: A Fresh Graduate's Guide to Software Development Tools and Technologies (2012) [pdf]

#22

It is frustrating how widely applicable this book is. Universities across the country are struggling to adequately prepare students for software engineering jobs. It is also frustrating that this book from 2012 is still applicable in 2018. I'm not sure what the solution is or what would drive change here.

IMHO computer science degrees should primarily teach computer science, but they should also weave in practical tools/skills into course projects, especially testing, debugging, version control, and a few classses of programming languages.

FWIW I think the “software engineering” course was the most useless “CS” course I took.

Re: A Fresh Graduate's Guide to Software Development Tools and Technologies (2012) [pdf]

#23
post #10
post #7

Earlier quoted context omitted.

We were introduced to version control in our first year. The only problem was that till we started managing large code bases, most people found it very difficult to understand why we used Git in the first place.

Yes! Git is not merely version control but a specialized sort of version control. I've run into the opposite problem, when I've tried to use Git for projects that weren't source code. Without thinking about it, just by reflex, I'd create a project directory for a new project: Web pages that were almost entirely English text, or a Photoshop project, or an e-book project...and init my git to track it and set up my serv…

I have to say I don't agree. I find git useful every time I do work that is even just a bit exploratory - which is almost all of it. E.g. doing a mockup in Inkscape - I'll commit, then create a new branch and try out some idea. If I'm not satisfied, I'll just checkout master and keep working on the previous version.

In fact, I think this is a common behavior; almost every PC I've seen has a poor man's version control implemented by the user by copying the file and renaming it (e.g. Report_1.doc, Report_2.doc, Report_2_valid.doc, etc), despite none of them being programmers or working with code.

Re: A Fresh Graduate's Guide to Software Development Tools and Technologies (2012) [pdf]

#24
post #7

Earlier quoted context omitted.

We were introduced to version control in our first year. The only problem was that till we started managing large code bases, most people found it very difficult to understand why we used Git in the first place.

I found I had the same problem at university re: VCS. It's hard to see the benefit of using git when it's for a single assignment over two weeks where you're the only contributor.

No group assignments in your course?

I couldn't get my team mates to use it, but I did on my end, and it was a godsend. Other teams were merging stuff by hand and losing hours (in total) in the process.

Re: A Fresh Graduate's Guide to Software Development Tools and Technologies (2012) [pdf]

#26
post #13

Earlier quoted context omitted.

In my opinion, it is not the mission of universities to prepare students for jobs. Universities are research institutions that prepare students for research. That's why all professors have to do research. Vocational schools exist for the purpose of job training. Big companies can also train their own workers.

In Australia, we intentionally collapsed most of our vocational schools into our public universities a couple of decades ago. I guess that was fairly unique because it was such a conscious decision. Universities in the modern world _are_ in fact vocational schools for many professions. Class sizes and student numbers alone often show this. And while big companies can train their own workers, many choose to off-load t…

In France it's not so clear cut, but there have been more and more “professional” studies set up in universities. Many studies are actually not clearly « pro » or « recherche » but in between, and give you insights into both worlds. My Master's degree is like that and I ended up doing an industrial PhD after being sure I wanted to work in a company. In that context the teachers do their best to give some training specific to software engineering but it has to be balanced.

Re: A Fresh Graduate's Guide to Software Development Tools and Technologies (2012) [pdf]

#27
post #13

It is frustrating how widely applicable this book is. Universities across the country are struggling to adequately prepare students for software engineering jobs. It is also frustrating that this book from 2012 is still applicable in 2018. I'm not sure what the solution is or what would drive change here.

In my opinion, it is not the mission of universities to prepare students for jobs. Universities are research institutions that prepare students for research. That's why all professors have to do research. Vocational schools exist for the purpose of job training. Big companies can also train their own workers.

They are both research and training institutions, and quite obviously so if you look at another discipline.

The architects don't all learn abstract obscure theory, they spend a(crazy) amount of time doing drafts and models. The engineers don't all learn irrelevant and out of date techniques. The pharmacists spend half their time in labs. As do the chemists. The doctors have to do rounds on real wards.

So why in CS is your defence that a university is a research institution?

That's simply not true, and looking at any other discipline shows how wrong you are.

Re: A Fresh Graduate's Guide to Software Development Tools and Technologies (2012) [pdf]

#29

It is frustrating how widely applicable this book is. Universities across the country are struggling to adequately prepare students for software engineering jobs. It is also frustrating that this book from 2012 is still applicable in 2018. I'm not sure what the solution is or what would drive change here.

>It is also frustrating that this book from 2012 is still applicable in 2018.

For all the talk of incessant change it's often surprising how many technologies from the 70s are still in use today.

I find the principles of good software engineering change a lot less than the framework du jour.

Post reply on HN