Unconfigured Ad Widget

Collapse

Paging software engineers and the like...

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • NorCalAthlete
    Senior Member
    • Jul 2010
    • 1799

    Paging software engineers and the like...

    Hey all,

    I'm working on my bachelor's in Computer Science right now. I'm entering my second year/4th semester, 4th year of college. I've taken the following courses so far:

    Intro to programming
    Intro to data structures
    Programming in C
    Intro to computer systems and assembly language
    Discrete math
    Calc 3

    This fall starting in a couple weeks I'm taking Data structures and linear algebra.

    I'm also searching around for an entry level job in QA or something similar to both get my foot in the door and immerse myself deeper in programming/reading code/etc. Also would help pay for college and living expenses.

    What are your experiences? Recommendations? Advice? Resources to teach me online? Tutoring? When do you think someone is really viable as a candidate for a job? Startup vs larger company for first/early positions and growth?

    I live in the Bay Area so there's no shortage of companies to apply to, but I want to ensure I absolutely smash the whiteboard and phone interviews.
    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.
  • #2
    Zorba
    Banned
    • May 2014
    • 767

    CS-101 - or equivalent. Really. I see too many "programmers" who don't get the basics right. Some of them work for some of the largest technology companies in the world. Good on you for taking an assembly language course - if you really know assembly, you'll be a better programmer in anything.

    Comment

    • #3
      NorCalAthlete
      Senior Member
      • Jul 2010
      • 1799



      What's CS 101 exactly? That's the link for all the CS courses at SJSU. I'm also working through CodeAcademy.com's Python course, which I plan to follow with everything else they offer.
      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

      • #4
        lazyworm
        Senior Member
        • Jan 2006
        • 1642

        I was not a CS major but I work with a lot of software engineers.

        First, there is a huge gap between a CS fresh grad with min experience and a real software engineer.

        Just like learning everything, you need to craw, then walk before you can run.

        I'd suggest you pick 1 language and get really good with it before branching out to many. Say, ruby or python, which may allow you to gain experience faster than say java or c# or c++.

        Try to write something every day. Find a problem and code a solution. If you can't find a new problem, try an old problem with a different solution.
        Give yourself different constraints for each iteration. Optimize for parallelism, speed, stability, resource usage etc.

        While you're doing that, don't neglect your CS fundamentals. They're the foundation to build new skills upon. Remember your data structures, systems, networking, Big-O etc.

        Being an experienced or senior engineer doesn't just mean you have knowledge in how to solve problems, it also means you have made enough mistakes along the way to understand the pros/cons under different circumstances.

        Good luck. If you're good, there are many jobs to be had in the bay area.
        My $dayjob pays >$100k for good fresh grads, more if you have decent experience.
        Last edited by lazyworm; 08-17-2014, 1:18 AM.

        Comment

        • #5
          Eldraque
          Senior Member
          • Aug 2012
          • 1984

          Tagged. Also a CS student

          Comment

          • #6
            lazyworm
            Senior Member
            • Jan 2006
            • 1642

            Another data point...

            google software engineer/developer interview questions and practice those. Go through the iterations mentioned in the last post. Those should tell you what basic skills companies care about and help you focus.

            Comment

            • #7
              orangeusa
              • Jul 2009
              • 9055

              Sorry, but advice will be charged at my usual rate.J/K PM me I have 25 plus years in hw/fw in OC.

              Comment

              • #8
                ocabj
                Calguns Addict
                • Oct 2005
                • 7924

                Computer Science isn't about learning specific languages. It's about learning all the theory and fundamentals behind computational calculation and information processing.

                Programming languages are simply tools used in computer science courses to learn computer science theories.

                Assuming the CS program you're in is halfway decent, you'll get exposed to at least a few different languages: C, at least one object oriented language, and maybe some interpreted and reflective languages.

                I'm not going to tell you what courses to take. That's kind of stupid, since the CS program requirements are going to make you pretty much take all the courses that everyone else takes in their own CS programs (e.g. Automatons, Logic and Design, Operating Systems, Compiler Design, Software Construction, Software Engineering, etc).

                But there might be CS electives (non-requirements) in your specific CS program that you'll want to consider if they interest you. Back when I was in CS, Database Design was an elective, and I wish I had taken that, but I ended up learning all that on my own. I'm pretty sure Database Design / Administration will be a required course in most CS programs, now, considering how DBs are pretty much used to backend all types of applications now.

                As far as internships or part-time jobs in programming, definitely get one. If you don't have work experience when you get out of college, you're pretty much screwed unless you have really good connections.

                If you can get a job on campus, that would be great. I turned a job on campus as a student into full-time employment on campus before I graduated, and I've been on campus ever since. I'm not saying you have to stay with the school, but I highly recommend considering a campus programming job because it gives you great options. And if you're campus dept employer is like we are when we hire students, student employment is very flexible with student schedules so it's very easy to put in hours during the school year and not have it impact studies.

                Being in SoCal, I always recommend defense contractors because they're always hiring summer interns. I know several friends who did work for Lockheed, Boeing, Raytheon, etc., during the summer and got solid experience working in software construction and software engineering in a corporate environment.
                Last edited by ocabj; 08-17-2014, 12:55 PM.

                Distinguished Rifleman #1924
                NRA Certified Instructor (Rifle and Metallic Cartridge Reloading) and RSO
                NRL22 Match Director at WEGC

                https://www.ocabj.net

                Comment

                • #9
                  ocabj
                  Calguns Addict
                  • Oct 2005
                  • 7924

                  One more addition to my comment.

                  Try to get a job or internship where you will be working on a team such that the project you will be working on is split amongst several people.

                  The one thing I didn't like about the Software Construction specific courses when I was in college was that they didn't do a good job in instilling the concept of team based enterprise level application development.

                  I'm talking about things like version control, code review, unit testing, integration testing, etc.

                  If you get a job working in a corporate environment, you will get a lot of exposure to this, which will help you a lot in the private sector.

                  Distinguished Rifleman #1924
                  NRA Certified Instructor (Rifle and Metallic Cartridge Reloading) and RSO
                  NRL22 Match Director at WEGC

                  https://www.ocabj.net

                  Comment

                  • #10
                    NorCalAthlete
                    Senior Member
                    • Jul 2010
                    • 1799

                    I bought the book "Cracking the Coding Interview" recently but haven't really delved into it yet. I've also filled out profiles on Northrop Grumman's site and am in the process of applying to a couple internships with Lockheed Martin as well. I'm a veteran so that may help there as far as them being a bit more understanding of a career shift after 10 years.

                    I've also signed up for meetup.com, dice.com, and indeed.com profiles, and plan on beginning to attend meetups specifically for java students and such in my area (and hopefully network enough to help with landing an internship). One of my neighbors was a google recruiter up till a month ago (contract ended, he switched to recruiting for another tech company) and is helping me with my resume so that's good.

                    My projected graduation date at the moment is May 2016. Courses I'll be taking (tentatively planned out for now) are as follows:

                    Fall 2014:
                    CS 146 - data structures and algorithms
                    Math 129A - linear algebra
                    Hist 15A - US history
                    CS 100w - technical writing
                    Phil 134 - Computers, ethics, society

                    Spring 2015:
                    Geol 105/112 - oceanography/hazrisk quakes/volcanoes
                    CS 151 - Object oriented design
                    CS 154 - formal languages/computability
                    [slot open if I passed CS 47 this summer, if not this is when I'll be retaking - otherwise will bump 147 here]
                    edit - just got an email back, I passed. So, CS 147 here.

                    Fall 2015:
                    SJSU studies course
                    CS 157A - intro to database management systems
                    CS 147 - computer architecture
                    CS 152 - programming paradigms
                    CS elective

                    Spring 2016:
                    CS 166 - information security
                    CS 149 - operating systems
                    CS 160 - software engineering
                    CS 157B/167B - database management systems 2 / DB2 fundamentals for z/OS
                    CS elective

                    Anyone local want to tutor once in a while? :P
                    Last edited by NorCalAthlete; 08-17-2014, 11:55 AM.
                    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

                    • #11
                      TacFan
                      Veteran Member
                      • Jan 2006
                      • 3021

                      Originally posted by NorCalAthlete
                      I bought the book "Cracking the Coding Interview" recently but haven't really delved into it yet. I've also filled out profiles on Northrop Grumman's site and am in the process of applying to a couple internships with Lockheed Martin as well. I'm a veteran so that may help there as far as them being a bit more understanding of a career shift after 10 years.

                      I've also signed up for meetup.com, dice.com, and indeed.com profiles, and plan on beginning to attend meetups specifically for java students and such in my area (and hopefully network enough to help with landing an internship). One of my neighbors was a google recruiter up till a month ago (contract ended, he switched to recruiting for another tech company) and is helping me with my resume so that's good.

                      My projected graduation date at the moment is May 2016. Courses I'll be taking (tentatively planned out for now) are as follows:

                      Fall 2014:
                      CS 146 - data structures and algorithms
                      Math 129A - linear algebra
                      Hist 15A - US history
                      CS 100w - technical writing
                      Phil 134 - Computers, ethics, society

                      Spring 2015:
                      Geol 105/112 - oceanography/hazrisk quakes/volcanoes
                      CS 151 - Object oriented design
                      CS 154 - formal languages/computability
                      [slot open if I passed CS 47 this summer, if not this is when I'll be retaking - otherwise will bump 147 here]
                      edit - just got an email back, I passed. So, CS 147 here.

                      Fall 2015:
                      SJSU studies course
                      CS 157A - intro to database management systems
                      CS 147 - computer architecture
                      CS 152 - programming paradigms
                      CS elective

                      Spring 2016:
                      CS 166 - information security
                      CS 149 - operating systems
                      CS 160 - software engineering
                      CS 157B/167B - database management systems 2 / DB2 fundamentals for z/OS
                      CS elective

                      Anyone local want to tutor once in a while? :P
                      this major is not for everyone. If you are worried whether or not you passed a class, I think you may be in trouble later on. You must understand and love it.
                      Look up google interview questions and you will see what you're in for. With this major, there is no winging it and no BSing. Someone you talk to will know if you really know the material or not.

                      Good luck, it's not easy but your heart must be in it

                      I saw a lot of people dropping out like flies. Also, there were only two girls in my entire CS major
                      get your mind set up for this kind of thinking. At first nested loops were mind boggling to me but after practice it's like second nature
                      Last edited by TacFan; 08-17-2014, 8:49 PM.
                      For Sale
                      🔫 Pistols

                      ☠ Rifles

                      Comment

                      • #12
                        orangeusa
                        • Jul 2009
                        • 9055

                        There a LOT of horrid coders employed. I wouldn't hire 90% of them. It's a license to steal in a large company. Create garbage, ship it, call bug fixing a new project. Repeat as necessary.

                        I've designed hardware and software for flight critical boxes. There is no fooling around there. It works, or they cancel your contact for lack of delivery, hire another firm. Huge fines for late delivey. I wish every CS nerd was forced to go through a process like that.

                        Buy the book Code Complete by Microsoft press. If you add a bug to working existing libraries, you are terminated. That's a motivator.

                        .

                        Comment

                        • #13
                          Subotai
                          I need a LIFE!!
                          • Jun 2010
                          • 11289

                          Pick an area to specialize in, for instance, if you want to be a programmer, specialize in backend stuff like SQL, frontend like Web, C# or Java, lower level like C, Assembly, etc. QA has processes and tools too. Eventhough employers like employees to know lots of things, you must be real good at at least one.
                          RKBA Clock: soap box, ballot box, jury box, cartridge box (Say When!)
                          Free Vespuchia!

                          Comment

                          • #14
                            NorCalAthlete
                            Senior Member
                            • Jul 2010
                            • 1799

                            Heh, the most common advice I've been given is "it's not for everyone". That's one of the things I like about it. While I can't definitively say I love it just yet (I think I'm still too new to programming to make that determination) I've definitely got my heart set on it as a career. I don't hate it by any means and do get some measure of satisfaction out of figuring out a problem and having my code work that I only ever encountered elsewhere while welding or flying in black hawk simulators and landing on top of the control tower or something else challenging. It stimulates me, I can nerd out to my heart's content and not worry about a thing, it pays well, and there's endless options once you graduate. What's not to like about it? :P Sure, it's difficult. Nothing worth having is free. What would life be if we gave up at the first challenge just because so many others did? **** that. It may take me a couple tries to pass something, I may not be at the top of my class anymore, but that's fine by me. You learn far more through failure than success, and I wouldn't want my head to get too swollen anyway :laughing:. I can tell you one of the first things I'll be doing with that first fat paycheck is upgrading my NRA membership, dropping about $1k to CGF/SAF, and paying off what little debt I have though.


                            As for the code>debug>code cycle, I'm a big fan of just doing something right the first time, even if it takes a little longer. Yeah, I know - bugs are a way of life in coding. Doesn't mean we should get sloppy.
                            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

                            • #15
                              orangeusa
                              • Jul 2009
                              • 9055

                              You sound like you are getting there.

                              Grades and accolades mean nothing except to the fools in HR. I have hired and fired many folks. Truth and desire to solve a problem trump most accolades.

                              BUT - seriously think about a Masters degree. Its only like 1 1/2 more years and is well worth the cost.

                              Are you a veteran or former Military?

                              .

                              .

                              Comment

                              Working...
                              UA-8071174-1