Main > Everything Else

Job prospects for new programers?

<< < (3/4) > >>

drventure:

--- Quote ---they also got rid of the "this is a hard drive, this is a power supply, this is how to connect them" class, too.
--- End quote ---

Ack. I think that's why a lot of "new" programmers end up not getting into good positions. I can't tell how many times I've interviewed developers that seriously had no idea how to actually put a machine together, what a "stack' was, how logic functions worked (and, or, xor, etc), really basic stuff.

And a lot of it goes back to schools moving toward the "{this programming IDE} is just an application, and here's how you use that application" style of teaching programming.

I actually once interviewed a guy with a masters in computer science who did not know how to open a text file (in his choice of language), read a line, and write it out.

Ugh...

Yaksplats right, though. the .net stack is a great place to build up some knowledge, esp C# (I'm more a VB kinda guy, but I do C when I have to). Either way, learn your way around the framework, a little WPF, maybe some WCF, SQL Server and TSQL.  There's lots of positions for that skillset.

AtomSmasher:

--- Quote from: pinballjim on December 05, 2011, 09:25:18 am ---When I was getting my bachelor's, they got rid of COBOL and Pascal, virtually eliminated all C classes, and heavily pushed JAVA... they also got rid of the "this is a hard drive, this is a power supply, this is how to connect them" class, too.  We were assured we were all getting high paying jobs working for WorldCom, Enron, and Anderson Consulting.

I am completely serious about this.

--- End quote ---
It was the same way when I was going to college, although only the first two years were focused on Java, the second two were on C and C++.  Luckily the CS class I took in highschool was in Turbo Pascal, and I also took an after school class in highschool on building and repairing computers (it was supposed to get you prepared to get your A+ cert).

Vanguard:

--- Quote from: drventure on December 05, 2011, 11:15:22 am ---Ack. I think that's why a lot of "new" programmers end up not getting into good positions. I can't tell how many times I've interviewed developers that seriously had no idea how to actually put a machine together, what a "stack' was, how logic functions worked (and, or, xor, etc), really basic stuff.

--- End quote ---

This is why jobs dealing with hardware pay so much.   If you can't find a guy who knows AND, OR, XOR, imagine how hard it is to find a guy who understands kernel transitions, interrupts, bus interfaces, DMA, etc...

Forget knowing how to put a machine together, there are very few people who know how one actually works at the hardware level.   Everyone is so caught up in web development where you are 5 times removed from the hardware, that people don't even think about the hardware anymore.

MonMotha:
DMA's fun ---steaming pile of meadow muffin---.  Your average DMA controller isn't very bright: it'll happily do EXACTLY what you tell it, even if that involves clobbering your page tables.  Most systems don't have an IOMMU to block that sort of thing, either, and even on systems that do, it's not widely used by most OSes.

If you really want to have fun, work on some mid-range embedded platforms that are big enough to support a somewhat substantial OS and several simultaneous applications but don't have protected memory.  It's like running Windows 3.1 all over again.  Anything can walk all over anything else.  Anything can just arbitrarily disable interrupts and deadlock the whole system.  Fortunately, this is starting to change as putting real features like an MMU and priv levels into even low end micros is becoming economically practical.

(Moral of that mostly OT story: if you understood what I just said, you probably have people interested in hiring you.  If not, well, good luck.)

Vanguard:
All the ARM11 stuff we work on has a system MMU that handles all memory operations for all devices on the SOC (camera, modem, audio, network, GPU, etc..).   Since WinMobile 6.0, the flat memory model went away.   Our page tables have full protection bits.   I've not seen this type of support on ARM9 and earlier but it is on everything going forward.

Having knowledge in system architecture is by far the best way to maximize your returns as a programmer.   It can be a frustrating job though.   Dealing with a freshly born GPU or CPU and having to identify and work around hardware bugs is challenging work.    Taking a black box with 250 million transistors and bringing it to life for the first time with any number of unknown issues blocking progress isn't something everyone finds "fun".   

Navigation

[0] Message Index

[#] Next page

[*] Previous page

Go to full version