Hello everyone, I am a business management student but also have very much interest in computer science specially on application development side (web / mobile). Therefore, I need help from you guys to get started :), like to understand the ecosystem and how things work so that when professional developers talk I know what is happening. A step by step road map would be a great help. I am open to read books, collaborate, participate (virtually), practice etc. I can also share my business topics like accounting, financial management, financial analysis and forecasting, taxation, sales and marketing etc. if anyone interested. Please write me if any further information / clarification required. Thank you all
Something important for you is software design. I assume your university has classes about that. It is much more useful to be familiar with the general concepts such as that than the details. The details can be very helpful but the concepts are most important.
I am sure there are many good books about web applications that are more appropriate for management but I am not familiar with any so I can only provide the previous suggestion.
Thanks Samuel, yes that’s what I meant, to know what to pick at this stage to have a strong base rather to search all around and later find out that you missed the main ingredient. Thanks for sharing, would appreciate if you also suggest what comes after software design, to have a strong foundation ?
Probably database design would be useful for both desktop and website applications. There are many great books about that and you can probably find recommendations in other answers here. A suggestion is to look around in Springer. They often have sales and they are currently, for 40% off until October 31. You might possibly use Database Design and Relational Theory. I don’t know much about it; it might be advanced. It is written by someone that was involved in the design of relational databases; see Christopher J. Date - Wikipedia.
You should understand the HTTP and HTTPS protocols to the extent that they support retrieval of files and delivery to the client. Something that many web developers might not be clear about is that CGI (Common Gateway Interface) is the fundamental interface used by most server-side languages. You should have a fundamental understanding of TCP/IP. You should understand the concept of an API and of internet services.
Awesome!!, thanks a lot Samuel, this is great help
Also Git. Developers use it very much, usually either in GitHub or in GitLab. Many developers have difficulty learning how to use Git unless the learn on the job or something like that so you might have difficulty learning how to use it on your own but it will help for you to become familiar with it. GitHub was purchased by Microsoft; that is an indication of how useful it is. For websites that are hosted outside the company, professionals often push (upload) the applications to GitHub or GitLab and then the website application is deployed from there. I assume something similar happens when a company hosts their website using their own system(s).
Some things relatively new are Docker and Kubernetes. They are also difficult to understand. I know very little about Kubernetes. I have found no clear explanation of what Docker is; anything that seems clear I think is not accurate. The Wikipedia article previously said it is a way to deploy applications but now it says it is a way to deliver applications. And it says many other things that make it complicated and confusing. I think it does many complicated things and make them relatively simple to use, so describing what it does internally makes it confusing. I think the important words are deploy and deliver. I think we can also say that Docker is a new type of setup program that makes setting up an application easier and internally it provides details, sometimes complicated, to execute the application.
Excellent!! Thanks Samuel for providing the relevant information. I am surely going to look into them to find out more. Thank a lot.
You should focus on this step to create a roadmap for mobile application development
- Analysis and Planning
- UI/UX Designing
- App Development
- Application Testing
- Deployment & Support
Thanks mate, I will surely use these steps in my leraning process. Thanks
There are many variations of the Software development process. One of many methodologies specifies the following phases.
- Requirements analysis resulting in a software requirements specification
- Software design
- Integration, if there are multiple subsystems
- Deployment (or Installation)
Books about software design describe a methodology to use.
I think that back-end (database) design is as important as the front-end UI/UX design.
The mobile app development roadmap is a strategy to get a reflection on the vision and the development plan for your product.