<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Sangam Poudel</title>
    <description>The latest articles on DEV Community by Sangam Poudel (@itssangam).</description>
    <link>https://dev.to/itssangam</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1035682%2F81f1f8cf-c284-44d2-8d11-67973228887c.jpeg</url>
      <title>DEV Community: Sangam Poudel</title>
      <link>https://dev.to/itssangam</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/itssangam"/>
    <language>en</language>
    <item>
      <title>How to land your first job as a software developer</title>
      <dc:creator>Sangam Poudel</dc:creator>
      <pubDate>Wed, 21 Aug 2024 03:40:20 +0000</pubDate>
      <link>https://dev.to/itssangam/how-to-land-your-first-job-as-a-software-developer-4bkd</link>
      <guid>https://dev.to/itssangam/how-to-land-your-first-job-as-a-software-developer-4bkd</guid>
      <description>&lt;p&gt;Hello everyone,&lt;/p&gt;

&lt;p&gt;Today, I’m excited to share insights on how to land your first job as a software developer. With over 3 years of experience in software development and having worked with four different companies, I’ve learned a lot about what it takes to break into this field. Here are some tips that I believe will help you get started on your journey.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Develop the Right Mindset: &lt;br&gt;
The first step to landing a developer job is cultivating the right mindset. Companies look for candidates who are not just technically proficient but also passionate about technology and eager to learn. This curiosity and hunger for knowledge set you apart from other freshers.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Build a Strong Foundation: &lt;br&gt;
Start with the basics. While in college or during your self-study period, focus on learning the fundamentals of programming. This includes understanding core programming concepts, object-oriented programming (OOP), data structures, and algorithms. Mastering these basics will allow you to easily pick up any programming language later on. &lt;br&gt;
     Instead of relying heavily on video tutorials, which can sometimes make learning passive, I recommend reading blogs, documentation, and experimenting on your own. This approach helps you develop problem-solving skills and a deeper understanding of concepts.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Practice Consistency: &lt;br&gt;
Consistency is key. Continuously practice and learn within a chosen tech stack without getting sidetracked by the myriad of programming languages out there. Remember, the core principles of most programming languages are the same; only the syntax differs. Regular practice will ensure you become proficient in your chosen language and tools.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Build Real Projects: &lt;br&gt;
Theory is essential, but practical experience is what will truly set you apart. After learning a new concept, apply it by building real-world projects. Focus on solving real problems, and ensure you have a clear vision of what your final product should look like. &lt;br&gt;
   Once your project is complete, deploy it on platforms like Vercel, GitHub Pages, or Netlify. Not only does this demonstrate your skills, but it also gives you a tangible product to show potential employers.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Create an Impressive Portfolio and Resume: &lt;br&gt;
Your portfolio and resume are your first impression on recruiters. Your resume should be concise, highlighting your top skills and the most significant projects you’ve worked on. Avoid long paragraphs; instead, use bullet points to emphasize your achievements and skills. &lt;br&gt;
  In addition to your resume, build a portfolio website showcasing your projects in detail. Include screenshots, descriptions, and links to live projects. A well-crafted portfolio can significantly boost your chances of getting noticed.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Gain Experience through Internships: &lt;br&gt;
Once you’ve developed a solid skill set and have a few projects under your belt, start applying for internships. An internship offers invaluable experience, providing you with insight into teamwork, industry-standard practices, and the day-to-day responsibilities of a developer. If possible, choose an in-person internship as it often provides more opportunities for networking and hands-on learning.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Prepare for Interviews: &lt;br&gt;
With your skills and projects ready, the next step is interview preparation. Start by practicing common interview questions related to programming concepts and problem-solving. Platforms like LeetCode, HackerRank, and CodeSignal are excellent for this. &lt;br&gt;
  Also, familiarize yourself with behavioral interview questions. Companies want to see how you think, how you handle challenges, and how you work with others. Being well-prepared in both technical and soft skills will make you a strong candidate.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Network and Seek Mentorship: &lt;br&gt;
Networking can open doors that you might not find through traditional job applications. Attend industry meetups, join developer communities, and connect with professionals on LinkedIn. Don’t hesitate to reach out to experienced developers for advice or mentorship. Often, these connections can lead to job opportunities or referrals.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Keep Learning and Stay Updated: &lt;br&gt;
The tech industry is constantly evolving. To stay competitive, make continuous learning a habit. Stay updated with the latest trends, frameworks, and tools in the industry. Follow industry leaders on Twitter, subscribe to tech blogs, and participate in online courses. This will not only improve your skills but also keep you informed about what’s in demand in the job market.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Don’t Give Up: &lt;br&gt;
Breaking into the tech industry can be challenging, and you may face rejections along the way. Don’t let this discourage you. Every rejection is an opportunity to learn and improve. Stay persistent, keep refining your skills, and eventually, you’ll land your first job as a software developer.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;With dedication, persistence, and the right strategy, landing your first job as a software developer is within reach. I hope these tips help you on your journey to a successful career in software development. Good luck!&lt;/p&gt;

&lt;p&gt;If you have any questions or need more tips, feel free to contact me. I'm happy to help!&lt;/p&gt;

