Live data from Hacker News

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

comp.nus.edu.sg

1–10 of 45 posts

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

#2
Did anyone read this book? Any thoughts about it? I looked at it really quickly and it seems good, but I haven't read it and then used the knowledge. So how useful is the actual knowledge itself in a practical context?

Also, I would be curious to know if there is a 2017/18 version of it.

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

#3

Did anyone read this book? Any thoughts about it? I looked at it really quickly and it seems good, but I haven't read it and then used the knowledge. So how useful is the actual knowledge itself in a practical context? Also, I would be curious to know if there is a 2017/18 version of it.

> Did anyone read this book?

Just skimmed through a few pages, found a small name error:

> Java millennium (Java ME) which is made to create Embedded Systems

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

#5

Did anyone read this book? Any thoughts about it? I looked at it really quickly and it seems good, but I haven't read it and then used the knowledge. So how useful is the actual knowledge itself in a practical context? Also, I would be curious to know if there is a 2017/18 version of it.

We're using Scala, other shops are using Haskell and Node. Many shops have micro-services. Some do not. APIs and security are a thing. Domain modeling and the creation of a ubiquitous language is a thing. Automated testing is still surprisingly bad (flaky tests are common and upstream disorganization can lead to man hours lost updating tests when upstream test data changes).

The flamewar-inducing comment: managing state and inheritance patterns in object oriented systems kind of sucks.

(I'm operating a reasonably high-level of abstraction; analytics, statistics, and modeling.)

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

#6

Version control should be chapter 1!

Agreed, this was missing from my college curriculum and learning git well has been a huge asset in terms of productivity.

When you understand version control, you can make changes without fearing that you can't get back to where you are right now.

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

#7

Version control should be chapter 1!

Agreed, this was missing from my college curriculum and learning git well has been a huge asset in terms of productivity. When you understand version control, you can make changes without fearing that you can't get back to where you are right now.

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.

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

#8
post #7

Earlier quoted context omitted.

Agreed, this was missing from my college curriculum and learning git well has been a huge asset in terms of productivity. When you understand version control, you can make changes without fearing that you can't get back to where you are right now.

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.

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

#9
post #7

Earlier quoted context omitted.

Agreed, this was missing from my college curriculum and learning git well has been a huge asset in terms of productivity. When you understand version control, you can make changes without fearing that you can't get back to where you are right now.

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.

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

#10
post #7

Earlier quoted context omitted.

Agreed, this was missing from my college curriculum and learning git well has been a huge asset in terms of productivity. When you understand version control, you can make changes without fearing that you can't get back to where you are right now.

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 server to push it to.

Before long, usually while trying to come up with a good commit message, I'd wake up and ask myself, "Wait, why am I tracking this? Am I just assuming it's the responsible, proper thing to do?"

It's not enough that the project be something that iteratively improves. Git's usefulness comes mainly from text data with extremely demanding constraints (hard to get it to work, easy to break, harder to repair than to start again, working/broken is not just a matter of taste), especially when you have multiple contributors, each of whom is more likely to break something than to fix it.

If you have non-text projects (ex: photo editing) or text that can usually be "fixed" by just pushing forward rather than starting again, Git still has benefits, but they may not be worth the costs.

You don't really see the value of Git unless you're writing code that you're a little scared to write.

Post reply on HN