What's New
- iriver Lplayer teardown
- Sipura SPA-841 teardown
- Robotic locomotion
- Finding value in work
- ZFS: the final straw
- Cross-blog pimpage: sixproducts.com
- Running AbstractSpoon ToDoList under Wine
- Aoyue 906 Hot Air Rework Station review
- What I learned from setting up ZFS on my fileserver
- Nokia E65 review: how does it stack up against a 5-year-old Siemens ME45?
- Extending battery life on the Dell XPS M1210
- A quick guide to using MySQL in Python
- Market segments and tactility: the new Apple iPhone
- Cree XR-E LEDs
- What's New block for Drupal
- Google calendar for Sydney adventure and MTB races
- Background Check Antivirus
- Multithreading and performance
- DVI on laptops
- Dell XPS M1210 review
- Improving university for developers
- Automatic Wealth for Grads, by Michael Masterson
- Converting Access databases to PHP/MySQL webapps
- Testing the board
- Assembly
- Making a PCB
- Random bits and pieces
- One weekend, one PCB layout
- Commitment
- Accounting software
- More LTSpice rambling
- The things you find...
- Playing catchup
- Market research
- What type of business?
- Introduction
- New look
- Integrating the H-bridge and its controller
- Using CPLDs and FPGAs in hobby electronics
- A simple logic analyzer
- I2C-based H-bridge controller with PWM
- The virtues of small development teams
- Building a Sumo robot (summary)
- High-power LED mountain bike light
- Optimizing your Start menu for fast program access
- The best batteries in the world...
- Battery-powered USB iPod charge cable that requires no special components
- How to build a simple Luxeon LED bike headlight

Don't neglect the basics
All good stuff, as a non-software engineer. But do you software engineering types want to be programmers, or engineers?
If all you want to do is program in a nice environment that some capable person has set up for you that's fine, you don't need to know anything outside your world. And surely the most efficient way to learn is an on-the-job apprenticeship and a TAFE course in the currently fashionable programming language.
If you want to have a deeper understanding of what's going on, and be able to adapt to new challenges, a knowledge of the basics will serve you well. Even analogue electronics, which is used to build digital electronics which is used to build computers. It all comes back to basics eventually, and learning about these arcane things can only make your mind more flexible, and give you a broader perspective.
So, learn the specifics of the trade by all means, but don't neglect the underlying theory. Things like version control and build regimes aren't really complicated and you can easily pick them up on the job, although I completely agree that students should be exposed to the concepts as part of other work.