Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

I work at a BPO, actually a call center. My bosses saw the html tool I made to help me document customer concerns and steps I made to help them faster and more easy. With that, they made me the reporting guy. Then they asked me to create a executable file (.exe) which generates the stats or metrics of agents. I used c#, and ms access for the database for it. It took me 6 months to finish it, on my own. But I feel that's kind of a long period for a project like that. And when I look at my codes, I'm not satisfied myself.

I really want to pursue programming/software development. Its just that I don't have proper training or education for it. I took computer engineering in college but my school isn't that good (I want to share the reason why but it'll just make this post longer).

I've been doing research, reading ebooks about programming but I still can't grasp the essence of it. It's like, I can easily learn a language, IDE, technology etc., but I can't put them together.

Can you, experts, tell me how I could see the bigger picture?

Can you help me understand the following:

  1. How are companies that makes/provides software solutions/programs start a project? Or how do they make them, in terms of process?

  2. I've been seeing terms like software tester, unit testing, automation test etc. What are those and why are they being used or incorporated in the process?

I have so much questions to ask, but when I try to post them, I tend to forget them, like at the tip of tounge.

I hope you experts, can shed some light on those questions. I'm not trying to solicit points, but I really want to use the chat feature here so that when I have a quick question and learn more about programming/software development, I could easily chat with experts.

share|improve this question
add comment

2 Answers

I will give you the same advice that I received when I wanted to learn how to program.

Pick up Code Complete. Read it cover to cover. Think about it. Try to deliberately practice what it says. It will answer questions that you wouldn't think you needed to have, and will give you a foundation to learn everything else you need to learn.

Be warned. It is over 900 pages long and is chock full of things that need to become reflexes, not something you think about abstractly.

If you actually do that, then you're serious enough that you're going to pick up everything you need to learn, and you'll become good. Start looking for other books that cover different stuff. Lists of such are easy to find. If you fail to do that, you're going to need more assistance than I can supply remotely and won't go as far even with assistance.

share|improve this answer
    
Thanks, I'll take your advice and will read that book :) –  vade Jun 22 '13 at 9:41
add comment

1.

Most company put together or already have a team where they can place the project. Most companies I've been with (mostly web development) uses scrum, kanban or extreme programming for process handling. These are some good tools for figuring out what kind of project you have, wether it's complex or just a walk in the park.

There is a lot of ways to get started. Are you familiar with the IDE/Framework/Programming language - then go ahead and get started. If you are not, you may use tracer bullets(1) or a prototype to see how you best proceed.

It is very rare within companies that a single person is responsible for developing a project. In the world of development you need input from other developers. Continuesly thinking if there is a better solution. If you are new or alone this might be hard, you can use online code reviews - and ask here. If you want to work with others in your freetime, you can have a look at the opensource community

The best way to get better is simply asking questions. Exactly what you are doing now. Questioning the process and the tools that you use.

2.

Unit testing and any test for that matter is a part of the companies Quality assurance policy. How/what you test is up to your company. Software testers are people who try out your code, to see if it behaves according to the documentation or standard user experience. They don't look at the code, just run it (May it be a website, a game or a console application).

3.

I let this third point in, because I think your question really is "how to get into/"better at" programming". My best advice for any programmer, be it master, junior or starter - have the curisoty, will and excitment for programming. Start your own project that you want to succeed with (like you already have), and as I already mentioned, ask questions. Not neccessarily to others, most of the time to yourself.

(1)Tracer bullets are a term from the pragmatic programmer - a great book on how to be a great programmer

share|improve this answer
    
thanks, I'll be hanging out here more often and ask questions –  vade Jun 22 '13 at 9:36
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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