</description>
      <category>softwaredevelopment</category>
      <category>entryjob</category>
      <category>techindustry</category>
      <category>knowledgesharing</category>
    </item>
    <item>
      <title>Setting Up a LAMP Stack on Linux for Developers</title>
      <dc:creator>Sangam Poudel</dc:creator>
      <pubDate>Sun, 18 Aug 2024 04:18:31 +0000</pubDate>
      <link>https://dev.to/itssangam/setting-up-a-lamp-stack-on-linux-for-developers-304f</link>
      <guid>https://dev.to/itssangam/setting-up-a-lamp-stack-on-linux-for-developers-304f</guid>
      <description>&lt;p&gt;&lt;strong&gt;Hello Developers,&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Starting your journey as a software developer requires both hunger and enthusiasm for learning. As you embark on this path, maintaining the same pace and passion is crucial—especially when it comes to your development environment. You don’t need the latest hardware to set up a powerful development setup; even an older laptop can be transformed into a robust environment by setting up a LAMP stack. This setup not only provides an excellent learning platform but also familiarizes you with essential technologies like deployment, automation, server configuration, and optimization.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Why Choose LAMP Stack?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;A LAMP stack—comprising Linux, Apache, MySQL, and PHP—is a time-tested environment for web development. It’s versatile, reliable, and widely used, making it an excellent choice for learning and development. Using Linux for development offers several benefits, regardless of your technology stack, including enhanced control, performance, and security.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;In This Guide&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Today, I'll walk you through setting up a LAMP stack on your Ubuntu machine. We'll also use multiple PHP versions managed via the ondrej/php repository, ensuring you can work with different PHP versions as needed.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step-by-Step Guide to Setting Up LAMP Stack on Ubuntu&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. Update Your System&lt;/strong&gt;&lt;br&gt;
Before starting, make sure your system is up to date:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;sudo apt update
sudo apt upgrade
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;2. Install Apache&lt;/strong&gt;&lt;br&gt;
Apache is the web server that will serve your applications. Install it with:&lt;br&gt;
&lt;code&gt;sudo apt install apache2&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;After installation, start Apache and enable it to run on boot:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;sudo systemctl start apache2
sudo systemctl enable apache2
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;You can verify that Apache is working by visiting &lt;a href="http://localhost" rel="noopener noreferrer"&gt;http://localhost&lt;/a&gt; in your web browser.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. Install MySQL&lt;/strong&gt;&lt;br&gt;
MySQL is the database server for your applications. Install it with:&lt;br&gt;
&lt;code&gt;sudo apt install mysql-server&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Run the security script to improve MySQL security:&lt;br&gt;
&lt;code&gt;sudo mysql_secure_installation&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Follow the prompts to set up a root password and secure your installation.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;4. Install PHP&lt;/strong&gt;&lt;br&gt;
We’ll use the &lt;em&gt;ondrej/php&lt;/em&gt; repository to manage multiple PHP versions. First, add the repository:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;sudo add-apt-repository ppa:ondrej/php
sudo apt update
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Now, install PHP and the necessary modules. For example, to install PHP 8.1:&lt;br&gt;
&lt;code&gt;sudo apt install php8.1 libapache2-mod-php8.1 php8.1-mysql&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;You can also install additional PHP versions as needed, such as PHP 8.3:&lt;br&gt;
&lt;code&gt;sudo apt install php8.3 libapache2-mod-php8.3 php8.3-mysql&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;To switch between PHP versions, use:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;sudo a2dismod php8.1
sudo a2enmod php8.3
sudo systemctl restart apache2
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;5. Restart Apache and check the installation.&lt;/strong&gt;&lt;br&gt;
Once all the setup is completed, restart apache service using&lt;br&gt;
&lt;code&gt;sudo systemctl restart apache2&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Create a PHP info file to test your setup:&lt;br&gt;
&lt;code&gt;sudo nano /var/www/html/info.php&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Add the following content:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;&amp;lt;?php
phpinfo();
?&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Save and exit. Visit &lt;a href="http://localhost/info.php" rel="noopener noreferrer"&gt;http://localhost/info.php&lt;/a&gt; in your browser to see the PHP info page.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;6. (Optional) Install Additional Tools&lt;/strong&gt;&lt;br&gt;
Consider installing phpmyadmin for managing MySQL databases through a web interface:&lt;br&gt;
&lt;code&gt;sudo apt install phpmyadmin&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Follow the prompts to configure it with Apache and MySQL.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Conclusion&lt;/strong&gt;&lt;br&gt;
Setting up a LAMP stack on your Ubuntu machine provides a powerful development environment, even on older hardware. By using multiple PHP versions and familiarizing yourself with various technologies, you’ll gain invaluable skills that will aid in your software development journey.&lt;/p&gt;

&lt;p&gt;Feel free to reach out with any questions or share your experiences with setting up your development environment.&lt;br&gt;
Happy coding!&lt;/p&gt;

</description>
      <category>softwaredevelopment</category>
      <category>ubuntu</category>
      <category>lampstack</category>
      <category>webdev</category>
    </item>
  </channel>
</rss>
