I'll have to disagree somewhat. We had plenty of math and computer engineering in my BSCS program. We had to take four calculus classes as well as statistics/probability/trig. We also had a heavy dose of CE, logic circuits, computer hardware, assembly, etc. We also had to build parsers and lexers. Maybe CS has changed since the 80's, or maybe your guys have CIS degrees.
Unconfigured Ad Widget
Collapse
|
|
|
|
|
|
|
|
Paging software engineers and the like...
Collapse
X
-
not cs but also posting for interest. need to gain more sw knowledge/experience.Comment
-
I'm not throwing stones, and you brought up a great point. It might be the the grads of the 'WinTel' world the newer guys were brought up with. But man, these younger guys are terrified of hardware and I tell them - just do this API call and try the others...I'll have to disagree somewhat. We had plenty of math and computer engineering in my BSCS program. We had to take four calculus classes as well as statistics/probability/trig. We also had a heavy dose of CE, logic circuits, computer hardware, assembly, etc. We also had to build parsers and lexers. Maybe CS has changed since the 80's, or maybe your guys have CIS degrees.
Could be what I was describing as aging of HW guys could be happening with SW guys - they don't have the FEAR.
I was so motivated and worried about if the product would work, I would work 10-12 hours as a noob. Which made the older guys back then nervous.
I dunno.
.Comment
-
I had a professor in an undergrad networking class. We were writing drivers and file transfer software. The very first thing he did was came over and started doing random crap on the keyboard. If your program crashed, you failed.*SNIP*
One differnce I learned is to assume every step in the code fails - something doesn't turn on, or whatever. Write that code first. THEN write the code that handles the postivie case. It's so much harder to handle the fail case, that you'll NEVER DO IT.
A lot of guys don't even write the fail case. It's sad.
And I have learned over the long haul that I need to write a quick and dirty Windows tool to exercise my devices. Usualy not pretty code, but I don't care, I send the software guys my code and it's up to them to make it pretty or efficient or within their guidelines.
The sweet thing about this is if their code won't work, I run my MFC/dufas app, and it DOES work. I have saved thousands of manhours arguing by doing this. Cause EVERYBODY blames the hardware..
.
His premise was "I know the easy stuff works. Error recovery, stupid users, etc. is the stuff that nobody ever tests needs to work too."
These are things engineers and scientists think about.
Code monkeys have no clue about R.A.S (Reliability, availability, and serviceability).
Graceful failure, is just as, if not more important than the correct functional behavior.Comment
-
I'm really happy I started this thread, there's some great discussion so far. Thanks for chiming in everyone and please, continue to do so. Also great to see there's some other people interested whether or not they're a CS student - I think given the proliferation of technology in our world it's a great skill to develop and play with even just as a hobby, and even make money off of on the side of your regular careers if you don't choose this path. I like that I'm not the only one benefiting from the knowledge here.
I also wanted to note that testing for stupid users and such is a lesson I'm learning quickly already. My intro professors starting throwing in invalid inputs and such to tester files when we were still learning what an array was. Drove me nuts at the time because I was like "we're barely learning this stuff! Why are you trying to break our code already? It's hard enough just to get it to work correctly!" but it makes perfect sense now.Your views on any given subject are the sum of the media that you take in, scaled to the weight of the credibility of the source that provides it, seen through a lens of your own values, goals, and achievements.
You Are All Ambassadors, Whether You Like It Or Not
Pain is the hardest lesson to forget; Ego is the anesthesia that deadens the pain of stupidity.
Bureaucracy is the epoxy that lubricates the gears of progress.Comment
-
Another CS grad here, now 20 years in the profession...
I'd really recommend you get your head around concepts like "clean code" and "test driven development". The are some great books on the subject.sigpicComment
-
Your views on any given subject are the sum of the media that you take in, scaled to the weight of the credibility of the source that provides it, seen through a lens of your own values, goals, and achievements.
You Are All Ambassadors, Whether You Like It Or Not
Pain is the hardest lesson to forget; Ego is the anesthesia that deadens the pain of stupidity.
Bureaucracy is the epoxy that lubricates the gears of progress.Comment
-
No. While you might be able to get a job anywhere, lots of places it won't be good.
You need to live places where software is core in a Geoffrey Moore (of _Crossing the Chasm_) core vs context sense. Core activities are those where doing them better confers a business advantage, context are things you just need to do to stay in business.Can I move to Any city i want? Or am i limited to certain cities like san fran, austin, LA, seattle?
Software is core to technology companies like Google (that's why people used Google not Yahoo or Altavista) , Apple (that plus design are what separate them from the competition), and some (but not all) technology startups. It's context to companies like banks where a better website doesn't make more money.
The problems are more interesting in such companies. Software engineers get treated better when they're not a cost center. Pay can also be much higher. Such positions are outsourced to places with 1/10th-1/5th the cost of living a lot less often.
There's more latitude once you're good and established - I know one guy that just moved to Hawaii where he'll keep working for a Boulder, CO company. Before then you're competing for remote work with people in Eastern Europe and Asia where they can afford to work for 1/10th - 1/5th the money.
If you want to win the startup game you should live in the San Francisco Bay Area which gets about 40% of the country's venture capital, about 4X the second place contenders (New England, New York, and LA), and 10-20X third-tier cities (Austin TX, Boulder CO, Seattle WA, Portland OR, Raleigh NC). That lets you earn a market rate salary (until you get too senior - $150-$200K is doable, $250K is not unless you're an executive taking a pay cut to get there) at some one else's company until you win, nets $1M per dime when you're an average VC winner, and makes choosing a company at an appropriate stage without obvious business or technical plan problems viable when you change jobs. After winning you can do your next company elsewhere if you don't care about leveling up to a $100M net worth.Last edited by Drew Eckhardt; 08-25-2014, 9:48 AM.Comment
-
-
Super basic stuff for interviews:
-Make sure you can pass a fizzbuzz test (google it)
-Make sure you can do the common stuff (like reverse a linked list or string manipulation)
-I've gotten a lot of sorting algorithm questions, so know the common ones (quicksort, mergesort etc.) and how to implement them
-Know your Big O and be prepared to defend your algorithms in big O.
This is super basic stuff, but you'd be surprised how often people can't do them.Comment
-
Fizzbuzz test - yup, we did something similar right off the bat in one of my intro classes. The logic was fine, syntax got me a bit.
Reverse a linked list - roughly, takes a bit of referencing and checking myself and my homeworks but I can do it. We've had a similar assignment I know.
String manipulation, same thing. Had to write a basic encryption program in assembly language that took a given string input, randomized 3 numbers for forward/backward, how many characters, and change case, and then altered the string based on those criteria but left numbers and spaces alone.
Sorting, definitely rougher. Touched on bubble sort, merge sort, in intro to data structures, but i honestly don't remember - gotta brush up on it.
Big O - I know what it is and have a rough idea of how to calculate it. I know *some* optimization tactics. Still learning.
Googling FizzBuzz led me to this blog:
I was incredulous when I read this observation from Reginald Braithwaite: Like me, the author is having trouble with the fact that 199 out of 200 applicants for every programming job can’t write code at all. I repeat: they can’t write any code whatsoever. The author he’s
After reading a few other posts, I liked what he had to say about remember, this is supposed to be fun, and how important getting along with your coworkers is. How important team cohesion is to the company's success. Seeing as they're located within commute range of me (his company, Vertigo) I fired off a rather lengthy email describing myself and my skillset a bit and seeing if they would be interested in taking me on as an intern, or putting me in touch with a mentor there. I figured it's worth a shot. I was bluntly honest about how far down I currently am on the totem pole of coding ability, along with classes I've taken and whatnot, so I see it as if they take me on at least there's realistic expectations. And if they say no, or interview me and I fail, still no harm done as far as I can tell - just gives me more motivation and idea on what I need to focus on.Your views on any given subject are the sum of the media that you take in, scaled to the weight of the credibility of the source that provides it, seen through a lens of your own values, goals, and achievements.
You Are All Ambassadors, Whether You Like It Or Not
Pain is the hardest lesson to forget; Ego is the anesthesia that deadens the pain of stupidity.
Bureaucracy is the epoxy that lubricates the gears of progress.Comment
-
Thought I'd share this with you guys as well, see what you think
Your views on any given subject are the sum of the media that you take in, scaled to the weight of the credibility of the source that provides it, seen through a lens of your own values, goals, and achievements.
You Are All Ambassadors, Whether You Like It Or Not
Pain is the hardest lesson to forget; Ego is the anesthesia that deadens the pain of stupidity.
Bureaucracy is the epoxy that lubricates the gears of progress.Comment
-
PM sent!Your views on any given subject are the sum of the media that you take in, scaled to the weight of the credibility of the source that provides it, seen through a lens of your own values, goals, and achievements.
You Are All Ambassadors, Whether You Like It Or Not
Pain is the hardest lesson to forget; Ego is the anesthesia that deadens the pain of stupidity.
Bureaucracy is the epoxy that lubricates the gears of progress.Comment
Calguns.net Statistics
Collapse
Topics: 1,867,829
Posts: 25,163,103
Members: 357,365
Active Members: 5,142
Welcome to our newest member, Kahiau18.
What's Going On
Collapse
There are currently 16514 users online. 122 members and 16392 guests.
Most users ever online was 239,041 at 10:39 PM on 02-14-2026.

Comment