I wrote this blog five years ago when I was a junior developer. The tips I shared back then are still rules I follow today and have become an integral part of me. I've grown a lot as a developer, so now I want to give back to the community as an intermediate developer.
The advice mentioned here is for people who love their craft and want to get better at it, not for the sake of better compensation but for the joy of programming.
I've seen people treat programming as just a job, doing it only for the money. They program to earn a living and go about their daily lives. This lifestyle is fine, its your choice. But don't be surprised if your skills don't improve and you become stagnant. To become great at programming, you have to love your job. You spend most of your day programming at your day job, and if you don't love it, you won't take the initiative to improve your skills while working.
I have a personal story to share. I once worked at a company I hated. I didn't take any initiative to improve the codebase or learn new things to enhance the application architecture. Now, I work at a job I love and treat it as my own product. This often leads me to learn new things and develop the codebase in a well-structured manner because I don't want to ruin it. If you do what you don't love, you'll do more harm than good. You can learn after work, but you would have wasted around six hours of your day and accomplished very little.
Never put yourself in a box. Dont think of yourself as just a frontend developer or backend developer. Think of yourself as a software developer. Great developers don't limit themselves to specific technologies they focus on solving problems, not just parts of a problem. If you limit yourself to a certain stack, you won't become a great problem solver. Software development is all about problem-solving, and if you dont understand how to build an end-to-end product, you wont be a good problem solver.
At the start of your career, you might have to choose a specific stack to prove yourself as a great software developer. But don't let that limit you. If you work at a good company, talk with a senior or other developers to gain insights into different teams and learn new things. Start taking responsibility for other parts of your company's codebase to transition into a more full-stack developer role. This way, you'll start thinking more about solving whole problems rather than just parts. If you are not welcomed to work with other stacks I would recommend working at another job. A company should never limit the learning of their engineers.
So, be a generalist. Dont limit yourself to one part of the stack. Learn to solve problems as a software developer. Generalists find it easier to be good at solving specific problems because they can pick up new technologies faster since they already have a broad understanding.
This is a crucial point that many developers overlook. To be a good problem solver, you must keep yourself up to date with the latest advancements in your technology. I find a lot of joy in my hobby projects, which help me develop many skills. When you tinker with new stuff, you learn a lot, and you never know when it will become useful.
For example, imagine you've been tasked with creating a blogging application for your company. They want a custom solution, not something that uses Webflow and other similar services. If you've kept up with the latest advancements, you can use modern CMS tools like Supabase or Pocketbase to develop the backend quickly. It might take just 30 minutes to set up a CMS for your blogging site, saving you from creating and managing the database and backend code. Then you can focus on the frontend according to your company's needs.
Here's a personal example: Ive been learning Go for a month on the side. Recently, I had to write a cron job to update user metrics every 30 minutes. Knowing that Go is great and very fast for such tasks, I created the cron job in Go, built the binary, and scheduled a system daemon task with a timer for every 30 minutes. It works efficiently and consumes fewer resources. If I hadn't been tinkering in my spare time and only wrote code at my day job, I wouldnt have come up with the best solution in a reasonable time. The cron job would have been written in Node, which would take more time as the user base grows.
So, never stop learning and creating on the side. The best way to learn is by creating and tinkering. Ive been learning Ruby on Rails and Go on the side, and Ive come to appreciate the different features that various ecosystems offer. This has helped me integrate new ideas into my workflow.
I recently watched a video of ThePrimagen that inspired me to write this blog. He mentioned that the best way to solve a problem or become a great software developer is to take ownership of the product. He talked about how Doom was created by just four guys who delivered such a good product because they took ownership. They knew they had no one else to rely on, so they made it their responsibility to develop the best possible software. There was no Plan B. They never felt burnout or gave up because they owned the product, not just the tasks.
To improve your skills as a software developer, you need to start taking ownership of the product you are building, not just features or tasks. You will find it much more enjoyable to work on a product when you see any feature or bug as your problem to solve, not just another task for someone else. This is the best way to beat burnout. When you take ownership, you will find joy in improving and making the product more efficient.
Link to hait
Featured content:If you are working on a product, you can't blame others for any bugs that come up when users find them. You are part of the problem if things go wrong, so you have to take ownership to fix them and make a great product. Good, scalable products are built by teams, and if you don't take ownership, you are not a good team member. When you take ownership, you write the best possible code to create the best possible software, not just another software product.
Like the four guys who made Doom, they put in an insane amount of time to create something that was theirs, and they never settled for just another game, they created an era-defining game. The rest, as they say, is history. The same applies to you, if you want to make the best possible software, you have to start taking ownership and think of the product as your own.
I feel good after writing this blog and sharing my thoughts with the community. We might argue about frameworks, languages, and tools, but these debates help us improve. They push technology forward, making our community very competitive. Let's keep the passion alive!
An overview of the Intermediates manufacturing category for pharmaceutical procurement teams. This guide provides you with the overall market size and trends, key drivers, opportunities and challenges, contract manufacturers in the category and advice on how to improve strategic supplier partnerships.
Intermediates refer to chemical compounds that are used as building blocks or precursor materials in the synthesis of active pharmaceutical ingredients (APIs) or finished pharmaceutical products.
These intermediates play a crucial role in the pharmaceutical industry by enabling the efficient and cost-effective production of drugs.
Pharmaceutical intermediates can include various organic and inorganic compounds, such as reagents, catalysts, chiral compounds, and other functional groups, which are utilised at different stages of the drug manufacturing process.
Pharmaceutical intermediates serve as a critical link between the discovery of new drug candidates and the commercial production of pharmaceutical products. They allow for the synthesis of complex molecules and provide the necessary chemical transformations to convert raw materials into active drugs.
Pharmaceutical intermediates contribute to enhancing drug efficacy, stability, and bioavailability, thereby ensuring the quality and effectiveness of medications. These intermediates also play a vital role in achieving regulatory compliance by meeting the stringent standards set by regulatory authorities.
The global pharmaceutical intermediates market was valued at USD 29 billion in and is expected to grow to over USD 52.6 billion by , at a CAGR of 6.3% from to .
This growth can be attributed to several factors, including the increasing demand for generic drugs, the rising prevalence of chronic diseases, and the expansion of pharmaceutical manufacturing activities in emerging markets.
The market growth is also driven by advancements in drug development and the need for efficient and cost-effective production processes. Pharmaceutical intermediates play a crucial role in the synthesis of active pharmaceutical ingredients (APIs) and the manufacturing of finished pharmaceutical products. These intermediates serve as building blocks and precursor materials, enabling the transformation of raw materials into complex molecules required for drug production.
Are you interested in learning more about industrial intermediates? Contact us today to secure an expert consultation!
Previous: Why Use Redispersible Polymer Powder?
Comments
Please Join Us to post.
0