How to develop software

Author: Laura McKinney
Date Of Creation: 6 August 2021
Update Date: 1 July 2024
Anonim
Guide To Becoming A Self-Taught Software Developer
Video: Guide To Becoming A Self-Taught Software Developer

Content

Becoming a software developer is a lucrative career plan. Usually it's people with really good skills. But what exactly are they doing? Since it is more likely that you will not be able to outdo them, you will have to join them. Do you love technology, want to engage with users to develop a good software? With a little brainstorming and starting with step 1 below, you can.

Steps

Part 1 of 3: Mastering the fundamentals

  1. Determine what kind of software development you are interested in. There are two basic forms of software development: Application development and Development System. Application development focuses on the creation of programs that meet the needs of users. These include mobile phone applications, high-budget video games, or enterprise-class accounting software. Systems development focuses on creating and maintaining operating systems using lifecycle development. Systems development often includes data security and network operability.

  2. Learn a programming language yourself. Anyone can think of interesting ideas, but only a developer has the ability to materialize those ideas. Even if you only intend to do software design related work, you should still be familiar with coding and be able to create basic prototypes. There are many programming languages ​​that you can learn on your own. Here are some of the most important and useful programming languages:
    • C - C is one of the old programming languages ​​still in use and the foundation of most of the other languages ​​on this list. C is used to develop low-level programs and is very compatible with computer hardware.
    • C ++ - This is the object oriented version of C and also the most popular programming language in the world. Some programs like Chrome, Firefox, Photoshop and others are all made in C ++. This is also a very popular language used to create video games. C ++ developers are almost always on the hunt.
    • Java - This is the version that evolved from the C ++ language and became a familiar language thanks to the easy cross-platform switching. Almost any system can use the Java Virtual Machine to run Java software. This language is widely used in video games and business software. Many people think that this is the basic language.
    • C # - C # is a Windows-based language and is part of the .NET framework from Microsoft. The language is closely related to Java and C ++, so if you have learned Java, you can quickly convert to C #. This language is especially useful for developers creating Windows or Windows Phone software.
    • Objective-C - This is another version of the C language designed specifically for the Apple system. This language is extremely popular in iPhone and iPad apps. This is also a great language for freelancers.
    • Python - This is a very easy language to learn, possibly considered one of the easiest to grasp. Python specializes in web development.
    • PHP - This is not exactly a software development language, but learning PHP is essential if you are interested in learning about web development. There are always plenty of jobs for PHP developers, though not as profitable as software development.

  3. Find materials to help you learn. Most bookstores have sections for programming books, of course there are plenty of books on Amazon and other electronics retailers. A carefully crafted programming book can be the best resource for you, and also allows you to quickly refer to it while working on a project.
    • In addition to books, the Internet is an inexhaustible resource of detailed reference books and instructions. You can find references about the language of your choice on sites like CodeAcademy, Code.org, Bento, Udacity, Udemy, Khan Academy, W3Schools and many more.

  4. Take some classes. While it is not necessary to obtain a formal degree to conduct software development, it costs nothing to study at center or to take some classes at a local community college. The advantage is that you get personal guidance and the opportunity to try out problems that you rarely encounter while studying on your own.
    • If you want to join a class, you need to pay tuition, so make sure you only sign up for classes that help you learn the unknown.
    • While many developers can enter the industry with just their stellar skills, you can stand out if you have a Bachelor's degree in computer science after four years at university. That degree gives you a broader background in order to be able to participate in other useful classes such as math and logic.
  5. Project for personal interests. Before you put your new programming skills to practice in real life, you should try doing some projects for yourself. Challenge yourself to solve problems in your programming language. This not only helps you improve your skills but also beautifies your career résumé.
    • Example: Instead of using your desktop calendar app to organize your tasks, try designing your own!
    • If you are interested in video game development, try creating simple games that do not focus on graphics or complex gaming rules. Instead, focus on making the game interesting and unique. A collection of mini games that you create yourself will make your profile look great.
  6. Make a question. Using the Internet is a great way to communicate with other developers. If you're having trouble working on one of your projects, you can ask for help on sites like StackOverflow. Make sure you ask subtly and show that you've tried as many things as possible.
  7. Practice every day. Work on your passion projects every day, even if it's only for an hour. This helps you stay motivated and constantly learns new skills. Many developers have succeeded in learning a language by ensuring that they are exposed to it every day.
    • Determine how much time each day you can dedicate each day to coding, or set a deadline that you need to fulfill. Try to do your project on weekdays so that you can relax on the weekends.
    advertisement

