Hosting & Domaining Forum

Hosting & Domaining development => Programming Discussion => Topic started by: KimSluis on Apr 21, 2024, 12:40 AM

Title: Familiarity with Coding: Seeking Guidance
Post by: KimSluis on Apr 21, 2024, 12:40 AM
Hey there, I'm on a quest to land a job at a company or studio, and I need your wisdom. To spare us from endless debate, I'll kick things off by listing my skills and requesting your input.

(https://usa.bootcampcdn.com/wp-content/uploads/sites/66/2020/05/shutterstock_753780223-1024x683.jpg)

I know:

    Basics like syntax, variables, operators, and such.
    Loops and control structures like if, else.
    Variables $_GET,$_POST.
    Sessions.
    MySQL and querying.
    Some string handling functions.
    A smidgen of AJAX.
    RedBean-style ORM.
    A dabbling in GitHub.
    Just starting with Laravel and Composer.
    Server-side stuff. Ubuntu server, command line, etc.

I can:

    Whip up a registration and login script with sessions.
    Create a simple file uploader for the server.
    Display database records page by page.
    I'm handy with HTML + CSS for simple layouts.
    I've DIY-ed a regional news site using PHP and the skills mentioned earlier.

I've set up content and user moderation, tinkered with category editing, views and comments, and even spun a pseudo-Avito classifieds board. Sure, my skillset might make it seem like I've unleashed a Frankenstein's monster, but it's something at least.
Now, what advice am I seeking?

    What functions do I need to master?
    What fundamental concepts should I delve into?
    Any personal picks for what to learn next?

Also, can you give an objective assessment of my job prospects in a couple of months if I put in days of study?
Title: Re: Familiarity with Coding: Seeking Guidance
Post by: Boockeviecy on Apr 21, 2024, 05:48 AM
To further enhance your skill set and increase your job prospects in the coming months, here are some suggestions:

1. Mastering functions: Continuing to deepen your understanding of PHP functions and learning about different built-in functions and how to create your own custom functions will be crucial. Additionally, exploring object-oriented programming in PHP will open up new possibilities for structuring and organizing your code.

2. Delving into fundamental concepts: It would be beneficial to delve into more advanced database concepts such as normalization, indexing, and optimizing queries for performance. Additionally, learning about security best practices, such as SQL injection prevention and cross-site scripting (XSS) mitigation, will be highly valuable in ensuring the security of your web applications.

3. Next steps: Considering your experience with basic PHP, diving deeper into Laravel and mastering its features would be a great next step. Laravel is a popular PHP framework that offers powerful tools for building web applications, and becoming proficient with it would greatly enhance your capabilities as a web developer.

In terms of your job prospects, dedicating yourself to continuous learning and practical application of your skills is key. Additionally, building a strong portfolio showcasing your projects and the breadth of your capabilities will greatly enhance your attractiveness to potential employers or clients. With focused study and application, you can significantly improve your job prospects in the field of web development in just a couple of months. Continuously seeking out new challenges, staying updated on industry trends, and potentially obtaining relevant certifications or completing projects for real-world clients can further bolster your standing in the job market.
Your foundation in web development and PHP is solid, and by strategically expanding your knowledge and experience, you can position yourself as a highly competent and desirable web developer in the near future.
Title: Re: Familiarity with Coding: Seeking Guidance
Post by: saitove on Apr 21, 2024, 07:58 AM
It's important to adapt to the requirements of potential employers, which can vary significantly based on region - including requirements, competition, and preferred technologies. I can't say for certain whether it's possible to secure a remote job without experience, as I haven't pursued that avenue myself. However, I believe it wouldn't hurt to initiate the process by seeking interviews at this moment.

You might want to search online for advice on securing an interview for a PHP programmer position, or something similar, to familiarize yourself with common interview tasks. While there's no guarantee that you'll encounter the exact tasks during interviews, it can help you identify your areas for improvement and orient yourself in the right direction for employment.

Here's a typical task example: "Create a mini CRM system." There are several approaches to accomplishing this task, but once you've done it, you'll be ready to seek junior-level positions. While this may take some time, mastering it will provide you with the confidence to pursue job opportunities while continuing to enhance your skills. I've been successful in my work without knowledge of automated tests. It's not that they're unnecessary, but rather that you shouldn't try to do everything at once. Nonetheless, staying abreast of market trends is crucial. You might find it beneficial to learn Bitrix; it's hard to tell. It's important to remember that while creativity is important, making a living is also essential.

Creating a mini CRM system:
It should be implemented on your favorite framework
Backend part
1. Authorization in the CRM system
1.1 Login fields on the form (Email, password)
2. Module for displaying system users
2.0 Displaying a list of users
2.1 The ability to grant rights to users, a list (Administrator, manager)
2.2 User fields (email, password, status)2.3 Deleting and editing users
2.4 Changing the status of users, Active or inactive
2.5 Only users with administrator rights can edit the list
3. Section displaying applications
3.1 Output of the list of applications
3.2 Fields of the application (Client's name, Application name, product name, phone number, time of creation of the application, status, comment, price)
3.3 Change of the application status (Accepted, refused, marriage)
4. Section of the application change history
4.1 Which users have changed the fields of the application (Client's name, Application name, product name, phone number, time of application submission, status, comment, price)
5. Add the ability to upload a list of applications to CSV, fields in CSV (Application name, product, price, phone)

Frontend part

1. Create a simple application form
1.1 Form fields (Customer's name, phone number, comment, product)
1.2 List of products (apples, oranges, tangerines)
Title: Re: Familiarity with Coding: Seeking Guidance
Post by: temikaathay on Apr 21, 2024, 11:27 AM
In general, the field of "website creators" can be divided into two main groups: on one hand, there are schoolkids who can put together something using a template for a small fee and in a short time. On the other hand, there are professional freelancers and web design studios. Although not all clients fall into this category, some are still seeking quality work at a low cost. These clients often turn to freelancers and web studios to fix the errors made by inexperienced creators and to fulfill their specific requirements. I often notice that it's not so much a need for a website that drives these clients, but rather a need for someone with technical skills. This is especially noticeable in the realm of online stores, where setting up a basic CMS can be done by anyone, but implementing more advanced features and functionality requires a higher level of expertise.

As a result, clients are more interested in individuals who can provide solutions to specific issues, write code, and incorporate styles and scripts. It's also important to have a good understanding of related fields, gained not only from books but also from practical experience. From my perspective, many of those who apply for freelance projects have limited knowledge of how to complete the tasks at hand. For example, when I once posted a freelance project involving integrating Bitrix with IPB and creating unified user authentication, none of the dozen respondents were able to handle it. I had to figure it out myself, and after three days, I succeeded. However, for me, it was more like a hobby at the time.

I recommend experimenting with a test site and developing new features for it as a way to gain practical experience and apply theoretical knowledge. You can also learn by observing examples and taking on freelance projects. With the amount of knowledge you've described, it should be sufficient to start working in a smaller capacity, but it's crucial to continue growing every day. It seems to me that in this field, one continues to learn and work throughout their entire career.