If you like DNray Forum, you can support it by - BTC: bc1qppjcl3c2cyjazy6lepmrv3fh6ke9mxs7zpfky0 , TRC20 and more...

 

Dilemma of a Jack-of-All-Trades Web Developer

Started by sumoncps, Jul 29, 2023, 12:15 AM

Previous topic - Next topic

sumoncpsTopic starter

For over six months, I have been employed as the sole web developer in a non-IT company. This is my first job, which I obtained after freelancing and familiarizing myself with web development for a few months. Since I am the only web developer, I handle all tasks related to web development, from prototyping and design to frontend and backend work. However, my superiors are not knowledgeable about these areas, which often leads to misunderstandings and unrealistic expectations regarding the time and effort required for frontend work. It can be frustrating to create a website that matches their vision exactly as they see it in their head.

After a few months on the job, I started to realize that despite the overwhelming workload and unclear task instructions, I was developing valuable skills as an IT professional. I learned to stay calm and approach task instructions from a non-technical perspective, breaking them down into subtasks and finding solutions. I also had the opportunity to expand my knowledge beyond web development by interacting with other professionals like managers, marketers, and salespeople, which helped me understand how websites can provide value to the company.

On the positive side, this experience has expanded my horizons in the IT field and allowed me to gain insights into various aspects of website development beyond just coding. On the other hand, there are some downsides. Since I have never worked in a team of developers, designers, or project managers, I lack a clear understanding of how collaboration works in web studios or larger IT companies. Even with several years of experience, if I were to transition to such an environment, I might surprise others with my limited knowledge of tools like GitHub.

I have mixed feelings about self-development in the web sphere. On one hand, when I first started working, I relied heavily on plugins and existing themes found online, troubleshooting issues as they arose. Now, I can sketch out website designs on paper, create them in Photoshop, implement the layouts, and add visual elements using JavaScript/jQuery, which satisfies the requirements of my job. However, I struggle to consider myself a specialist in any particular area, like design, frontend, or backend, because I try to handle everything at once. I would like to be able to say that, after a year in the web industry, I am proficient in at least one aspect. This is something I haven't achieved yet.

One major problem I face is the overwhelming workload that prevents me from dedicating enough time to each task. Often, I have to settle for quick solutions just to move on to the next assignment. These temporary fixes can linger and become problematic in the long run. Additionally, with only 24 hours in a day, finding time for refactoring or improving existing projects is a challenge.

Given this situation, I find myself wondering how to continue developing my skills. Should I focus on solving the tasks assigned at work and learn additional skills as necessary, becoming a jack-of-all-trades? Or is it possible for a jack-of-all-trades to evolve into a full-stack developer within 5-7 years? Should I dedicate my nights and weekends to immerse myself in a specific area of web development? Collaboration with others, such as web studios or freelancers, in a specific field is another option to consider.
  •  


Mcdeerieton

While it's great that you have been able to gain valuable skills and insights from this experience, it's understandable that you have mixed feelings about your self-development in the web industry.

To continue developing your skills, there are a few options you can consider:

1. Focus on solving tasks assigned at work and learn additional skills as necessary: Since you are handling all tasks related to web development, make sure you excel at those tasks and deliver high-quality results. As you encounter new challenges, take the opportunity to learn new skills and technologies. This way, you can continue to expand your knowledge while addressing the immediate needs of your job.

2. Become a jack-of-all-trades and aim to evolve into a full-stack developer: Being a versatile developer who can handle both frontend and backend tasks can be valuable in many situations. While specializing in a specific area has its benefits, being a well-rounded developer can also open up more opportunities for you. It is possible to become a full-stack developer within 5-7 years if you consistently focus on learning and gaining experience in both front-end and back-end development.

3. Dedicate nights and weekends to immerse yourself in a specific area: If you have a particular area of interest within web development, such as design, frontend, or backend, you can dedicate your free time to deepening your understanding and honing your skills in that area. By immersing yourself in focused learning, you can become proficient in a specific field while still maintaining your ability to handle different aspects of web development.

4. Collaborate with others in the industry: Consider connecting with others in the web development industry, such as web studios or freelancers, who specialize in specific areas you're interested in. Collaboration with experienced professionals can provide you with guidance, mentorship, and exposure to best practices in web development. Working on joint projects or seeking advice from experts can help you gain more expertise in a specific field.

