Unconfigured Ad Widget

Collapse

Paging software engineers and the like...

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • #46
    Subotai
    I need a LIFE!!
    • Jun 2010
    • 11289

    Originally posted by orangeusa
    To clarify, I have CS guys who are as good as anybody, but I thought about it and the EE's get math, physics, CS, and of course EE. Which makes them better at embedded coding than most.
    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.
    RKBA Clock: soap box, ballot box, jury box, cartridge box (Say When!)
    Free Vespuchia!

    Comment

    • #47
      penguinofsleep
      Senior Member
      • Jan 2012
      • 2068

      not cs but also posting for interest. need to gain more sw knowledge/experience.

      Comment

      • #48
        orangeusa
        • Jul 2009
        • 9055

        Originally posted by frankm
        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.
        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...

        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

        • #49
          e90bmw
          Senior Member
          CGN Contributor
          • May 2013
          • 1268

          Originally posted by orangeusa
          *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..


          .
          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.

          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

          • #50
            NorCalAthlete
            Senior Member
            • Jul 2010
            • 1799

            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

            • #51
              Eldraque
              Senior Member
              • Aug 2012
              • 1984

              I have a question about Location. I was told you could find good CS jobs almost anywhere in the world, but here in the US is that true? Can I move to Any city i want? Or am i limited to certain cities like san fran, austin, LA, seattle?

              Comment

              • #52
                Treadstone
                Member
                • Aug 2012
                • 195

                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.
                sigpic

                Comment

                • #53
                  NorCalAthlete
                  Senior Member
                  • Jul 2010
                  • 1799

                  Originally posted by Treadstone
                  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.
                  Recommendations on books?
                  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

                  • #54
                    Drew Eckhardt
                    Senior Member
                    • Apr 2010
                    • 1918

                    Originally posted by Eldraque
                    I have a question about Location. I was told you could find good CS jobs almost anywhere in the world, but here in the US is that true?
                    No. While you might be able to get a job anywhere, lots of places it won't be good.

                    Can I move to Any city i want? Or am i limited to certain cities like san fran, austin, LA, seattle?
                    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.

                    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

                    • #55
                      Treadstone
                      Member
                      • Aug 2012
                      • 195

                      Originally posted by NorCalAthlete
                      Recommendations on books?

                      Clean Code: A Handbook of Agile Software Craftsmanship, by Martin
                      Growing Object-Oriented Software, Guided by Tests, by Freeman
                      Refactoring: Improving the Design of Existing Code, by Fowler
                      sigpic

                      Comment

                      • #56
                        multigun
                        Junior Member
                        • Aug 2014
                        • 90

                        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

                        • #57
                          NorCalAthlete
                          Senior Member
                          • Jul 2010
                          • 1799

                          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

                          • #58
                            NorCalAthlete
                            Senior Member
                            • Jul 2010
                            • 1799

                            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

                            • #59
                              Tempus
                              Member
                              • Jan 2011
                              • 298

                              Since you are in San Mateo, you could come by and visit our office in Redwood City sometime. PM me if you want. We've got a couple engineers here and there. We also do summer and semester internships for the various groups.

                              Comment

                              • #60
                                NorCalAthlete
                                Senior Member
                                • Jul 2010
                                • 1799

                                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

                                Working...
                                UA-8071174-1