This may seem like a very general question, but how does a programming job work?

Note: I don't have any prior programming job experience, but I'm versed in Java, Python, and C++.

However, the projects/code I've programmed so far involved singular Labs, not large softwares. This led me to wonder if I would be relevant in the working environment where multiple people work on several steps of a large program.

How should I prepare for such an environment before I actually delve into it?

closed as too broad by user8365, alroc, jmoreno, Kilisi, Lilienthal Nov 23 '15 at 23:28

Please edit the question to limit it to a specific problem with enough detail to identify an adequate answer. Avoid asking multiple distinct questions at once. See the How to Ask page for help clarifying this question. If this question can be reworded to fit the rules in the help center, please edit the question.

  • 3
    It would be easier to tell you what you need to do if you told us about yourself. Are you a college student? What is your employment history like? In what country are you looking for work? – Nolo Problemo Nov 23 '15 at 22:53
  • you would still be relevant, you must have worked on steps before, it's just upscaling that and learning to deal with people at the same time as part of a team. When first starting it's best to keep your head down until you feel comfortable and get a feel for the team environment and workload. I found the hardest adjustment was to working with a team rather than the actual work. – Kilisi Nov 23 '15 at 23:03

You're right: it is a very general question.

You're also right in noting that there's a big difference between programming assignments at school/university, and the complex projects you will work on in the industry. It's hard to understand that difference before you actually get into the industry, but many people already in the industry do not fully understand concerns such as architecture, coupling, maintainability etc which typically aren't addressed in school.

The best way to learn these things is by getting experience, and working with people who already know them. However, you can also learn a lot by reading the right books. The Pragmatic Programmer is a good place to start.


This may seem like a very general question, but how does a programming job work?

Generally there is a contract between you and the company asking that you provide services that make the software or system and get paid accordingly. In some start-ups, the pay may be equity in the company while other places may just pay an hourly rate with various combinations of options and cash in between existing for development jobs that can involve business analysis, software architecture, testing, system administration as well as the development itself. Also, companies may use different methodologies as some may prefer waterfall, some agile and others some hybrid of the two.

How should I prepare for such an environment before I actually delve into it?

Consider what kind of environment do you work best:

  • How structured do you want things to be: Are you wanting to program from documents or could someone tell you a general idea and you'd know how to design system and get a prototype up and running quickly?

  • Do you often want to work alone or do you want to do pair programming? There are also other team dynamics that could be used depending on social needs.

  • Do you want to start on new projects that haven't been done or work on existing code bases that may have some smells here and there?

  • Which practices do you know like continuous integration, continuous improvement, unit testing, integration testing, database normalized forms, etc.?

These could help you as some places may be rather lax in the rules and others could be quite militant in some cases.

Not the answer you're looking for? Browse other questions tagged or ask your own question.