In addition to the options mentioned earlier, here are some more suggestions for continuing your skills development in the web sphere:

1. Continuous learning: The web development field is constantly evolving, so it's crucial to stay updated with the latest trends, technologies, and best practices. Dedicate time each week to learn new concepts, follow industry blogs, attend online courses, or participate in webinars. This will help you expand your knowledge and enhance your skillset.

2. Personal projects: Undertake personal web development projects outside of work that allow you to focus on a specific area or technology of interest. These projects can act as your own sandbox, where you experiment and explore different techniques, tools, and frameworks. They are a great way to gain hands-on experience and showcase your abilities to potential employers or clients.

3. Open-source contributions: Contributing to open-source projects can be an excellent way to collaborate with other developers, gain exposure to industry standards, and improve your coding skills. By joining established projects or starting your own, you can work on meaningful projects that align with your interests and provide valuable contributions to the developer community.

4. Networking: Attend tech meetups, conferences, or web development events to connect with like-minded professionals in the industry. Building a network of peers and mentors can provide you with opportunities for learning, collaboration, and career growth. Engaging in discussions, sharing experiences, and seeking advice from others can offer valuable insights and guidance.

5. Specialization: While being a jack-of-all-trades has its advantages, specializing in a particular area of web development can make you stand out. Identify your strengths and interests, and consider focusing your efforts in becoming an expert in that domain. Devote time to mastering the tools, frameworks, languages, or design principles associated with that specialization. This expertise will not only enhance your marketability but also deepen your understanding of a specific facet of web development.

Development in any field is a continuous process, and there's always room for improvement. The key is to strike a balance between addressing immediate work needs and investing in your long-term growth. By utilizing a combination of these strategies, you can enhance your skills, broaden your knowledge, and position yourself for future opportunities in the web industry.
  •  

smoomiCoisa

This skill is truly invaluable. Being a "jack of all trades" opens up numerous possibilities. In online communities, such individuals are often criticized for having limited expertise in any specific area. However, these critics simply fail to comprehend the value of diverse knowledge. Competent and wise professionals possess vast expertise in various domains, not just one. The more skills you acquire, the more valuable you become as a specialist, and the more options you have available. Not only can you immerse yourself in a particular field, but you can also excel as a leader by understanding a wide range of individuals.

Personally, I believe that the first step is to try changing the situation within your current environment. Engage in a conversation with your superiors about the work process. If unsuccessful, you can either improve your negotiation skills or patiently wait until the job aligns with your overall satisfaction. Alternatively, you can explore other employment opportunities.
  •  

beautychil

Before making a decision, determine which aspect is more captivating for you: writing code or solving business problems. While it may seem that code should be focused on solving business problems, this is currently not the case.

If you find yourself more intrigued by the technical aspects (learning frameworks, dealing with tools, etc.), then consider transitioning into a role in an IT office. There, you would be involved in outsourcing, including working with legacy systems, exploring new technologies, and engaging in conversations with colleagues around the office or near the water cooler. However, you may find it difficult to understand the significance of your work. Even your superiors, such as team leads and project managers, might not grasp the purpose either. In an outsourcing environment, this is considered normal. The larger the office, the more prevalent the cargo cult mindset becomes, and the less sense there is in the work being done. Overengineering is not something that they are striving to eliminate; rather, it is actively encouraged (though not explicitly) since it allows for more earnings on a time and material basis.

On the other hand, if the business side of things piques your interest, consider developing your skills as a product technologist. In this career path, the question of "Why do something?" carries more weight than the question of "How?" You will need to enhance your negotiation and management abilities. Instead of relying solely on your technical expertise, your main tools will be the collaboration with other individuals who specialize in areas like design, coding, and creating photo galleries. The primary objective, which requires significant mental effort, is to collectively identify tasks and provide recommendations on how to best invest the company's earnings in technology.

In summary, it is crucial to reflect on your interests and aspirations to determine whether you gravitate towards coding or problem-solving. Both paths offer unique opportunities and challenges, but understanding your preferences will help guide you towards a fulfilling career.
  •  


If you like DNray forum, you can support it by - BTC: bc1qppjcl3c2cyjazy6lepmrv3fh6ke9mxs7zpfky0 , TRC20 and more...