Create a program from A-> Z

I read a lot of books about Microsoft Dot Net, and I learned a lot.

  • Object oriented programming
  • Windows user interface development
  • Using SQL Server and XML
  • Application debugging
  • Using the Serialization and Application sections
  • Deploying a Windows Application
  • Security and Licensing

I know how to do all this, not perfect and very deep, but good. But my problem is that I CANNOT build the application. This is not an idea, I have ideas.

The problem is that every time I start, I don’t know where to start, where to start, how to develop a plan, debug the application during its writing or after, when to implement security, when to deploy and test it, if my application is missing a step if it is compatible with other network point networks, if it works on all platforms ...

I feel that I have some missing in my training that prevent me from creating an entire application that is secure and manageable.

Did I miss another book, courses, lessons? Or is it my problem? Can all people develop plans or just be limited to other people? Finally: what should I do? Continue training and build the application (to sell it later) Or just work part-time until I finish my studies and find a full job.

+6
build
source share
6 answers

Do not start with a lot of thinking. Start small. When you think that big, you risk intimidating yourself.

When I start thinking too much, I can never find the right place to start, and I go to endless circles of thought, like what you describe. If I can start with a small, realistic and manageable task, then I begin to make small progress. After one part is completed, I can start with the next. Of course, I will come back later and pick up the previous parts, but this is normal. At least I started, and I'm on the right track, and I'm not stuck in the “where I start” perfectionist uncertainty.

How do you eat an elephant? One bite at a time.

[Change] Here is another idea: try writing a simple but complete application every day for a week. This will require hacking things and using partially thought-out spaghetti code. But it would also make you focus on achieving real completion and evaluate which features are needed and which ones just creep.

I would not recommend this to many people. If you do this for too long, you will build violent habits. However, for your personal mental block, this exercise may help.

If you decide to do something similar, send a message here and let us know how it went.

Good luck

ps: great question. I am sure that many people are faced with the same situation, but do not want to ask for fear to look bad. I know that I doomed many of my personal projects because of the very reasons that you described.

+11
source share

Writing out what you want the software to really help is also usually your functional specification, but for a small application, just write down what you want.

Break it down into small “baby steps,” as paulgreg mentioned, so you can start working on them while keeping an eye on the big picture.

As Timbuck said, it helps you work in the industry, as you can learn from others and let them make this building for you (at the beginning), but you also get more programming experience because you will do so much more!

BTW: If you don’t like the idea of ​​creating some kind of “useless application”, think about the application you would like to have. Of course, there are people who would like to have it, so you can go and sell it as shareware somewhere; -)

+4
source share

Try baby steps ...

For example, for an address book, first create a search, then a create form, then an update form, etc. Feel the opportunity to frequently reorganize your code to avoid repetition.

I sometimes create the first and small versions of the application this way, and I used the second clean version after I recognized the errors that I made on V1.

+3
source share

Start with your small phone book app, which you can finish in a couple of days. seeing one simple project, from start to finish, it will become clearer how to act with something a little larger, and you go up the stairs.

Understanding all aspects of a full-blown system will require years of experience.

Good luck

+2
source share

Work in the industry definitely helps to bring many pieces together. Even more useful when you come across more experienced developers who can help you in this process.

One thing that really helped me was to develop a simple substitution application that I used during my job search. I was able to use this as the basis for several other personal projects, as well as the tools that I use every day in my professional career.

Returning to the code after a while allowed me to see where I could do something better. After all, most of the code you write needs to be supported somewhere along the line, probably not from you. So, if you are having trouble returning to your own code and modifying it, imagine what it would be like for someone else. So far, my approach has been to “build one to throw away” in terms of program blocks.

Starting with a fresh slate is nice, but as you will learn, it can also be overwhelming. You will see that as you progress you can add other features. Resist this temptation! Of course, it may seem “easy” to add a specific parameter, but it can lead you to dark paths and distract attention from your main goals.

Knowing languages ​​and technologies is one thing, but understanding the principles of software development will provide you with the best foundation for building your career.

+2
source share

What you read is part of the puzzle, so to speak. You will need to have a clear picture of the big picture. Why do you want to solve this problem? This is problem? Are there alternatives, workarounds? What am I doing better than my competitors? Be your critic.

Did I miss another book, courses, lessons? Or is it my problem?

I would say that you look at the principles of software development, development processes. Also, think a bit about understanding requirements, architecture and software design, etc. Keep exploring what you learn.

Can people plan plans or just be limited to other people?

Some people are better than others. As in any other area.

Finally: what should I do? Continue training and create an application (sell it later) Or Just work part-time until I finish my studies and find a full job?

Keep reading / writing. A confident assignment helps you get in touch with how everything is done in a professional environment. You can apply these principles when working on your pet project. Of course, it is very important to get the job in the software field.

+1
source share

All Articles