# Thread: Steps to develop an application

1. Senior Member
Join Date
Mar 2014
Posts
286
Rep Power
7

## Steps to develop an application

If somebody wants to create an application, but don't have a teacher or supervisor to guide them about the steps to follow. They don't have a formal education in Computer Sciences or Software Development either.

So how do I know where to start and what to do? I was trying to read this article but it is too advanced for a beginner. So I'll appreciate if somebody can point me towards something to read or tell me the steps used to make an application? Is it necessary to have a supervisor?

2. Senior Member
Join Date
Feb 2014
Posts
447
Rep Power
7

## Re: Steps to develop an application

Hi Zarah,

in my eyes the most important step is training. Start slow. And then try to enhance more and more.

So just start with a lot of small applications. When I went to school, I wrote a lot of applications that solved problems of my math classes. Some exercises was quite simple e.g. solving ax˛ + bx + c = 0 (But not just calculating the result. Print out everything that the math teacher want to see in your book!) up to some graphical stuff (I remember triangles. 3 values was given - e.g. 2 angles and one line length or 2 line length and one angle - and then I was calculating all angles and line length and I was drawing the triangle on my monitor so you could have checked everything on the monitor. And then I even added printing to it, so that the result out of the printer was exact.)

These things had a few points in common:
a) The complexity wasn't high. (In my eyes it is nothing worse than business requirements that are unknown. Then your application can only fail!)
b) The application didn't need any special design (in fact there was almost no OOP when I did that. Smalltalk was there but at least the C++ from Borland came much much later!). So a bad design wasn't breaking the application.
c) There was no need to be user friendly or have a nice documentation or just a nice look. (I just concentrated on the core application. if you want to build something that you want to sell then it must look good!)

I would suggest that you start like this, too. And then you can read a little bit about different topics to enhance the solutions:
- Maybe you read about user interfaces. What are the DOs and DON'Ts? (Some points differ from platform to platform but there is a common logic behind, too)
- Maybe you read about Installers. How do you get it to the user? (So App-Stores are quite nice. But it depends on the platform, too) This can be a complex thing (e.g. building professional installers on windows). This also covers things like "How do you create an "executable" or an Service... Or maybe Application Servers.
- Maybe you read about some specific technology? This could be anything e.g. database access with JDBC, Web-pages, a framework like Swing, ...
- Maybe you want to read about clean code and then optimize your code (That is something that I really find funny. This week I fetched an old archive of some java software I wrote 11 years ago and I started to refactor it just as a training.)
- Test Driven Development is an important area. Even if you do not want to write tests first: Unit Tests are really required!
- You can always read about project management or object oriented design or stuff like that (There are always new things. I think right now the mainstream is continuous delivery.)

There are always things that you could learn. The list is far from complete. I am also someone that is learning all the time. There are a lot of books on my list that I want to read and for each book I finish I find 2 more books that would be nice to read.
I often have 2 book that I read. One is a new topic (Right now that is "Pro Swing 3" for me) and one is an "old" topic where I read a book again or a new book covering an important area (That was "Clean Code" till last week and now it is a TDD book). When I can concentrate fully, then I read the first and when I am to tired then I read the second one.

But it doesn't matter what you do: Just start doing it and start small! So you always need practice. Without practice you cannot expect to master anything.

When you start it is always good to have someone to ask. You found this forum and you are already active. That is a great start and I am quite sure that you can get a lot of help from this forum.
But of course: a direct contact is always best. A direct chat with someone experienced is something that can really bring you forward. But I am not sure that this is really required. This forum can be great if you are patient with us. Sometimes it is hard to fully understand the core point of a question or problem. But if you are patient and try to point us, then we should always find an answer.

Maybe you can give us more details: What kind of applications do you want to create? On which platform? Then we might be able to point you to some kind of path that you might want to consider.

With kind regards,