Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • Home
  • SEARCH
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 208175
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 11, 20262026-05-11T17:48:06+00:00 2026-05-11T17:48:06+00:00

I’ve been working with C and C# for ages, I consider myself a pretty

  • 0

I’ve been working with C and C# for ages, I consider myself a “pretty good” programmer, but as has been pointed out many times, programming is only a small facet of software engineering and development. I’m the sole coder for my department but it looks like that is going to begin to change, what I would like to know from the Stackoverflow community is the following.

  • What does it take to move from coder to developer – I’ve read Code Complete so I think i’m ready to take that plunge. To some degree I already am.
  • What tools should I use when doing models of my software – assume C#
  • How deeply should I model my architecture before setting down hard and fast code? – I realize how subjective this question is, and I’d like rules of thumb more than “well it depends.” Assume i’m writing in house tools that are intended to “last 5-10 years”
  • What advice would you be willing to give to someone making the move from codeing to engineering?

Thank you all in advance! Have a great Memorial day!

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-11T17:48:06+00:00Added an answer on May 11, 2026 at 5:48 pm

    Firstly the generic answers:

    • Understand that any given tool is not a silver bullet to fix all your problems. So when you’re reading about MVC or Functional Programming or someone is spewing that LISP will solve all your problems, they won’t. They may solve a whole bunch of problems you have, but they won’t solve them all. In many cases in addition to solving some problems, they’ll introduce a whole bunch of others.
    • Understand the limitations and advantages of different components/technologies/tools at your fingertips for providing solutions to any given problem. Make your decisions based upon evalauation of all the advantages and drawbacks – don’t make your decisions blindly.
    • Pick the right tools for the job, including language, development, integration techniques.
    • Who will be maintaining the code? Code to the expected audience. If that’s you, don’t expect that six months from now when you’re expected to provide a fix that you’ll remember what your thought process was today… write code that reads simply and document your thought process. Not the “how” – the code does that, but the “why”. No matter how easy to read your code is, it cannot tell you why you did it that way. Code comments are for the why, not the how.
    • Understand your users, how they work, their mentality towards their tools, what their jobs are, what their attitude towards the learning curve for your software is.
    • Understand the mentality of the person/team that will be supporting your application – this means installation too.
    • Understand the need for source control and use it.
    • Backups, always assume and prepare for the worst, if you don’t you’ll wish you did.
    • Learn how to write software specifications, technical specifications, test documentation, user documentation.
    • FAT/SAT/UAT testing and signoff procedures.
    • Set lower expectations than you’re capable of delivering, don’t promise the client a Lambourghini and deliver a Volkswagon Beetle [Bug]. Much better to promise the Beetle [Bug] and deliver a Mercedes.
    • Don’t overcomplicate anything – that includes architecturally, programmatically or anything else. Documentation should be simple to read, the interface should be simple to use.

    Now the specifics:

    • Understand that you must research the problem and understand the problem domain before you can provide any kind of solution, architectural or otherwise.
    • Understand what the users expect will be delivered, how it will be delivered and how they will interact with it.
    • Find the least technically adept person that will be using your solution, if they can understand it, everyone else will too.
    • Design your software for your users as well as your financiers. If those you deliver it to can’t/won’t use it, you’re never going to hear the end of it – even if your financiers are initially satisfied, they will very quickly recant.

    Failure to plan is to plan for failure

    Your environment, software needs, target audience, network support staff, budget and any number of other factors will greatly affect the solutions you provide. For instance, in the type of environment I code for, I tend to draw on a finite set of tools for delivery of products, and they will likely vary for your environment:

    • Web browsers – IE/Firefox/Opera/Safari
    • Application/File servers – Windows Server, Linux, Unix
    • Web servers – IIS/Apache
    • Web application development – ASP.NET/C#/VB.NET/ASP/PHP/JavaScript/AJAX/MVC
    • Console application development – BAT/C#/VB.NET [Don’t write a full blown C# app if a BAT file will do the job much more simply].
    • Windows application development – C#/VB.NET
    • Data maintenance – C#/VB.NET/Excel/VBA
    • Database servers – SQL Server, MySQL, Oracle
    • Network/Data/File integration services – MSMQ, BizTalk, SonicMQ, FTP

    I may use one or more of these technologies for my solution dependent entirely upon what is being asked of me. The key is to understanding which is relevant for a given situation and only using those necessary. For instance don’t write a full blown web application if a command line utility can easily be used by a single user, don’t write a Windows application if many users need access to an application that can’t easily be installed on their machines due to user restrictions and limited systems support personnel. Don’t write a command line utility for users that can barely navigate around windows with their mouse and don’t expect a Microsoft expert to support your *nix based system.

    Provide diagrams and documentation that make it simple to diagnose issues so that when problems are found [and they will be], users/deskside support can easily narrow down the problem to a particular component in the system. This will make your life easier because they’ll either be able to fix it themselves or provide you with enough information to fix the problem quickly and simply.

    Edit: in response to your comment regarding UML which is great for the purpose, but once again you have to be aware of your target audience. If you’re a lone programmer that’s developing systems for a small client whose personnel don’t understand UML, you’d be just as well providing a regular flow-chart decorated with simple English. If your target audience is a software consultancy whose business is software development, then by all means, UML is a great tool – especially as with some UML tools, you can have it automatically generate your stub classes/methods for you to automate some of the process. I tend to work in small teams for small companies so I don’t use UML as much as I’d like, and probably don’t understand it as well as I should, but that’s not to say that if I was required I wouldn’t brush up on it. It’s a great tool to have in your toolbox but don’t use it just for the sake of it. Everything you use in the design/architecture/development of your solution should be used for an objective reason – don’t just use/learn it blindly because someone says “you should use this because it’s great”.

    The key to good architecture is this:

    • Understand the tools you’re using
    • Understand the reasons you should and shouldn’t use the tools you have for any given purpose
    • Make informed decisions objectively, don’t base them on hearsay or emotion.

    And most of all:

    • Use your common sense!! If something doesn’t sound or feel right, figure out why that is, worst case is that you’ll find out you were wrong and you’ve corrected a misunderstanding/misconception, best case you saved a lot of time pursuing an incorrect and potentially expensive option based on that misconception – either way you’re better off than you were.
    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Ask A Question

Stats

  • Questions 234k
  • Answers 234k
  • Best Answers 0
  • User 1
  • Popular
  • Answers
  • Editorial Team

    How to approach applying for a job at a company ...

    • 7 Answers
  • Editorial Team

    How to handle personal stress caused by utterly incompetent and ...

    • 5 Answers
  • Editorial Team

    What is a programmer’s life like?

    • 5 Answers
  • Editorial Team
    Editorial Team added an answer Shame the 'file' url isn't supported - since this actually… May 13, 2026 at 5:57 am
  • Editorial Team
    Editorial Team added an answer Ok, you've got a master page and a content page… May 13, 2026 at 5:57 am
  • Editorial Team
    Editorial Team added an answer The article you linked to has algorithms which allow you… May 13, 2026 at 5:57 am

Related Questions

I've got a string that has curly quotes in it. I'd like to replace
I'm trying to decode HTML entries from here NYTimes.com and I cannot figure out
I ran into a problem. Wrote the following code snippet: teksti = teksti.Trim() teksti
I have a French site that I want to parse, but am running into
I have text I am displaying in SIlverlight that is coming from a CMS

Trending Tags

analytics british company computer developers django employee employer english facebook french google interview javascript language life php programmer programs salary

Top Members

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.