Conversation started Apr 15, 2014 at 22:53.
user55340
Apr 15, 2014 22:53
(and context for our newest visitor)
user55340
0
Q: Question about levelling skills as a software developer

Alain Jacomet ForteI want to ask a question about the resources available for a self-taught developer to level skills and conceptual understanding with a professional CS undergraduate curriculum. Is this a suitable question for this site?

I've been a web developer for ~15 years. Currently working with Node.js
and Angular
But sometimes I bump into concepts that need an understanding of computer science, like the history and reason for Dependency Injection, Memory handling, the concept of Scope, among many other things
Or software testing as a generalized topic
@AlainJacometForte not to mention the Chompsky category's homomorphisms
Not to mention.
I mean it.
Apr 15, 2014 22:56
So I don't know where to look in order to level up
Don't mention them.
I'm watching you.
user55340
@AlainJacometForte we're safe as he doesn't mention the 'm' word... (and I'm joking)
I've been thinking in taking the Udacity courses, which seem very CS-oriented.
user55340
You've got several bits there... some of which are computer science, others are software engineering.
@AlainJacometForte oh, oh, no I know just what you should read if you want some more CS fundamentals
user55340
Apr 15, 2014 22:58
(this looks intreaguging - at least a publishing house I've seen before: link.springer.com/… )
Just read that, you'll be set.
If that doesn't seem to cover enough for you, then I'd suggest reading Concepts, Techniques, and Models of Computer Programming, just whiz through that and you'll be good.
Nice. Thanks
I'm helping.
user55340
Don't thank him until after you understand the 'm' word.
user20683
@AlainJacometForte You might consider the "Structure and Interpretation of Computer Programs"
user20683
Apr 15, 2014 23:00
there's a JS version
user20683
or "Think like a Computer Scientist"
@MichaelT I thought is was the T word?
@WorldEngineer I prefer the much denser CS book "Think like a Nascar Driver"
I wasn't sure if "Computer Science" was the topic I should be focusing on. You guys seem to confirm it.
user55340
Software testing is something that is more Software Engineering: sebokwiki.org/wiki/…
Apr 15, 2014 23:01
I was in doubt of whether I should look into Software Engineering as a topic
@AlainJacometForte I'm making jest; it's 5pm here. Do ignore me unless I'm giving actual advice. I hope you can tell the difference, but even I can't always...
user55340
The software engineering isn't things you'll find in a college class easily.
@AlainJacometForte all seriousness, what makes you think you need to study CS more closely? What do you look to gain?
user20683
@MichaelT You'll find grad level classes in it
Or the O word(opt-i-mize)
user55340
Apr 15, 2014 23:03
And don't let the "engineering" part scare you... they just put there to make the title longer.
@JimmyHoffa I'm hoping it will make me a better programmer. Give me knowledge to construct better algorithms.
user55340
Ahh... the fundamentals... data structures and algorithms then.
@AlainJacometForte CS stuff is good for giving you a better concept of algorithms, that's true. But if you've been a programmer for 15 years there's likely something more specific you're feeling you need to bolster
I'm hoping to get a deeper understanding of things, and also avoid bumping into unknown Words so often
don't just memorize them to reproduce them
user20683
Apr 15, 2014 23:04
@AlainJacometForte get something like Cormen's algorithms book and code your through it
@AlainJacometForte don't worry about terminology of deeper understanding of "things" broadly - if you want to grow your knowledge it's best to have a specific focus, at least to start
user20683
THat's the one
there will always be unknown words thought up by business people to generate buzz
Well, programming is easy(largely). Its the construction of maintainable, readable, high-quality software that fits users needs that's hard
user20683
Apr 15, 2014 23:05
@ratchetfreak Or just made up to justify their paycheck
and even harder to do it on schedule, and under-budget.
The Algorithm Design Manual is a free online PDF that is a very high quality book as well, much cheaper than the Cormen book which is seen as the standardbearer
I mean a good/decent programmer thinks it up and a ignorant marketer dude throws it around like singles in a stripclub...
Take this phrase for example: "Testability story: unit-testing, end-to-end testing, mocks, test harnesses."
Apr 15, 2014 23:07
@AlainJacometForte have a read here granted it's not about the exact topic you refer to, but at the end he goes over a broad section of CS concepts and what to read and how to approach studying them which can be helpful if you're not sure where to start with learning all the topics
I'm familiar with TDD, but those are concepts that relate to testing as a general topic
@AlainJacometForte That is decidedly not related to CS
user55340
unit testing and end to end testing are two types of tests... mocks and test harnesses are tools for doing the tests.
CS studies will not prepare you for thinking about testability, or even touch on the topic really.
honestly I just look for the wikipedia article when I see something I don't understand
Apr 15, 2014 23:08
@ratchetfreak we reference learners are lucky. Most are unable to pick up concepts correctly from references alone rather requiring more step-by-step tutorial style format to their information for ingestion.
Perhaps I should look into the particular areas rather than seek a generalized one? (i.e. Software Testing)
user55340
unit test is on the order of "make sure that the add(a,b) function returns a+b" while an end to end test is "we are going to test logging in through submitting an order and making sure the back end picks it up right and sends it to the warehouse..."
hell I got a shortcut in my browser, I just need to type wpen <word> and 9 times out of 10 I'm in the correct place
9
A: C# - Unit test, Mock?

Jimmy HoffaYou need to learn to write unit tests on your own. Start off on the right foot with good comprehension of terminology that many people make mistakes regarding: Unit test: Testing a single unit of code, very small atomic test. Integration test: Testing multiple units of code integrated together,...

user55340
(an end to end test I did with a credit card application at one point was "enter this data in for the credit card application, verify that it went through capital one's processing, was approved, and then use the credit card number they generated at a register on the test network")
Apr 15, 2014 23:10
Well, I am aware that the answers are online, which is the great thing about this. I was just hoping I could once and for all get all the juicy concepts instead of always having to stop and Google things
user20683
should have closed as too broad
user55340
If you want to get down to the very basics, shop.oreilly.com/product/0636920025481.do is an interesting book.
@MichaelT that's indeed the bone of it
Alright, I'll look into all the links you guys provided
Thanks !
user55340
One thing you might want to consider... (no, I am not paid by oriely or get any kickbacks) is the Safari Books Online. safaribooksonline.com
user55340
You get access to a LOT of books and videos... including many of the ones that I linked earlier.
Apr 15, 2014 23:14
Oh, I didn't know it. Looks good. Thank you
user55340
One of the things I am frustrated with where I live is the lack of good tech books in the book store... and then when you do get the good tech books on the framework you're using... its out of date in 6 months.
user55340
Thus, safari books gives you access to all of them, and keeps you up to date with the latest editions.
user55340
Not all the publishers, but there's a good number of them in there.
and to get a good book written and published takes about that long...
user55340
Oh! On unit testing..
Oh, great!
Thanks!
oneboxed amazon needs to be smaller...
user55340
(easy enough to edit after the fact)
user55340
But you'll also find things like Clean Code on Safari Books...
user55340
You can get some very up to date books - especially from Oriely itself: my.safaribooksonline.com/book/programming/javascript/…
user55340
Apr 15, 2014 23:19
(that one was just published the other day - already on there)
@MichaelT There's something I like about reading a paper book, though
I can't get used to reading a 100+ page document in the computer
go to a print shop and kill some trees then :)
user55340
@AlainJacometForte absoulately... but I glare at the 3x copies of ios 2 - ios 4 documentation I have sitting around, now completely useless.
Yeah, I do feel bad about trees
But, I don't have that many books
user55340
Note that when I do use Safari Books, its typically with the ipad app next to the computer... its bookish.
Apr 15, 2014 23:21
Perhaps Kindle is the answer
if you do print one out try to get a timeless one that doesn't focus on the buzzword du jour
There's no way to save this conversation right ?
user20683
@AlainJacometForte it's autosaved
that's how most of these things end up as
user20683
there's a room transcript
Apr 15, 2014 23:24
oh that way...
user55340
There's also the bookmark.
 
Conversation ended Apr 15, 2014 at 23:25.