Advertisement
If you have a new account but are having problems posting or verifying your account, please email us on hello@boards.ie for help. Thanks :)
Hello all! Please ensure that you are posting a new thread or question in the appropriate forum. The Feedback forum is overwhelmed with questions that are having to be moved elsewhere. If you need help to verify your account contact hello@boards.ie
Hi there,
There is an issue with role permissions that is being worked on at the moment.
If you are having trouble with access or permissions on regional forums please post here to get access: https://www.boards.ie/discussion/2058365403/you-do-not-have-permission-for-that#latest

Most important tools a software engineer must have

  • 05-08-2005 7:39pm
    #1
    Closed Accounts Posts: 181 ✭✭


    Although this is not as such a techie type question I feel it would help anybody that is making a living out of programming. What in peoples opinins are the technologies that a developer must have in there toolbox to maintain steady and well paid work? Imo I think having experenice with the .net framework and SQL are a path to career progression because both are being plugged by Microsoft. Love them or hate no matter where a developer works they will come across some type of a microsoft product. Or do people think Java is the way foward?


Comments

  • Registered Users, Registered Users 2 Posts: 4,003 ✭✭✭rsynnott


    Love them or hate no matter where a developer works they will come across some type of a microsoft product.

    Quite right. Where I work, there's one desktop copy of Windows, and one of those Microsoft Natural keyboards. I use neither.


  • Registered Users, Registered Users 2 Posts: 15,443 ✭✭✭✭bonkey


    What in peoples opinins are the technologies that a developer must have in there toolbox to maintain steady and well paid work?

    I read the topic title with interest. Then I noticed that here you've changed from saying tools to technologies....pity.

    Here's my take: Technologies are not important.

    Language- and platform- independant skills are what are primarily important. After that, its a case of finding the appropriate tools to apply these skills to the technology you are currently using.
    Imo I think having experenice with the .net framework and SQL are a path to career progression because both are being plugged by Microsoft.
    And in the 80s, no-one ever got fired for buying IBM. The timframe of a career is so long that you can't possibly seriously think that one single company will remain dominant for its entirety. So ask yourself - what happens when it loses its dominance?

    I'm actually worried that you seem to consider SQL to be a Microsoftian technology...or something thats .Net-relevant and not Java-relevant.

    Aside - if you look at the trends of modern development, there is a strong move to seperate application programming from SQL entirely. MS have a lot of "take the effort out of it for you so you don't need to learn SQL" widgets, and technologies like Hibernate offer a different but comparable option for Java. SQL looks set to become like so much other stuff - you need it only when you are doing something so complex / performance-critical that you have to roll your own.
    Love them or hate no matter where a developer works they will come across some type of a microsoft product.
    I think you have far to narrow a view of the fields in which programmers are employed.
    Or do people think Java is the way foward?
    Its just another technology. Just like .Net.

    There is no magic bullet. There is no single "right way".

    If you want to limit yourself to just a hammer, then every problem will look like a nail, or you're only employable when and where nails are needed.

    As for career progression....you generally specialise or abstract. Take your pick. There's no right answer.


  • Registered Users, Registered Users 2 Posts: 4,003 ✭✭✭rsynnott


    bonkey wrote:

    I'm actually worried that you seem to consider SQL to be a Microsoftian technology...or something thats .Net-relevant and not Java-relevant.

    People are confused by "SQL Server", presumably.
    There is no magic bullet. There is no single "right way".

    I'm of the opinion that everyone should learn some low-level stuff, at least down to assembly level and preferably further.


  • Registered Users, Registered Users 2 Posts: 83 ✭✭fatlog


    yeah, i agree with the last few comments. you shouldn't concentrate on a specific language/technology. languages, technologies, companies, methodologies all come and go. the real skill is in being technology independent.

    remember cobol was great!!


  • Registered Users, Registered Users 2 Posts: 21,264 ✭✭✭✭Hobbes


    rsynnott wrote:
    Quite right. Where I work, there's one desktop copy of Windows, and one of those Microsoft Natural keyboards. I use neither.

    Absolutly. Some customers I have spoken to are total Mac/Linux/AIX shops. It can be an eye opener to see a fully working company that has no windows whatsoever.
    Language- and platform- independant skills are what are primarily important. After that, its a case of finding the appropriate tools to apply these skills to the technology you are currently using.

    I would say methodoligies as well (don't need to know all of them). Its the difference between writing poor code and production standard code.


  • Advertisement
  • Closed Accounts Posts: 8,264 ✭✭✭RicardoSmith


    Don't think it matters if you know the difference between good practice and bad. That applies to everything you do regardless of what language or technology you are working with.


  • Registered Users, Registered Users 2 Posts: 4,003 ✭✭✭rsynnott


    Don't think it matters if you know the difference between good practice and bad. That applies to everything you do regardless of what language or technology you are working with.

    Well, you also need to be passably intelligent...


  • Closed Accounts Posts: 8,264 ✭✭✭RicardoSmith


    rsynnott wrote:
    Well, you also need to be passably intelligent...

    Theres lots of intelligent people with no common sense.


  • Registered Users, Registered Users 2 Posts: 4,003 ✭✭✭rsynnott


    Theres lots of intelligent people with no common sense.

    Yep, that there be. They're actually very useful in certain specialised roles. (See http://www.laughnet.net/printer_friendly.php?cPath=26&products_id=175). On the other hand, stupid people shouldn't be let NEAR computers (see http://thedailywtf.com). "Good practice" is no guarantee of good results.


  • Registered Users, Registered Users 2 Posts: 16,414 ✭✭✭✭Trojan


    A text editor, a compiler, and a brain. Tools of the trade.


  • Advertisement
  • Registered Users, Registered Users 2 Posts: 4,003 ✭✭✭rsynnott


    Trojan wrote:
    A text editor

    I feel a holy war coming on ;)


  • Registered Users, Registered Users 2 Posts: 15,443 ✭✭✭✭bonkey


    Yeah. "copy con >" should be enough for anyone ;)

    jc


  • Registered Users, Registered Users 2 Posts: 7,468 ✭✭✭Evil Phil


    Caffeinated beverages tbh.

    But seriously, text editor, compiler and brain are about it. I think Hobbes mentioned interpersonal skills in another thread - these are also vital imo. Its a nightmare working with somebody who doesn't know how to communicate to the rest of their team.


  • Registered Users, Registered Users 2 Posts: 1,865 ✭✭✭Syth


    Compiler! Pah! If you don't know how to convert your code into machine/byte code then I don't want to hear from you. cat & ^D does me grand.


  • Registered Users, Registered Users 2 Posts: 16,414 ✭✭✭✭Trojan


    Emacs is a great operating system but it lacks a decent text editor.


  • Registered Users, Registered Users 2 Posts: 4,003 ✭✭✭rsynnott


    Syth wrote:
    Compiler! Pah! If you don't know how to convert your code into machine/byte code then I don't want to hear from you. cat & ^D does me grand.

    You mean you don't just flip the banks of switches on the front?


  • Registered Users, Registered Users 2 Posts: 21,264 ✭✭✭✭Hobbes


    Evil Phil wrote:
    I think Hobbes mentioned interpersonal skills in another thread - these are also vital imo. Its a nightmare working with somebody who doesn't know how to communicate to the rest of their team.

    Which is one aspect of it, but for a good developer to get their work done they should also be able to neogatiate with management and stand their ground properly.

    Example (all be it a poor one).
    Developer: I can't believe you are asking me to totally rewrite this code after I spent 1 year developing it! You have any idea how much time I put into this?

    Manager hears: Blah blah blah blah

    Developer: Sure I can restart this project from scratch but it will put our deadline back 1 year. We could pull that in by putting huge amounts of cash in to the project to pull it up to date or we could buy a cheap off the shelf solution and save money tweaking that.

    Manager hears: blah blah too much time, lots of money! Shareholders will crucify me! blah blah cheaper solution! I can afford that new BMW too with this option let me just nick that idea blah blah.

    I've found while managers can be sympathetic at the end of the day only something that effects the bottom line or makes them look good gets a look in.

    Dealing with your team members, your manager, upper mananagement and the customer are all skills that a SW engineer should work on. All the technical stuff most SW Engineers know inside out.


  • Registered Users, Registered Users 2 Posts: 885 ✭✭✭clearz


    Trojan wrote:
    A text editor, a compiler, and a brain. Tools of the trade.

    Amen to that. Although I do get sucked into an IDE from time to time.


  • Registered Users, Registered Users 2 Posts: 4,003 ✭✭✭rsynnott


    clearz wrote:
    Amen to that. Although I do get sucked into an IDE from time to time.

    Nothing wrong with IDEs. I'd hate to bugfix on a large Java app without IntelliJ or Eclipse...


  • Closed Accounts Posts: 291 ✭✭imeatingchips


    glasses, ill-fitting pants and a snorty laugh


  • Advertisement
  • Closed Accounts Posts: 7,230 ✭✭✭scojones


    1) A good sense of humor
    2) The ability to lead a team of developers
    3) The ability to converse with work collegues.
    4) An ambition to improve the skills and capabilities of everyone who is in the same team as him/her.
    5) A bookshelf full of books like "The Pragmatic Programmer" and "Code Complete".


  • Registered Users, Registered Users 2 Posts: 4,003 ✭✭✭rsynnott


    sjones wrote:
    5) A bookshelf full of books like "The Pragmatic Programmer" and "Code Complete".

    I'd question that one.


  • Registered Users, Registered Users 2 Posts: 1,391 ✭✭✭fatherdougalmag


    And 'The Mythical Man Month'.


  • Registered Users, Registered Users 2 Posts: 21,264 ✭✭✭✭Hobbes


    Code Complete is ok. Pragmatic Programmer I think it should be required reading.

    There is another from microsoft press about software projects (forget the name its downstairs and too lazy to look :)). Thats worth getting.

    I would also say "The art of Demotivation" is good reading.


Advertisement