Thread: Question with professional Software Engineers

  1. #16
    and the hat of sweating
    Join Date
    Aug 2007
    Location
    Toronto, ON
    Posts
    3,545
    Quote Originally Posted by Bubba View Post
    I'm in graphics development and that's about all I can say.
    [...]
    Our code runs 24/7/365 and is always 'live' so there isn't a lot of room for downtime on our systems
    So I'm guessing you're working on one of those live multi-player online games?
    "I am probably the laziest programmer on the planet, a fact with which anyone who has ever seen my code will agree." - esbo, 11/15/2008

    "the internet is a scary place to be thats why i dont use it much." - billet, 03/17/2010

  2. #17
    Registered User VirtualAce's Avatar
    Join Date
    Aug 2001
    Posts
    9,607
    So I'm guessing you're working on one of those live multi-player online games?
    Sorry I removed a lot from my post b/c it was too long. I'm not at liberty to discuss what I work on.
    Last edited by VirtualAce; 02-18-2010 at 09:13 PM.

  3. #18
    (?<!re)tired Mario F.'s Avatar
    Join Date
    May 2006
    Location
    Ireland
    Posts
    8,446
    Quote Originally Posted by cpjust View Post
    So I'm guessing you're working on one of those live multi-player online games?
    Mind you, there's a sizable number of other situations where you can expect to see rendering to be a 24/7 operation. Cinema, TV and the military come to mind. Weather analysis and forecasting, satellite imagery, or media CG, being some of possible applications.

    One of the coolest 3D applications I've seen, outside the world of games, was just recently in fact, when visiting a packaging/expedition line. Their entire line (and a rather complex one since they ship to about any country in Europe) is controlled by a central server. One of the applications is a 3D model of the entire large-warehouse-size line which allows the operator to move and zoom to any part of it down to the detail of a bolt. Any problems in the line are warned there, of course. But the coolest bit is that the codebar readers assembled on the line are also attached to the system and the objects traveling over the line are faitfully rendered... a good 1 thousand of them at any time. It runs 24/7/365
    Originally Posted by brewbuck:
    Reimplementing a large system in another language to get a 25% performance boost is nonsense. It would be cheaper to just get a computer which is 25% faster.

  4. #19
    Officially An Architect brewbuck's Avatar
    Join Date
    Mar 2007
    Location
    Portland, OR
    Posts
    7,396
    Let me preface by saying that I won't reveal what precisely it is that I do (I can't) and I will not mention who I work for (I don't want to), so don't ask. Having said that...

    Quote Originally Posted by nick753 View Post
    1. Do you work for one company and go to the same computer everyday? (If so what types of programs are you writing for that one company all the time?)
    Yes, same company, same desk, same computer every day. I always work on the same product.

    2. Do you sit in an office? Or is it more like a cubicle with several other people around?
    Cubicle, but the walls are very high and it's much larger than other cubicles I've seen. I used to have my own office at a previous company, but the switch to a cubicle wasn't distressing. It makes me feel more in contact with the rest of the team.

    3. Do you mostly work in a group with other programmer? Or do you work alone?
    I function within a group of 6 programmers and 6 QA engineers. That's a 1 to 1 ratio. That NEVER happens. I'm spectacularly lucky to have that. We interact almost continuously, but the programming activity itself is mostly individual (i.e. no team programming for the most part).

    However, our group does have contact with other people in the organization, and I have a work-related conversation with somebody from a different group on an almost daily basis.

    4. How long do most "projects" take? Do you write 1 or 2 programs a day? Or 1 or 2 programs a month?
    Generally, development of the product occurs over a year-long time span, but we may do intermediate releases during that period of time. I can't express what I work on in terms of "programs." The work I do is ongoing.

    5. What are some of the most difficult tasks that you've had to face? How did you overcome them? (did you ever have to write something that was too difficult and couldn't do it)?
    The major difficulty is the relationship with our primary customer. It is not a run-of-the-mill business relationship. In several important ways, the customers are our bosses. For instance, if we want to make a certain enhancement to our product, it must be approved and budgeted by the customer. This generates tension at times, because there are things we want to do for internal, engineering reasons (to make our own lives easier) which the customer has no interest in.

    As far as difficult programming tasks, the most difficult aspect of my job is reverse engineering and debugging software which is outside our control. Problems with printer driver X interacting with strange third party application Y to cause problem Z, but only when running on platform W? It's my job to figure it out and fix it. Often I will end up patching binary modules to eliminate these sorts of problems. A few weeks ago I had to change something inside Photoshop.

    6. What is the pressure level like? Is there some "Master Software engineer" who is your boss who comes to work everyday just to make sure you guys are getting things done on time? Are there deadlines?
    There are deadlines, and they are very solid. We can slip a deadline if we can present a very good explanation to the customer. Our team has no single boss. There is a development manager and a QA manager who provide guidance and prioritization. Both of these managers actively participate in the work (the dev manager does development, the QA manager does testing, just like the rest of us.) In addition to that there is a dedicated business person we meet with on a daily basis.

    Any of these questions being answered would really be appreciated. I am really curious as to what it's like to be a software engineer for a living and if you would rather have chosen something else now that you know what t's like. Thanks!
    I would not want to do anything else, unless it involves brewing beer.
    Code:
    //try
    //{
    	if (a) do { f( b); } while(1);
    	else   do { f(!b); } while(1);
    //}

  5. #20
    Woof, woof! zacs7's Avatar
    Join Date
    Mar 2007
    Location
    Australia
    Posts
    3,459
    Quote Originally Posted by brewbuck View Post
    I would not want to do anything else, unless it involves brewing beer.
    Wait... after all these "Car vs Software" analogies, you wouldn't be a mechanic?

    Any of these questions being answered would really be appreciated. I am really curious as to what it's like to be a software engineer for a living and if you would rather have chosen something else now that you know what t's like. Thanks!
    Although I'm still studying to be an SE. There's nothing else I'd choose, since the field is so wide... even studying it isn't boring! (Mostly). You could always pick up another profession, and apply what you learnt as an SE.
    Last edited by zacs7; 02-18-2010 at 10:22 PM.

  6. #21
    train spotter
    Join Date
    Aug 2001
    Location
    near a computer
    Posts
    3,868
    Quote Originally Posted by nick753 View Post
    1. Do you work for one company and go to the same computer everyday? (If so what types of programs are you writing for that one company all the time?)
    I spend 20% of my time on-site (in the outback usually). I get to drive around dirt tracks in a big 4WD, play with huge vehicles and work in 50C heat.
    Is a good break from the office / workshop I spend the rest of my time in.

    Quote Originally Posted by nick753 View Post
    2. Do you sit in an office? Or is it more like a cubicle with several other people around?
    At the office I am in a cube farm with the 4 juniors in my team (so I can keep an eye on them).

    Quote Originally Posted by nick753 View Post
    3. Do you mostly work in a group with other programmer? Or do you work alone?
    Both. I assign tasks to the juniors and make sure they get done. I design the system and write the harder code.

    Quote Originally Posted by nick753 View Post
    4. How long do most "projects" take? Do you write 1 or 2 programs a day? Or 1 or 2 programs a month?
    A new small piece of functionality could take an hour or two.
    A new full system can take up to a year.
    I work on multiple projects at the same time, mostly a few months intensive work, then a day ot two for support and new features here and there.

    Quote Originally Posted by nick753 View Post
    5. What are some of the most difficult tasks that you've had to face? How did you overcome them? (did you ever have to write something that was too difficult and couldn't do it)?
    My job is to overcome any issues I, my team or my clients find.

    Does the deadly snake I discovered under my trackside equipment after I had started removing it count?
    Having the same site struck by lightning twice in a month (doing US$70k in damage)?
    Having to install WiFi network in one site as the 20m industrial grade CAT5 cable only lasted a month or two due to the constant vibration of the building (it is hell on earth that coal dumping facility).

    Working with IPCs located 100s of Kms from the nearest person, often in heavy haul vehicles that never stop, in conditions that kill a standard PC (and you) in hours is not easy (but is fun).

    Quote Originally Posted by nick753 View Post
    6. What is the pressure level like? Is there some "Master Software engineer" who is your boss who comes to work everyday just to make sure you guys are getting things done on time? Are there deadlines?
    I get paid to handle the pressure and get the job done before the deadlines.

    My boss and I bounce ideas/bugs off each other and experiment until we find a solution, otherwise I am the master.....
    "Man alone suffers so excruciatingly in the world that he was compelled to invent laughter."
    Friedrich Nietzsche

    "I spent a lot of my money on booze, birds and fast cars......the rest I squandered."
    George Best

    "If you are going through hell....keep going."
    Winston Churchill

  7. #22
    l'Anziano DavidP's Avatar
    Join Date
    Aug 2001
    Location
    Plano, Texas, United States
    Posts
    2,743
    Who is Joe Stack? / The Christian Science Monitor - CSMonitor.com
    Some of us were able to see the scene from our office window.
    My Website

    "Circular logic is good because it is."

  8. #23
    Registered User
    Join Date
    Jan 2005
    Posts
    7,366
    My answers are similar to everybody else's, but I'll give them anyway...

    1. I work for a company, drive to our office everyday, and work in front of my computer (except for days when I work from home, on which I use my work issued laptop to remotely connect to the computer in my office). I work on a desktop software application.

    2. We all used to have cubicles, but several years ago moved to an office building with offices around the outside and cubicles in the middle. We have a lot fewer people than we used to, so nobody uses the cubicles. There are 1-2 people in each office. I share one of the larger rooms with another co-worker.

    3. Multiple people work on our project (including people outside the country), but most of my time is spent on my own. We meet daily in a conference room or over the phone or skype to talk about things, and often go to each other's offices or use instant messaging and email to ask questions or discuss things.

    4. I've been working on the same "program" for nearly 10 years. We just add features and fix bugs on it. Some features are almost like separate programs, and those usually take several weeks to several months to complete. I'd consider each release to be a "project", and we release 2-3 times a year.

    5. I often have had tasks that were too difficult that I did not do. Usually "too difficult" means too difficult and time consuming to complete in the time we have before we release the next version, or more effort is involved than is worth it for the benefits of the feature or fix. Difficult tasks that I've overcome often involve working on something I'm not familiar with. For example, new databases or database features we must support need to be researched and understood. In addition, simply coming up with an elegant solution to a problem that fixes the current problem but also leaves the code in a state that is consistent and can be modified again in the future tends to be a common difficulty that needs to be tackled. It is too easy to simply try to fix something to make it work now, without considering other fixes that are more correct and will make the code stronger going forward.

    6. The pressure depends a lot on your own personality. There are people in my office who stress about pressure constantly. I personally rarely feel pressure (except in cases where my own failures or slowness have contributed to a bad outcome and I feel like I must make up for that). For most of my tenure here, we've had a manager who keeps track of our progress on things and only very rarely mentions if things need to move more quickly. There are deadlines, but the management on my team tends to be super flexible, so the pressure isn't necessarily there. There are times when schedules are made and when programmers are behind on the schedule they feel pressure to get back on track (although again that depends on the person). Most of the time the managers absorb the pressure coming from higher up in the company, although we've had some that have done better at that than others. Technically, now I could be considered one of those engineers that keeps track of others' progress. I'd like to think I don't put any pressure on them other than to do their best, but they seem to get worried anyway.

    I am very happy with my life as a software engineer, and can't think of a job I'd like much more than this one. I got lucky to work with a decent company and a great group of people that fit well with my personality and style, but I still think I would enjoy myself in most places. The work itself is generally fun and interesting. I think I'd probably be happy in any line of work (a lot of your job satisfaction depends on things that have nothing to do with the career field), but this one is as good as any.

  9. #24
    and the hat of sweating
    Join Date
    Aug 2007
    Location
    Toronto, ON
    Posts
    3,545
    Quote Originally Posted by brewbuck View Post
    I would not want to do anything else, unless it involves brewing beer.
    But then you'd have to change your username to 'brewbeer'.
    "I am probably the laziest programmer on the planet, a fact with which anyone who has ever seen my code will agree." - esbo, 11/15/2008

    "the internet is a scary place to be thats why i dont use it much." - billet, 03/17/2010

Popular pages Recent additions subscribe to a feed

Similar Threads

  1. Newbie question, C #
    By mate222 in forum C# Programming
    Replies: 4
    Last Post: 12-01-2009, 06:24 AM
  2. Need a computer software engineer's help?
    By computergirl in forum General Discussions
    Replies: 4
    Last Post: 11-02-2009, 12:59 AM
  3. another do while question
    By kbpsu in forum C++ Programming
    Replies: 3
    Last Post: 03-23-2009, 12:14 PM
  4. Question...
    By TechWins in forum A Brief History of Cprogramming.com
    Replies: 16
    Last Post: 07-28-2003, 09:47 PM
  5. opengl DC question
    By SAMSAM in forum Game Programming
    Replies: 6
    Last Post: 02-26-2003, 09:22 PM