Part 2 of 3: Developing a program

  1. Brainstorm to come up with ideas. A good program will usually perform the task that makes it more convenient for the user. Observe the software currently available for the task you want to perform, then think of a solution that makes the process easier or smoother. A successful program is one that brings many benefits to its users.
    • Test your daily tasks on your computer. Is there some way to automate part of those tasks with a program?
    • Write down all your ideas. Even if it sounds silly or strange at the time of writing, the idea can be helpful or even worthwhile.
    • Find out about other programs. What do these programs do? How do they get better? What are they missing? Answering these questions can help you come up with ideas to handle the problem yourself.
  2. Write sketch text. This document will outline the outlines and goals that you will be working towards while working on the project. Referencing the outline text during development will keep your project on the right track and achieve the focus it needs. See this article for detailed text writing.
  3. Create a prototype. This is the basic program that shows off the functionality you're trying to achieve. A prototype is a quick program that needs to be recreated over and over until you find a sample that works. For example, if you're creating a calendar app, your demo template can be a basic calendar (with exact dates!) And events can be added to the calendar.
    • The prototype will often change throughout the development lifecycle because you may suddenly find new ways to solve a problem or come up with an idea you want to use later.
    • The prototype doesn't have to be beautiful. In fact, the design style and the graphics should be at the bottom of the list of things you need to focus on. Taking the calendar application as an example, your prototype will usually be text-only.
  4. Test run many times. Bugs are something any developer can encounter. Errors in code and unusual usage can cause all kinds of problems in a complete software. While you are still working on your project, you should try to test it as many times as possible. Find out all possible program errors and try not to let the program have the same error in the future. Ask family and friends to test the program and report bugs. Any way of providing feedback can assist in the development process.
    • Try entering strange dates if your program contains dates. Dates in the past or in the distant future can cause the program to run abnormally.
    • Type in the wrong type of variable. Example: If you are creating a form asking the user to age, try typing in a word to see what will happen to the program.
    • Try clicking on everything if your program has a graphical interface. What happens when you return to the previous screen, or press the buttons in the wrong order?
  5. Refine your project. It's okay if you create a sketchy project in the prototyping and development phase, but if you want others to plan on using it, you will need to spend some more refinement. That means you need to make sure the menus are in the right places, the UI looks neat and easy on the eyes, no easy-to-detect or fatal bugs, and the finished version looks. must be nice.
    • User interface design and features can be very difficult and complex. There are people who spend all their careers designing user interfaces. Make sure your program is easy to use and easy to see. Creating a professional user interface can hardly be done without a budget and development team.
    • If you have a budget, you should know that there are many freelance graphic designers that are able to design UIs when you contract with you. If there is a large project that you expect will become something of a lot of people, try finding a good UI designer and persuading them to become part of your team.
  6. Submit your project to GitHub. GitHub is an open-source community that allows you to share your code with others. As a result, you gain a deeper understanding of the code you write yourself, while helping others struggling to find solutions you might have come up with. GitHub is a great repository to learn from, and is a great way for you to build your career.
  7. Distribute your software. After creating a complete software, you can choose between two options, whether to distribute the software or not. Currently, there are many ways for you to do this depending on the type of software you created.
    • One of the most popular ways of distributing software to small-scale developers or independent developers is through a personal website. Make sure all features are well-informed, along with a few screenshots and user manuals. If you are selling software, make sure you have a good internet payment system and a server to distribute the software.
    • If you're developing software for a particular device or operating system, you can take advantage of a digital store. For example, if you are developing software for an Android device, you can sell your software through the Google Play Store, Amazon App Store, or your own personal website.
    advertisement

Part 3 of 3: Getting a job

  1. Get seasonal work. While it won't make you as much money as a full-time and less reliable job, you can significantly improve your resume by taking on a variety of seasonal jobs. You can refer to sites like Elance or ODesk (also known as "Upwork" at the moment) to find a job. While it can be difficult to be considered for a contract, after getting your first job it will become a lot easier.
    • Hacker News is a great resource for those looking for freelance and contracted work. You should pay attention to the "Ask" section.
    • Although sometimes we want to give up, offer low prices to easily get seasonal jobs, do not sell off your labor. Not only do you fall into the situation of having to do more and get less than you deserve, you also make others in the industry feel frustrated, resulting in a harder connection with the community.
    • Doing a good part time job sometimes helps you get a full-time job. Therefore, you should always show your strongest point!
  2. Communicate as much as possible. Take part in lots of developer conferences and gatherings. Not only do you get the chance to tackle a variety of problems and know more code, but you also meet people in the same industry. You may be thinking that programmers often work alone in the room, but the truth is that most full-time developers are part of a team and it's just as important to interact with each other as possible. any other thing.
  3. Apply for a full-time job. After doing some seasonal work to document your resume, you can proceed to send your resume and resume to larger organizations for full-time employment. In addition to Monster and Indeed, there are many developer-specific job offer sites you should visit, including GitHub Jobs, StackOverflow Job Board, AngelList, CrunchBoard, Hirelite, and Hacker News.
  4. Diversify your skills. A good software developer is usually fluent in more than one language. While most of the content will be used at work, you should take some free time to broaden your knowledge and learn the basics of one or two other languages. This makes moving to new projects a lot easier and makes you an excellent candidate that gets more attention from employers.
  5. Don't worry about the salary. At first, not all software development jobs will bring you high salaries. Actually, there is no such job. However, the advantage of software development is that the job market is flourishing. If you feel that the money you earn from your current job is not enough, you can apply for a new job with a new company with relative ease (if you have the skills). Think of the initial jobs as a necessary experience instead of working hard in retirement. advertisement