13 ms·
A Fresh Graduate's Guide to Software Development Tools and Technologies (2012) [pdf]
- mettamage 9y agoDid 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.
- mtrn 9y ago> 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
- godelmachine 9y agoThought Java ME stands for Java Micro Edition
- ChristianGeek 9y agoIt does. OP is saying that “Java Millenium” is an error.
- vippy 9y agoWe'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.)
- noisem4ker 9y agoI think it helps you gain a quick perspective on what's actually out there, especially in case you missed something in your curriculum. I personally found the Java EE chapter a better introduction than the official starting documentation from Oracle, with fewer buzzwords and more actual information. The Object orientation chapter feels a little out of place to me, though; hardly anyone with a degree in IT wouldn't know about it. Overall, not reference material but a good intro, although it's somewhat outdated and the fact it was put together from individual essays leaks through.
- Waterluvian 9y agoVersion control should be chapter 1!
- davewritescode 9y agoAgreed, 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.
- arjo129 9y agoWe 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.
- toomanybeersies 9y agoI 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.
- icebraining 9y agoNo 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.
- toomanybeersies 9y agoDoing computer science rather than software engineering, I didn't have many. Most group assignments involved us sitting there together at a computer basically doing peer programming.
- 9y ago
- geofftrojans 9y agoIt 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.
- adrianN 9y agoIn 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.
- TeMPOraL 9y agoThat's the theory that hasn't been true in years. It ought to be as you describe, but it isn't - universities nowadays are glorified vocational schools with an extra option to go on a research sidetrack if you really don't like money. It's visible across the board - from the reason people choose to go to a university, to the focus universities have on attracting students and teaching, vs. supporting actual research.
- ajdlinux 9y agoThe problem isn't with the universities, it's with the lack of vocational schools with any depth or rigour for intellectually-demanding fields like software engineering. Sure, my local vocational school does offer a certificate and diploma of software development - a 2/3-semester program which teaches a couple of Java and C# courses and how to use a database. Which is to say, it teaches you the bare minimum you need to know to become the most junior level of applications developer in an enterprise IT department - vastly, vastly underqualified to go into many of the kinds of jobs that expect CS degrees. The other problem is that, well, I actually liked the theoretical and conceptual side of doing a CS degree, learning from lecturers who were researchers in the field. I, and most of the good software engineers I know, would have regretted just going to a vocational school. IMHO, there's a third option worth considering. Here in Australia, lawyers start off by obtaining a law degree (a Bachelor of Laws or a Juris Doctor) from a university. However, before they're admitted to practice, they have to obtain a Graduate Diploma of Legal Practice - a 6-month course which focuses on the practical skills of being a lawyer. I don't see why there couldn't be a similar type of program to teach practical software development workplace skills - obviously, not as some kind of mandatory licensing program, but as an optional extra.
- godelmachine 9y agoWhere can I get a full PDF version of this book? Really wanna read this! Edit → Got it! The links there are PDFs to each chapter. I can download them individually and create a book :) Thanks all.
- mohangaradi 9y agowell written. Quick previews for all you need to get started as software engineer
- mmjaa 9y agoNo section for "Embedded" development? I think its missing a big part of the current picture ..
- carlmr 9y agoWe're always the first to be forgotten.
- azifali 9y agoI really like the structure / topics of the book, except EJB - the bloatware packaged with Java for years.
- dreamygeek 9y agoCloud computing should come later in the order. Students should build their foundation from the basics. Cloud computing is more of an advanced topic.
- stevesimmons 9y agoNote that is a very old version of the book. I found the current version from: - The very bottom of the 2012 PDF page [1] mentions the related doc generation project, MarkBind [2] - The MarkBind site mentions two software engineering courses whose materials were written using it. - One of these is TE3201 [3], which links to the current version of the book [4]. [1] http://www.comp.nus.edu.sg/~seer/book/2e/ http://www.comp.nus.edu.sg/~seer/book/2e/ [2] https://markbind.github.io/markbind/ https://markbind.github.io/markbind/ [3] https://nus-te3201.github.io/website/admin/index.html https://nus-te3201.github.io/website/admin/index.html [4] https://se-edu.github.io/se-book/ https://se-edu.github.io/se-book/