<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <title>Codementor Blog</title>
  <updated>2024-09-02T02:41:56Z</updated>
  <language>en</language>
  <description/>
  <id>tag:www.codementor.io,2014:0</id>
  <link rel="alternate" href="https://www.codementor.io/blog"/>
  <link rel="self" href="https://www.codementor.io/blog/feed"/>
  <guid>https://www.codementor.io/blog</guid>
  <entry>
    <title type="html">12 Top Mock Interview Questions and Answers</title>
    <link rel="alternate" href="https://www.codementor.io/blog/mock-interview-questions-k7n8kmj3vv"/>
    <id>tag:www.codementor.io,2014:275</id>
    <updated>2024-09-02T02:41:56Z</updated>
    <published>2024-08-09T11:13:03Z</published>
    <pubDate>2024-08-09T11:13:03Z</pubDate>
    <author>
      <name>Codementor Team</name>
      <email>support@codementor.io</email>
    </author>
    <dc:creator>Codementor Team</dc:creator>
    <enclosure url="https://ucarecdn.com/4fba7d1d-5eb9-41de-8aa8-bb42d2daf4b1/"/>
    <content type="html">&lt;p&gt;Interview preparation can be intimidating — especially when it’s your first interview, and you’re unaware of what to expect and how to answer the interview questions. With mock interviews, you can ensure that you put the right foot forward and get your dream job.&lt;/p&gt;

&lt;p&gt;In this article, you’ll find 12 top questions and sample answers, plus expert tips to help you develop your interviewing skills and face potentially stressful situations.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;💡 Struggling with interview prep? &lt;strong&gt;Book a 1:1 session with our &lt;a href="https://www.codementor.io/tutors/interview-preparation"&gt;interview preparation tutors&lt;/a&gt;&lt;/strong&gt; from Amazon, Microsoft, and Google to sharpen your skills. Your first 15 minutes are free!&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;What Is a Mock Interview?&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://www.thebalancemoney.com/how-to-use-mock-interviews-to-practice-interviewing-2061626"&gt;A mock interview&lt;/a&gt; is an essential interview preparation tool, which simulates the dynamics of a real job interview. It typically recreates the actual settings, helping you refine and perfect your interviewing skills in a stress-free environment. They can help boost your confidence and prepare you to make a great impression during the real thing.&lt;/p&gt;

&lt;p&gt;With mock interviews, you can practice answering challenging questions hiring managers may pose and improve your communication skills with them. You can also get constructive feedback on your performance, which helps you evaluate and improve what you say and how you say it — including your body language, eye contact, posture, and even your handshake.&lt;/p&gt;

&lt;p&gt;In short, mock job interviews give you good practice, ensuring success in every aspect of your interviewing process and help you land the job.&lt;/p&gt;

&lt;h2&gt;Benefits of a Mock Interview&lt;/h2&gt;

&lt;p&gt;A mock job interview offers several advantages beyond just improving your ability to answer questions during your &lt;a href="https://arc.dev/talent-blog/remote-developer-interview-tips/"&gt;interview preparation&lt;/a&gt;.&lt;/p&gt;

&lt;h3&gt;Realistic Practice&lt;/h3&gt;

&lt;p&gt;Simulating a real interview environment reduces anxiety and makes you more comfortable with the actual experience. This realistic practice helps you familiarize yourself with the interview settings at various companies. Ultimately, real interviews feel more like routine conversations rather than high-pressure situations.&lt;/p&gt;

&lt;h3&gt;Honest Feedback&lt;/h3&gt;

&lt;p&gt;During a mock interview, you can receive genuine feedback, highlighting your strengths and identifying potential areas for improvement. This constructive criticism is crucial for refining your performance in front of a hiring manager. It allows you to address any weaknesses and enhance your overall interview skills.&lt;/p&gt;

&lt;h3&gt;Confidence Boost&lt;/h3&gt;

&lt;p&gt;Practicing in a low-pressure setting helps build confidence. By rehearsing your responses and improving your delivery, you feel more prepared and self-assured, allowing you to present your best self during the actual interview.&lt;/p&gt;

&lt;h3&gt;Familiar With Tech Tools&lt;/h3&gt;

&lt;p&gt;Many companies prefer conducting &lt;a href="https://www.themuse.com/advice/video-interview-tips"&gt;interviews over video calls&lt;/a&gt;, especially for remote roles. With mock interviews, you can practice and become comfortable using the necessary technologies and tools — Zoom, Google Meet, etc. You can avoid glitches during the actual interview, ensuring a smooth, professional experience for both you and the hiring manager.&lt;/p&gt;

&lt;h3&gt;Effective Strategy Development&lt;/h3&gt;

&lt;p&gt;Mock interviews help you hone your ability to address tough questions, outline your answers, and develop strategies for various interview scenarios. This preparation ensures that you have a coherent and effective approach to different questions and situations.&lt;/p&gt;

&lt;h3&gt;Strong Communication Skills&lt;/h3&gt;

&lt;p&gt;Through mock interviews, you can improve both your verbal responses and nonverbal communication. Practicing your body language, eye contact, posture, and facial expressions can help you convey confidence and professionalism alongside your accomplishments, making an overall positive impression on your interviewers.&lt;/p&gt;

&lt;p&gt;Including mock interviews in your interview preparation makes you more prepared, confident, and articulate for the actual interview. This comprehensive approach to interview practice ensures that you’re well-equipped to succeed and present yourself effectively to potential employers.&lt;/p&gt;

&lt;h2&gt;How To Prepare for Mock Interviews&lt;/h2&gt;

&lt;p&gt;Preparing for a mock interview properly — just like you would for &lt;a href="https://www.codementor.io/blog/technical-interview-questions-jqbigasqsn"&gt;technical interviews&lt;/a&gt; — can improve your real interview experience. Follow these eight steps to make the most of your mock interview:&lt;/p&gt;

&lt;h3&gt;1. Gather Essential Materials&lt;/h3&gt;

&lt;p&gt;Bring all necessary materials to your mock interview, just like you would for a real one: multiple copies of your resume, a list of references, a pen and notepad for taking notes, and other documents like portfolios or certifications. Being fully equipped will help you manage your materials confidently when the time comes.&lt;/p&gt;

&lt;h3&gt;2. Dress the Part&lt;/h3&gt;

&lt;p&gt;Wearing professional attire will help you create a genuine interview atmosphere. It’ll also help you get feedback about your overall impression and ensure that you look your best on the actual day.&lt;/p&gt;

&lt;h3&gt;3. Prepare and Practice Common Questions&lt;/h3&gt;

&lt;p&gt;Familiarize yourself with common interview questions for the industries and roles you’re interested in. Practice your responses to questions about your background, skills, work style, and career goals. This will help you articulate your thoughts clearly and avoid long pauses during the real interview.&lt;/p&gt;

&lt;h3&gt;4. Simulate the Real Environment&lt;/h3&gt;

&lt;p&gt;The settings of your mock interviews should closely resemble the actual &lt;a href="https://www.herzing.edu/blog/value-mock-interviews-and-how-perfect-them"&gt;interview environment&lt;/a&gt;. For example, if your interview is online, use the same video conferencing tool along with proper background and lighting. By following this step, you may get comfortable with the virtual setup and be able to resolve any possible technical issues.&lt;/p&gt;

&lt;h3&gt;5. Engage Actively and Take Notes&lt;/h3&gt;

&lt;p&gt;Make sure to actively participate in your mock interview by listening attentively and &lt;a href="https://meetgeek.ai/blog/types-of-note-taking"&gt;taking notes&lt;/a&gt;. Write down your interviewer’s feedback, as well as your observations. This way, you can reflect on your performance and identify areas for improvement.&lt;/p&gt;

&lt;h3&gt;6. Record Your Mock Interview&lt;/h3&gt;

&lt;p&gt;Record your mock interview for later review. Watching and listening to your performance at the interview can reveal your habits, body language cues, and areas for improvement in your speech. Be sure to get your mock interviewer’s consent to record audio or video.&lt;/p&gt;

&lt;h3&gt;7. Seek Detailed Feedback&lt;/h3&gt;

&lt;p&gt;When they’re interviewing you, ask the mock interviewer for detailed feedback on various aspects: your answers to the questions, your body language and eye contact during the interview, your engagement with the interviewer, your nervous habits or filler words, and any mistakes you made. Getting specific feedback will help you know exactly what areas to work on.&lt;/p&gt;

&lt;h3&gt;8. Reflect and Iterate&lt;/h3&gt;

&lt;p&gt;After your mock interview, reflect on the interviewer’s feedback and your self-assessment. Identify specific areas for improvement and ways to address them, and schedule another mock interview if necessary to ensure continuous improvement.&lt;/p&gt;

&lt;p&gt;By following the above steps, you can transform your mock interviews (both nontechnical and technical interviews) into powerful practice tools, setting yourself up for success in your actual interviews. Rest assured that you’ll enter the room — or log into the video call — prepared, confident, and ready to impress.&lt;/p&gt;

&lt;h2&gt;Questions and Answers for Mock Job Interview Preparation&lt;/h2&gt;

&lt;p&gt;In this section, we’ve compiled the 12 most &lt;a href="https://arc.dev/talent-blog/non-technical-common-interview-questions/"&gt;common interview questions&lt;/a&gt; and their sample answers to guide your interview preparation and help you ace your next interview with &lt;a href="https://talhealthcare.com/6-power-moves-to-stay-positive-during-a-job-interview/"&gt;a positive attitude&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;img src="https://ucarecdn.com/e32045f8-32e7-423d-bb43-f05ce93df13c/" alt="12 Mock Interview Questions.png"&gt;&lt;/p&gt;

&lt;h3&gt;1. Tell me about yourself.&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Goal&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Highlight your professional background and relevant skills, as well as align your interests with the company&amp;#39;s values.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Sample answer&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Thank you for inviting me to take this interview. I have a marketing background with over five years of experience and a bachelor&amp;#39;s degree in business administration. I have worked with both startups and Fortune 500 companies.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;This role excites me because it will allow me to use my digital marketing skills to help your company expand into new markets. Outside of work, I am an avid hiker, so I really appreciate that your company supports volunteering with the National Park Service.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Why it works&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;You showcase your educational background, professional experience, and enthusiasm for the role. Also, by mentioning your shared interest in volunteering, you hint that you might be a good cultural fit.&lt;/p&gt;

&lt;h3&gt;2. What is your top strength and your biggest weakness?&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Goal&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Show your self-awareness along with a balanced view of your strengths and weaknesses.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Sample answer&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;My top strength is my ability to adapt and learn quickly. I&amp;#39;m often the go-to person when it comes to understanding and demonstrating the workings of new tools or software, helping my team onboard and streamline processes.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;My biggest weakness is being too detail-oriented, which ensures that the quality of my work is always high. However, it can sometimes lead me to spend more time than necessary on simple tasks. So, I&amp;#39;m, currently, working on balancing quality with efficiency.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Why it works&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;You acknowledge your most valuable strength with a clear example and frame your weakness as an area for ongoing improvement. This shows your self-awareness and proactive approach to work.&lt;/p&gt;

&lt;h3&gt;3. Why are you a fit for this role?&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Goal&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Explain how your skills and experience align with the job requirements.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Sample answer&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;My remote work experience and passion for [company type] work make me a great fit for this role. I’ve spent the last four years in a similar role at [Current/Previous Company], managing teams, leading projects, and achieving 20% growth in client retention. I&amp;#39;m familiar with most tools needed for effective remote collaboration and communication.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Why it works&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;You outline your experience and achievements, show your familiarity with &lt;a href="https://arc.dev/employer-blog/remote-work-tools/"&gt;remote work tools&lt;/a&gt;, and indicate that you&amp;#39;ve researched the company.&lt;/p&gt;

&lt;h3&gt;4. Why do you want to work here?&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Goal&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Demonstrate your research on the company, positive attitude, and your alignment with its values.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Sample answer&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;I admire [Company Name] for its innovation and forward-thinking approach in the [specific industry or service]. Your recent initiative on [specific project or achievement] stood out to me the most, exemplifying your industry leadership. I&amp;#39;ve also heard positive feedback about your company culture and the emphasis on professional growth. Joining such a team aligns with my career goals.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Why it works&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;By mentioning the company’s specific initiatives and cultural values, you show your genuine interest. You also convey how thorough your research on the company has been and clearly indicate why you want to join the team.&lt;/p&gt;

&lt;h3&gt;5. Tell me about a time you failed.&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Goal&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Show your ability to learn from mistakes and turn situations around.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Sample answer&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;At my previous job, I led a project in a domain new to me. Confident in my abilities, I did not seek enough input initially. As the deadline approached, I realized I had underestimated the project&amp;#39;s complexity. I admitted this oversight to my team and asked for help. Ultimately, we delivered the project successfully, albeit slightly late.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;This experience taught me the importance of collaboration and regular feedback, especially when working in unfamiliar areas.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Why it works&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;You openly acknowledge a failure and focus on the lesson you learned, demonstrating your personal growth and willingness to collaborate and adapt during future projects.&lt;/p&gt;

&lt;h3&gt;6. Why are you leaving your current job?&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Goal&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Indicate your desire for growth without speaking negatively about your current employer.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Sample answer&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;I have learned a lot and valued my time at [Current/Previous Company]. However, I&amp;#39;m seeking new challenges and opportunities to grow.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;This role at your company aligns closely with my long-term career goals. Your company’s commitment to [a specific value or initiative] resonates with me, both personally and professionally.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Why it works&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;You positively convey your reasons for leaving, like growth and alignment with the new company&amp;#39;s values, while avoiding negative comments about your current or previous employer.&lt;/p&gt;

&lt;h3&gt;7. What type of work environment do you prefer?&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Goal&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Elaborate on your preferred work environment and how it fits the company’s culture.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Sample answer&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;A culture promoting continuous learning and feedback is ideal for me. I thrive in environments that encourage collaboration and open communication. Diverse perspectives and team brainstorming often lead to innovative solutions. I also value autonomy, trusting that I can manage tasks and deadlines independently but with support when needed. Finally, my remote work background makes me comfortable with digital communication tools.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Why it works&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;You describe a balanced approach to work, emphasizing collaboration and independence. This helps you show your versatility and adaptability to most modern work environments, particularly remote ones.&lt;/p&gt;

&lt;h3&gt;8. How would your colleagues describe you?&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Goal&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Highlight your positive traits from your colleagues’ perspectives.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Sample answer&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;My colleagues would describe me as dependable and proactive. They often say I am the go-to person for tight deadlines. For example, once, we had a short-term project, which needed quick action from my team. So, I took the lead, coordinating tasks, keeping everyone informed, and eventually meeting the deadline.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;My team appreciates my calmness under pressure and values my willingness to help. Whenever someone needs assistance, I’m always there to support them.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Why it works&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;You specify your traits and back them up with real-life examples, exemplifying your reliability and teamwork.&lt;/p&gt;

&lt;h3&gt;9. What is your work style?&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Goal&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Explain how you manage tasks and work efficiently.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Sample answer&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Over the years, I have developed an organized, collaborative work style. I start my day by planning out my tasks using a to-do list — which helps me prioritize my work for the day.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;When working with a team, I aim to be effective and ensure the team stays synchronized. I focus on clear communication — for example, I sent out regular updates during a recent project to keep everyone on track. I also value feedback from my team members and make sure to incorporate it in my work.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Why it works&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;You clearly describe the methods and tools you use to manage your work, highlighting your ability to plan, communicate, and adapt based on feedback.&lt;/p&gt;

&lt;h3&gt;10. What’s the most challenging problem you’ve faced, and how did you solve it?&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Goal&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Describe how you handle difficult situations with excellent problem-solving skills and resilience.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Sample answer&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;The most challenging problem I ever faced was during a critical product launch at my previous job. A week before the launch, our primary supplier failed to deliver a crucial component, so I quickly gathered my team to brainstorm solutions.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;We decided to contact local suppliers to source the missing part. We found a reliable supplier, negotiated a fair price with them, and received the components in time. In the end, the product launch was a success.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;This experience taught me the importance of quick thinking and teamwork.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Why it works&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;You describe a specific problem and outline the steps you took to solve it. This answer highlights your ability to stay calm under pressure and effectively lead a team.&lt;/p&gt;

&lt;h3&gt;11. Tell me what a productive day at work looks like to you.&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Goal&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Show your ability to manage time and prioritize tasks for optimal productivity.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Sample answer&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;For me, a productive day starts with reviewing my priorities and setting clear goals. I focus on high-impact tasks first, like key project milestones or important client meetings.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;I use a project management tool to track progress and ensure that the deadlines are met. Regular check-ins with my team keep everyone aligned. I also take short breaks for mental clarity and end the day by reviewing what was achieved and making plans for the next day.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;This approach keeps me organized and ensures continuous progress&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Why it works&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;You clearly outline the structure of your productive day, demonstrating your ability to prioritize tasks and use tools effectively.&lt;/p&gt;

&lt;h3&gt;12. Why should we hire you?&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Goal&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Highlight your unique skills and how they align with the company’s needs.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Sample answer&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;You should hire me for my proven track record in digital marketing and my ability to adapt to new challenges. At my last job, I increased website traffic by 30% through targeted content and SEO strategies.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;I&amp;#39;m passionate about learning and staying updated with industry trends. I’ve researched your company and believe my social media management and email marketing skills align perfectly with your current goals. I&amp;#39;m excited about getting the opportunity to contribute and grow with your team.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Why it works&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;You support your claims with specific achievements and show how your skills align with the company’s needs. This answer also conveys your enthusiasm and readiness to contribute.&lt;/p&gt;

&lt;h2&gt;Sharpen Your In-Person Interview Skills To Get Your Next Job&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://www.codementor.io/tutors/interview-preparation"&gt;Preparing for interviews&lt;/a&gt; can be overwhelming. Mock interviews are a great way for potential candidates to practice and prepare for the real thing.&lt;/p&gt;

&lt;p&gt;By working with realistic scenarios and receiving constructive feedback, you can refine your soft skills and boost your confidence.&lt;/p&gt;

&lt;p&gt;Our questions and tips will guide your interview preparation and ensure that you&amp;#39;re fully prepared for the big day. With thorough prep, you’ll be ready to impress hiring managers, bringing you one step closer to securing your desired job.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;💡 Struggling with interview prep? &lt;strong&gt;Book a 1:1 session with our &lt;a href="https://www.codementor.io/tutors/interview-preparation"&gt;interview preparation tutors&lt;/a&gt;&lt;/strong&gt; from Amazon, Microsoft, and Google to sharpen your skills. Your first 15 minutes are free!&lt;/p&gt;
&lt;/blockquote&gt;
</content>
    <description>Check out our essential mock interview tips and questions to ensure you’re ready for your next interview.</description>
  </entry>
  <entry>
    <title type="html">14 Tough Technical Interview Questions and Expert Answers</title>
    <link rel="alternate" href="https://www.codementor.io/blog/technical-interview-questions-jqbigasqsn"/>
    <id>tag:www.codementor.io,2014:274</id>
    <updated>2024-06-20T10:25:50Z</updated>
    <published>2024-05-31T10:08:06Z</published>
    <pubDate>2024-05-31T10:08:06Z</pubDate>
    <author>
      <name>Codementor Team</name>
      <email>support@codementor.io</email>
    </author>
    <dc:creator>Codementor Team</dc:creator>
    <enclosure url="https://ucarecdn.com/043dd220-ff50-4a6d-b48f-fd868f7e9c45/"/>
    <content type="html">&lt;p&gt;Imagine walking into a technical interview and feeling completely confident, knowing you&amp;#39;re about to tackle any question thrown your way. That&amp;#39;s the power of preparation — and we&amp;#39;re here to make sure you&amp;#39;re ready for anything.&lt;/p&gt;

&lt;p&gt;We asked 50 developers in our community who recently landed jobs to share the toughest technical interview questions they faced, and here’s what they said.&lt;/p&gt;

&lt;h2&gt;The Purpose and Structure of Technical Interviews&lt;/h2&gt;

&lt;p&gt;Technical interviews are a crucial part of the hiring process for software engineering and technical roles. They allow companies to thoroughly evaluate your technical skills, problem-solving abilities, and soft skills necessary to succeed in the role.&lt;/p&gt;

&lt;p&gt;Technical interview formats can vary, but they commonly involve a combination of coding challenges, system design questions, and behavioral interview questions.&lt;/p&gt;

&lt;p&gt;Overall, technical interview questions are designed to thoroughly evaluate your technical and soft skills. Understanding and preparing for each interview component will help you master your next technical interview.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;💡 Struggling with interview prep? &lt;strong&gt;Book a 1:1 session with our &lt;a href="https://www.codementor.io/technical-interview-experts"&gt;technical interview experts&lt;/a&gt;&lt;/strong&gt; from Amazon, Microsoft, and Google to sharpen your skills. Your first 15 minutes are free!&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;Coding and Programming Questions&lt;/h2&gt;

&lt;p&gt;Coding challenges test your ability to solve problems with code, while programming questions analyze your programming abilities. Coding challenges typically involve writing code to accomplish a certain task, optimizing existing code, discussing approaches to theoretical coding problems, or a combination of these.&lt;/p&gt;

&lt;p&gt;The technical interview questions may range from simple syntax and logic challenges to more complex algorithm and data structure problems. Here are some typical categories of coding interview questions:&lt;/p&gt;

&lt;h3&gt;Data Structures&lt;/h3&gt;

&lt;p&gt;The interviewer may ask you questions about fundamental data structures like arrays, linked lists, stacks, queues, trees, graphs, and hash tables. Be ready to implement basic operations like traversal, search, insertion, and deletion. Knowledge of the time and space complexities needed for key data structure operations will also help.&lt;/p&gt;

&lt;h3&gt;Algorithms&lt;/h3&gt;

&lt;p&gt;Algorithm questions test your problem-solving skills. Study up on sorting or divide-and-conquer algorithms — quicksort, merge sort, heap sort, etc. — and efficient searching techniques like binary search. Be prepared for algorithm design questions asking you to build an algorithm from scratch.&lt;/p&gt;

&lt;h3&gt;Time and Space Complexity&lt;/h3&gt;

&lt;p&gt;Brush up on Big O notation. The interviewer may ask you to analyze algorithm complexity for time and space and indicate the most efficient data structures and algorithms.&lt;/p&gt;

&lt;h3&gt;Language-Specific Concepts&lt;/h3&gt;

&lt;p&gt;The interviewer may ask you coding questions tailored to languages like Java, Python, C++, JavaScript, etc. Review language-specific syntax, classes, data structures, and concepts, as well as how key features like inheritance, polymorphism, lambdas, and closures work. Be ready to demonstrate language proficiency.&lt;/p&gt;

&lt;h3&gt;Design Patterns&lt;/h3&gt;

&lt;p&gt;You may also be asked basic questions regarding key software design patterns. Brush up on:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  SOLID design principles&lt;/li&gt;
&lt;li&gt;  Creational patterns — singleton, factory, builder, etc.&lt;/li&gt;
&lt;li&gt;  Structural patterns — MVC, facade, etc.&lt;/li&gt;
&lt;li&gt;  Behavioral patterns — observer strategy, etc.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;Common Coding and Programming Questions&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;What coding language are you most comfortable with?&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  &lt;em&gt;Sample Answer&lt;/em&gt;: &amp;quot;While I am comfortable with several coding languages including SQL, Python, C++, and Visual Basic, the one I have the most hands-on experience working with is JavaScript. JavaScript was the first coding language I learned, and I have used it on several projects over the past 10 years.&amp;quot;&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;What is a SAN, and how is it used?&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  &lt;em&gt;Sample Answer&lt;/em&gt;: &amp;quot;A SAN, or Storage Area Network, is a high-speed, specialized network that provides block-level network access to storage. It can be used to improve application availability, enhance performance, increase storage utilization and effectiveness, and improve data security and protection.&amp;quot;&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;When is it appropriate to denormalize database design?&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  &lt;em&gt;Sample Answer&lt;/em&gt;: &amp;quot;Denormalization is a database optimization technique used to improve a database&amp;#39;s performance for specific queries. You may need denormalization to make improvements to a database so that it meets your application requirements. However, denormalization can impact what your database can do, so it’s important to make sure that you need denormalization for scalability or performance before choosing to use it as an optimization technique.&amp;quot;&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;What are continuous integration systems, and what is their role in the automated-build process?&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  &lt;em&gt;Sample Answer&lt;/em&gt;: &amp;quot;Continuous integration is a developmental process, which requires developers to integrate code into a shared repository several times throughout the day. Each time the code is integrated, it’s verified by the automated build. This allows for early detection of defects and problems within the codebase.&amp;quot;&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;With practice on real interview coding problems, you can master the coding skills needed to tackle the common programming questions that come up in technical interviews. Try reviewing coding problems on platforms like &lt;a href="https://leetcode.com/"&gt;LeetCode&lt;/a&gt; and &lt;a href="https://www.hackerrank.com/"&gt;HackerRank&lt;/a&gt; to continue improving.&lt;/p&gt;

&lt;h2&gt;System Design Principles&lt;/h2&gt;

&lt;p&gt;Many technical interviews, especially for software engineering roles, will test your knowledge of &lt;a href="https://en.wikipedia.org/wiki/Object-oriented_programming"&gt;object-oriented programming (OOP)&lt;/a&gt; and system design principles. The OOP and system design questions will assess your ability to design solutions for real-world software systems and leverage key OOP concepts to architect large, scalable applications.&lt;/p&gt;

&lt;p&gt;The interviewer will present a technical problem and comprehensively evaluate your approach to the system design process, with considerations like tradeoffs, bottlenecks, and scalability. The interviewer may ask you to design components or APIs for real-world products and services.&lt;/p&gt;

&lt;p&gt;For example, you could be asked to design a news feed, payment system, or ridesharing app. This task will test how you identify the core objects, attributes, and behaviors within a system. Make sure you employ proper data encapsulation and use techniques like inheritance and polymorphism.&lt;/p&gt;

&lt;p&gt;To ace system design questions, clarify requirements first. Then, start with a high-level design, identifying the core components and interactions. Drill down into specifics on request, like writing out class definitions, APIs, or schema.&lt;/p&gt;

&lt;p&gt;Verbalize your thought process as you work through the problem. Ask clarifying questions, state your assumptions, and explain the rationale for your choices. Discuss tradeoffs associated with different design decisions.&lt;/p&gt;

&lt;p&gt;Showcase your expertise in topics like:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  Design patterns — factory, singleton, MVC, observer, etc.&lt;/li&gt;
&lt;li&gt;  Database structure and normalization&lt;/li&gt;
&lt;li&gt;  APIs and microservices&lt;/li&gt;
&lt;li&gt;  Scaling and performance optimization&lt;/li&gt;
&lt;li&gt;  Multithreading and concurrency&lt;/li&gt;
&lt;li&gt;  Caching strategies&lt;/li&gt;
&lt;li&gt;  Networking and communication protocols&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;Common OOP and System Design Questions&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Design an e-commerce site, and indicate the classes and methods you would need.&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  &lt;em&gt;Sample Answer&lt;/em&gt;: &amp;quot;To design an e-commerce site, I would start with classes like User, Product, Cart, Order, and Payment. The User class would handle user authentication and profile management, while the Product class would manage product details and inventory. The Cart class would handle items added by the user, the Order class would process and store order details, and the Payment class would manage payment processing and confirmation. The methods would include addToCart(), removeFromCart(), checkout(), processPayment(), and trackOrder()&amp;quot;&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Design a parking garage system, and detail how you would structure the classes and relationships.&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  &lt;em&gt;Sample Answer&lt;/em&gt;: &amp;quot;For a parking garage system, I would design classes such as ParkingGarage, ParkingSpot, Vehicle, and Ticket. The ParkingGarage class would manage the overall structure, including a list of ParkingSpots — with each ParkingSpot having attributes like spotID, level, and availability. The Vehicle class would have attributes like licensePlate and vehicleType, while the Ticket class would track the entry and exit times and associated fees. The methods would include parkVehicle(), findAvailableSpot(), issueTicket(), and calculateFee().&amp;quot;&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Implement an ATM software system. Specify the classes, attributes, and behaviors you would need.&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  &lt;em&gt;Sample Answer&lt;/em&gt;: &amp;quot;For an ATM software system, the primary classes would be ATM, Account, Card, Transaction, and Bank. The ATM class would manage user interactions and hardware control, while the Account class would store account details and balance. The Card class would link to the Account and handle authentication, whereas the Transaction class would handle different transaction types like withdrawal, deposit, and balance inquiry. The methods would include authenticateUser(), selectTransaction(), dispenseCash(), and printReceipt(), while the attributes would comprise accountNumber, balance, transactionID, and cardNumber.&amp;quot;&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;With practice, system design interviews get much easier. Mastering OOP principles will prepare you to analyze and model real-world systems in an interview setting.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;💡 Struggling with interview prep? &lt;strong&gt;Book a 1:1 session with our &lt;a href="https://www.codementor.io/technical-interview-experts"&gt;technical interview experts&lt;/a&gt;&lt;/strong&gt; from Amazon, Microsoft, and Google to sharpen your skills. Your first 15 minutes are free!&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;Database and SQL Queries&lt;/h2&gt;

&lt;p&gt;Databases are crucial to most software systems, so it&amp;#39;s highly likely that your technical interview questions will test your knowledge about database design, SQL queries, optimization, and scaling. Be prepared to discuss topics like:&lt;/p&gt;

&lt;h3&gt;Schema Design and Normalization&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;  Designing an efficient database schema, which avoids data redundancy and anomalies&lt;/li&gt;
&lt;li&gt;  Describing normalization concepts like 1NF, 2NF, and 3NF&lt;/li&gt;
&lt;li&gt;  Deciding when to denormalize a database schema to optimize for read performance&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;SQL Commands and Queries&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;  Writing basic CRUD (create, read, update, delete) statements with SQL&lt;/li&gt;
&lt;li&gt;  Joining multiple tables together in complex SQL queries&lt;/li&gt;
&lt;li&gt;  Aggregating functions and grouping, sorting, and filtering data with SQL&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;Query Optimization and Performance&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;  Using techniques like adding indexes and partitioning to improve query performance&lt;/li&gt;
&lt;li&gt;  Analyzing query execution plans to identify and fix bottlenecks&lt;/li&gt;
&lt;li&gt;  Balancing normalization and denormalization to optimize for your use cases&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;NoSQL Databases and Horizontal Scaling&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;  Listing reasons for using NoSQL databases like MongoDB, Cassandra, etc.&lt;/li&gt;
&lt;li&gt;  Partitioning data across shards to scale databases horizontally&lt;/li&gt;
&lt;li&gt;  Explaining tradeoffs between NoSQL systems and traditional SQL databases&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Overall, be ready to write actual SQL statements and queries during the interview. Having a solid grasp of relational databases and experience with SQL is essential for most backend and full-stack roles. Study these questions and answers to succeed:
-   &lt;a href="https://arc.dev/developer-blog/sql-interview-questions/"&gt;SQL Interview Questions&lt;/a&gt;
-   &lt;a href="https://arc.dev/developer-blog/data-engineer-interview-questions/"&gt;Data Engineer Interview Questions&lt;/a&gt;
-   &lt;a href="https://arc.dev/developer-blog/data-analyst-interview-questions/"&gt;Data Analyst Interview Questions&lt;/a&gt;
-   &lt;a href="https://arc.dev/developer-blog/data-warehouse-interview-questions/"&gt;Data Warehouse Interview Questions&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Front-End and Back-End Web Development&lt;/h2&gt;

&lt;p&gt;Front-end and back-end development requires different but complementary skill sets. Here are some of the key technical aspects you may need to brush up on:&lt;/p&gt;

&lt;h3&gt;Front-End&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;  &lt;strong&gt;HTML/CSS&lt;/strong&gt;: Prepare to answer questions regarding your experience with HTML5, CSS3, responsive design, cross-browser compatibility, accessibility, etc. You may also be asked to discuss projects showcasing your HTML/CSS skills.&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;JavaScript&lt;/strong&gt;: Expect questions testing your JavaScript proficiency, including language features like closures, prototypes, callbacks, promises, and asynchronous programming.&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;React&lt;/strong&gt;: Prepare to answer questions related to React architecture, component design, state management with Redux, common hooks (e.g., useState/useEffect), performance optimization, etc. You may also be asked to discuss your previous React projects.&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;Angular&lt;/strong&gt;: Angular interview questions may cover components, directives, services, dependency injection, change detection, routing, pipes, forms, etc. Prepare to highlight your experience with Angular framework best practices.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;img src="https://ucarecdn.com/61e21eb4-f44d-4b62-8387-105b4f9c3c67/" alt="Frond-End Tech Stacks.png"&gt;&lt;/p&gt;

&lt;p&gt;📚 Preparing for a front-end job interview? Review these front-end-specific questions to impress your interviewers.
-   &lt;a href="https://arc.dev/talent-blog/javascript-interview-questions/"&gt;JavaScript Interview Questions&lt;/a&gt;
-   &lt;a href="https://arc.dev/talent-blog/reactjs-interview-questions/"&gt;React Interview Questions&lt;/a&gt;
-   &lt;a href="https://arc.dev/talent-blog/angular-interview-questions/"&gt;Angular Interview Questions&lt;/a&gt;
-   &lt;a href="https://arc.dev/talent-blog/vue-interview-questions/"&gt;Vue Interview Questions)&lt;/a&gt;
-   &lt;a href="https://arc.dev/developer-blog/typescript-interview-questions/"&gt;TypeScript Interview Questions&lt;/a&gt;
-   &lt;a href="https://arc.dev/developer-blog/selenium-interview-questions/"&gt;Selenium Interview Questions&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;Back-End&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;  &lt;strong&gt;Node.js&lt;/strong&gt;: Demonstrate your Node.js skills by discussing event-driven programming, asynchronous I/O, module exports, npm, Express web framework, REST APIs, database integration, performance, etc.&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;PHP&lt;/strong&gt;: Expect PHP interview questions on language fundamentals (e.g., variables, arrays, loops, and functions), MySQL integration, and MVC frameworks (e.g., Laravel, REST APIs, security, sessions, cookies, and caching).&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;Ruby/Rails&lt;/strong&gt;: You may need to showcase your experience with object-oriented Ruby, Rails MVC framework, ActiveRecord ORM, REST APIs, authentication, asset pipeline, caching strategies, background jobs, etc.&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;Python/Django&lt;/strong&gt;: Be ready to discuss Python basics (e.g., data structures, OOP, decorators, and exception handling), Django MVT architecture, ORM, template engine, admin interface, caching, security, etc.&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;Java/Spring&lt;/strong&gt;: Prepare for Java interview questions on data structures, multithreading, collections, JVM, Spring framework, dependency injection, REST APIs, database access, performance tuning, etc.&lt;/li&gt;
&lt;li&gt;  &lt;strong&gt;API Design&lt;/strong&gt;: Expect questions on REST API design principles, authentication/authorization, versioning, documentation, rate limiting, caching, microservices, GraphQL, gRPC, OpenAPI specification, etc.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;img src="https://ucarecdn.com/0bd33d9c-cc90-46b1-b677-4a1b636a0434/" alt="Back-End Tech Stacks.png"&gt;&lt;/p&gt;

&lt;p&gt;📚 Getting ready for a back-end job interview? Master these back-end-specific questions to stand out.
-   &lt;a href="https://arc.dev/talent-blog/php-interview-questions/"&gt;PHP Interview Questions&lt;/a&gt;
-   &lt;a href="https://arc.dev/talent-blog/ruby-on-rails-interview-questions/"&gt;Ruby on Rails Interview&lt;/a&gt;
-   &lt;a href="https://arc.dev/talent-blog/java-interview-questions/"&gt;Java Interview Questions&lt;/a&gt;
-   &lt;a href="https://arc.dev/talent-blog/spring-interview-questions/"&gt;Spring Interview Questions)&lt;/a&gt;
-   &lt;a href="https://arc.dev/developer-blog/mongodb-interview-questions/"&gt;MongoDB Interview Questions&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;To succeed in this kind of interview, highlight full-stack projects that demonstrate your expertise in front-end, back-end, APIs, databases, security, scalability, and performance.&lt;/p&gt;

&lt;h2&gt;DevOps and Software Engineering Principles&lt;/h2&gt;

&lt;p&gt;DevOps and software engineering best practices are critical topics in technical interviews. The interviewer will assess your expertise in continuous integration/continuous deployment (CI/CD) pipelines and infrastructure as code (IaC), as well as in monitoring, and writing clean, maintainable code. Here’s the information you’ll be expected to have:&lt;/p&gt;

&lt;h3&gt;CI/CD Pipelines&lt;/h3&gt;

&lt;p&gt;Be prepared to discuss your experience with CI/CD pipelines and automation. Key areas you may highlight include:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  Experience setting up build pipelines and release workflows in tools, like Jenkins, CircleCI, TravisCI, and GitHub Actions&lt;/li&gt;
&lt;li&gt;  Knowledge of automating builds, tests, and deployments&lt;/li&gt;
&lt;li&gt;  Troubleshooting and optimizing pipelines for faster feedback&lt;/li&gt;
&lt;li&gt;  Implementing pipeline stages like build, test, analysis, staging, and production&lt;/li&gt;
&lt;li&gt;  Leveraging containers and orchestration with Kubernetes and Docker&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;IaC&lt;/h3&gt;

&lt;p&gt;IaC is a critical DevOps practice. Be ready to discuss:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  Writing IaC with tools like Terraform, CloudFormation, Ansible, and Puppet&lt;/li&gt;
&lt;li&gt;  Benefits like consistency, reproducibility, and version control&lt;/li&gt;
&lt;li&gt;  Immutable and mutable infrastructure patterns&lt;/li&gt;
&lt;li&gt;  Infrastructure testing and validation techniques&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;Monitoring and Observability&lt;/h3&gt;

&lt;p&gt;The interviewer may ask you about your experience with:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  Monitoring tools like Prometheus, Grafana, and ELK stack&lt;/li&gt;
&lt;li&gt;  Logging strategies and analyzing logs with Kibana&lt;/li&gt;
&lt;li&gt;  Tracing distributed systems with Jaeger&lt;/li&gt;
&lt;li&gt;  Dashboards and alerts for proactive monitoring&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;Design Patterns&lt;/h3&gt;

&lt;p&gt;Just like coding and programming interviews, DevOps and software engineering interviews may include questions on software design patterns. Be prepared to demonstrate your knowledge of SOLID design principles, as well as creational, structural, and behavioral patterns.&lt;/p&gt;

&lt;h3&gt;Writing Maintainable Code&lt;/h3&gt;

&lt;p&gt;The interviewer may ask you to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  Write modular, reusable code with a separation of concerns&lt;/li&gt;
&lt;li&gt;  Perform unit testing and test-driven development techniques&lt;/li&gt;
&lt;li&gt;  Refactor code, and improve legacy codebases&lt;/li&gt;
&lt;li&gt;  Use static code analysis tools, linting, and code formatting&lt;/li&gt;
&lt;li&gt;  Apply agile development practices and continuous improvement&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;To excel in a DevOps interview, showcase projects that highlight your skills in CI/CD pipelines, IaC, monitoring, and clean code writing. Check out these &lt;a href="https://arc.dev/developer-blog/devops-interview-questions/"&gt;questions and answers&lt;/a&gt; ace it.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;💡 Struggling with interview prep? &lt;strong&gt;Book a 1:1 session with our &lt;a href="https://www.codementor.io/technical-interview-experts"&gt;technical interview experts&lt;/a&gt;&lt;/strong&gt; from Amazon, Microsoft, and Google to sharpen your skills. Your first 15 minutes are free!&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;Behavioral and Situational Questions&lt;/h2&gt;

&lt;p&gt;Technical roles require strong communication, teamwork, creativity, and problem-solving, which can be assessed through open-ended behavioral questions. Therefore, behavioral and situational questions are an important part of technical interviews. With these questions, your interviewer can evaluate your soft skills and cultural fit.&lt;/p&gt;

&lt;p&gt;You’ll be provided hypothetical scenarios to gauge your leadership, teamwork, and communication skills, as well as your ability to apply technical knowledge to real-world problems.&lt;/p&gt;

&lt;p&gt;&lt;img src="https://ucarecdn.com/23de915b-7553-4695-ab7d-1208c2096f0a/" alt="Behavioral Interview - Option A.png"&gt;&lt;/p&gt;

&lt;h3&gt;Common Behavioral and Situational Questions&lt;/h3&gt;

&lt;p&gt;When answering behavioral questions, be specific and use real examples from your work experiences. Use the STAR method when answering:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  Explain the &lt;strong&gt;S&lt;/strong&gt;ituation you encountered&lt;/li&gt;
&lt;li&gt;  Elaborate the &lt;strong&gt;T&lt;/strong&gt;ask at hand&lt;/li&gt;
&lt;li&gt;  Indicated the &lt;strong&gt;A&lt;/strong&gt;ctions you took&lt;/li&gt;
&lt;li&gt;  State the &lt;strong&gt;R&lt;/strong&gt;esults you achieved&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Here are some common behavioral questions and answers:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  &lt;strong&gt;What was your role and specific responsibilities on the most recent project you worked on?&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;em&gt;Sample Answer&lt;/em&gt;: &amp;quot;On my most recent project, I was the lead backend developer for a fintech application. My responsibilities included designing and implementing RESTful APIs, optimizing database queries, and ensuring the security of financial transactions. I also coordinated with front-end developers to integrate user-facing features and conducted code reviews to maintain code quality.&amp;quot;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;What is the project you are most proud of, and how did you contribute to it?&lt;/strong&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;em&gt;Sample Answer&lt;/em&gt;: &amp;quot;I am the most proud of a machine learning project where we developed a recommendation engine for an e-commerce platform. I specifically worked on designing the data pipeline, selecting appropriate algorithms, and fine-tuning models for accuracy. The project resulted in a 15% increase in user engagement and a significant boost in sales.&amp;quot;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Do you prefer to work alone or on a team?&lt;/strong&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;em&gt;Sample Answer&lt;/em&gt;: &amp;quot;I enjoy both. When I work alone, I can focus on complex problems, while with team collaboration, I appreciate learning diverse perspectives and ideas, which enhance creativity and innovation. In my current role, I can consistently strike an effective balance between solo tasks and team projects and meetings.&amp;quot;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;What would you do if you were asked to perform a task but weren&amp;#39;t sure how to complete it?&lt;/strong&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;em&gt;Sample Answer&lt;/em&gt;: &amp;quot;If I were unsure about how to complete a task, I would first try to understand the requirements and research possible solutions. If needed, I wouldn&amp;#39;t hesitate to ask for guidance from my colleagues or seek clarification from my manager. In this way, I’ll be able to learn and complete the tasks accurately while maintaining productivity.&amp;quot;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Tell me about a time you went above and beyond your expected tasks while working on a project.&lt;/strong&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;em&gt;Sample Answer&lt;/em&gt;: &amp;quot;While working on a deadline-driven project, I noticed a potential performance bottleneck in our codebase. Despite it not being part of my assigned tasks, I took the initiative to refactor the code and optimize database queries. That improved the system&amp;#39;s performance by 20% and helped us meet the project deadline with a more robust solution.&amp;quot;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;How would you overcome the challenge of working with a difficult coworker on a team project?&lt;/strong&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;em&gt;Sample Answer&lt;/em&gt;: &amp;quot;I would first try to understand the coworker’s perspective and identify the root cause of the conflict. I believe in open communication and would have a candid conversation to address any issues. Finding common ground and aligning our goals would help us collaborate effectively. If necessary, I would also seek mediation from a manager to make sure that the work environment remains positive.&amp;quot;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;For situational questions, the interviewer will describe a hypothetical scenario and ask how you’d handle it.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  &lt;strong&gt;Your team is rushing to meet a deadline, and tension is high, but a junior developer makes a mistake that sets the project back. How would you address this situation?&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;em&gt;Sample Answer&lt;/em&gt;: &amp;quot;I would first have a candid conversation with the junior developer and find out what exactly went wrong. Based on their clarification, I would try to find a solution. I may even ask the team for help if we are really short on time. In the worst-case scenario, I would check with our manager if a deadline extension is possible. After the project is completed, I would discuss ways to avoid such mistakes in the future with the junior developer.&amp;quot;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;You believe your engineering team is relying on outdated technologies and processes. How would you convince management that it&amp;#39;s time to upgrade?&lt;/strong&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;em&gt;Sample Answer&lt;/em&gt;: &amp;quot;I would first make sure I have complete information about the up-to-date technologies and processes available to us. Only then, I would talk to the management about the possible solutions — explaining the pros and cons of each solution and clarifying the shortcomings of the technologies and processes we are using currently. If there are budgetary issues, I would try to find more affordable options.&amp;quot;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Behavioral and situational questions allow you to showcase soft skills critical for technical roles. Use them as opportunities to prove that you can apply your technical expertise in real-world environments.&lt;/p&gt;

&lt;h2&gt;Technical Project Discussion&lt;/h2&gt;

&lt;p&gt;In this section, you’ll need to demonstrate hands-on experience and collaboration skills. The interviewer may ask you to walk them through a major technical project or accomplishment from your background.&lt;/p&gt;

&lt;p&gt;Here are the things you should consider when discussing technical projects:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  Provide an overview of the project&amp;#39;s purpose and your role: what business or technical challenge did it aim to address, and how did you contribute?&lt;/li&gt;
&lt;li&gt;  Explain the key technical decisions and problem-solving involved. Discuss your thought process, and weigh the tradeoffs you considered.&lt;/li&gt;
&lt;li&gt;  Highlight how you collaborated with cross-functional teams, such as product managers, designers, or other engineers. Interviewers want to see that you can work well with a diverse set of stakeholders.&lt;/li&gt;
&lt;li&gt;  Focus on your responsibilities and technical accomplishments. Don&amp;#39;t just state your role, but emphasize your unique contributions and quantifiable results as well.&lt;/li&gt;
&lt;li&gt;  Illustrate your work with specific examples and anecdotes. Zoom in on a coding challenge or milestone moment to bring the project to life.&lt;/li&gt;
&lt;li&gt;  Explain the technologies you used and the architectural decisions you made. It&amp;#39;s fine to say you don&amp;#39;t remember every detail.&lt;/li&gt;
&lt;li&gt;  If you can, try to relate the project to the role you&amp;#39;re interviewing for. Demonstrate how you leveraged relevant technical skills.&lt;/li&gt;
&lt;li&gt;  Conclude by summarizing your key takeaways and learning outcomes from the project experience. Elaborate on what you learned about the technology and working in collaboration.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Technical project discussions are where you can shine! With preparation and practice, you’ll be able to confidently walk through your technical projects and highlight the specialized skills you need for the role.&lt;/p&gt;

&lt;h2&gt;Tips for Acing the Interview&lt;/h2&gt;

&lt;p&gt;To ace the technical interview, practice regularly with sample code and design questions. Websites like &lt;a href="https://leetcode.com/"&gt;LeetCode&lt;/a&gt; have an extensive database of questions to practice with. Treat each practice interview like the real deal — explain your thought process thoroughly and, at every step, verbalize your approach, assumptions, and logic.&lt;/p&gt;

&lt;p&gt;Get comfortable asking clarifying questions when you don’t fully understand a problem. It&amp;#39;s perfectly acceptable to ask for additional details or restate the problem in your own words. These initiatives show that you deeply comprehend each task before attempting to solve it.&lt;/p&gt;

&lt;p&gt;Admit if you get stuck or hit a dead end — don&amp;#39;t try to fudge your way through technical interview questions you aren&amp;#39;t equipped to answer. Ask follow-up questions to keep the discussion going. To fully explore the problem space, quiz the interviewer about edge cases and test scenarios.&lt;/p&gt;

&lt;p&gt;Technical interviews are a two-way street, so make sure you are assessing whether the role is a good fit for you as well. With practice and preparation, you&amp;#39;ll be ready to tackle whatever tough technical questions come your way.&lt;/p&gt;

&lt;h2&gt;Following Up After the Interview&lt;/h2&gt;

&lt;p&gt;After you’ve showcased your knowledge and skills, it’s time for possibly one of the most important steps: following up. It will determine the final impression you leave on your interviewer.&lt;/p&gt;

&lt;p&gt;Here are some best practices for following up:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  Briefly recap two or three key qualifications and strengths that make you a great fit for the role to remind the interviewer of what you bring to the table.&lt;/li&gt;
&lt;li&gt;  Express your enthusiasm for the role and the company and state that you’re very interested in the opportunity based on what you learned during the interview.&lt;/li&gt;
&lt;li&gt;  Reiterate your passion for the company’s work and mission and align your values and motivation with its goals.&lt;/li&gt;
&lt;li&gt;  To exemplify reflection and accountability, briefly address any points you could’ve expanded on or questions you felt you could’ve answered better.&lt;/li&gt;
&lt;li&gt;  Provide your contact information again. Be ready to provide any additional information and be available for follow-up discussions.&lt;/li&gt;
&lt;li&gt;  End on a gracious, professional note: thank the interviewer again, and state that you look forward to hearing back from them.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;With a proper follow-up after a technical interview, you can strengthen your candidacy and set you apart from other applicants. A thoughtful &lt;a href="https://arc.dev/talent-blog/thank-you-email-after-interview/"&gt;thank you message&lt;/a&gt; can reinforce why you are the ideal choice for the role.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;💡 Struggling with interview prep? &lt;strong&gt;Book a 1:1 session with our &lt;a href="https://www.codementor.io/technical-interview-experts"&gt;technical interview experts&lt;/a&gt;&lt;/strong&gt; from Amazon, Microsoft, and Google to sharpen your skills. Your first 15 minutes are free!&lt;/p&gt;
&lt;/blockquote&gt;
</content>
    <description>Elevate your technical interview skills with expert answers to tough questions on coding, system design, and more. Ace your interview with confidence!</description>
  </entry>
  <entry>
    <title type="html">6 Coding Trends for 2024 and Beyond</title>
    <link rel="alternate" href="https://www.codementor.io/blog/coding-trends-2024-ifmigy3uyl"/>
    <id>tag:www.codementor.io,2014:273</id>
    <updated>2025-01-24T07:02:50Z</updated>
    <published>2023-11-27T07:30:17Z</published>
    <pubDate>2023-11-27T07:30:17Z</pubDate>
    <author>
      <name>Codementor Team</name>
      <email>support@codementor.io</email>
    </author>
    <dc:creator>Codementor Team</dc:creator>
    <enclosure url="https://ucarecdn.com/a818d055-fdc4-474b-9f95-b7ebc79fbf10/"/>
    <content type="html">&lt;p&gt;According to MarketSplash, there are more than 27 million software developers worldwide. Moreover, the software market revenue is expected to grow to almost $660 billion by the end of 2023.&lt;/p&gt;

&lt;p&gt;The suggestion that the coding market is saturated makes sense. Still, if you are thinking about becoming a developer yourself without any prior &lt;strong&gt;coding background&lt;/strong&gt;, you can still go for it.&lt;/p&gt;

&lt;p&gt;It takes a while to learn the basics and understand how software development works. &lt;/p&gt;

&lt;p&gt;Thankfully, you can find a plethora of resources to study. &lt;/p&gt;

&lt;p&gt;Some coders also focus on &lt;a href="https://www.codementor.io/blog/improve-programming-skills-d2ymtec4cl"&gt;improving specific skills&lt;/a&gt; to stand out from their peers. They prioritize mastering a specific coding language, for example.&lt;/p&gt;

&lt;p&gt;The industry is competitive, but newcomers who put in the right amount of effort usually make a career out of their coding skills.&lt;/p&gt;

&lt;p&gt;Having said that, it’s imperative to stay on your toes and keep up with the latest coding trends. Just like other industries, this one’s also not a stranger to changes. Failing to adapt to new things means falling behind other coders. &lt;/p&gt;

&lt;p&gt;As far as &lt;strong&gt;trends in programming&lt;/strong&gt; go, there are a few notable and interesting tidbits to look out for going into 2024 and beyond. Let’s take a look at them.&lt;/p&gt;

&lt;h2&gt;1. Artificial Intelligence&lt;/h2&gt;

&lt;p&gt;It shouldn’t come as a surprise that artificial intelligence is on the list. Technology continues to affect all kinds of industries, ranging from travel and entertainment to construction and healthcare.&lt;/p&gt;

&lt;p&gt;Coding is no exception. If you plan to work as a programmer, you can expect to encounter a lot of cases where AI plays a prominent role.&lt;/p&gt;

&lt;p&gt;For instance, it’s become common among coders to directly interact with ChatGPT. The tool helps solve various problems, such as detecting the wrong line in your code. &lt;/p&gt;

&lt;p&gt;Instead of going through various sources on the internet, you can swap to an extremely intelligent &lt;a href="https://sleekflow.io/blog/chatbot"&gt;AI chatbot&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;The expectations for AI in coding are that it will assist in debugging and automating repetitive tasks. Eliminating redundant steps increases efficiency.&lt;/p&gt;

&lt;p&gt;Finally, artificial intelligence should also improve the overall code quality thanks to testing and review tools.&lt;/p&gt;

&lt;h2&gt;2. Low-Code and No-Code&lt;/h2&gt;

&lt;p&gt;Low-code and no-code solutions have been the go-to option for less experienced developers. Simplification seems to be quite popular these days.&lt;/p&gt;

&lt;p&gt;The platforms that don’t require in-depth knowledge of programming open opportunities for those who want to build something but don’t have the means to learn the ins and outs of coding.
On one hand, low-code and no-code broaden the pool of available developers, encouraging innovation.&lt;/p&gt;

&lt;p&gt;On the other hand, the idea also comes with a few drawbacks. For one, LC and NC restrict coding freedom. Not to mention that they don’t allow backend access to developers.&lt;/p&gt;

&lt;p&gt;Ultimately, though, the platforms will continue to rise since they simplify coding—a complex skill that an average person doesn’t have.&lt;/p&gt;

&lt;p&gt;What do low-code and no-code platforms mean for aspiring programmers? More competition and motivation to be at the top of your game and try your hardest.&lt;/p&gt;

&lt;h2&gt;3. Remote Work&lt;/h2&gt;

&lt;p&gt;The remote work and hybrid work models exploded after the recent pandemic. The latter means spending some days in the office and some days at home, whereas remote work refers to basically working exclusively from home.&lt;/p&gt;

&lt;p&gt;Outsourcing various coding tasks shouldn’t come as a surprise. Enterprises hire developers from abroad because the local talent is not up to par. Or, they want to save on costs, and a cheaper option that still produces the work makes sense.&lt;/p&gt;

&lt;p&gt;If you plan to work from home as a coder, you can expect to have more time for leisure. Saving costs on commuting is an advantage as well.&lt;/p&gt;

&lt;p&gt;Note, though, that the lack of in-person supervision could be detrimental to your productivity. Some coders struggle with it, which then leads to &lt;a href="https://www.codementor.io/blog/imposter-syndrome-deypemtirw"&gt;impostor syndrome&lt;/a&gt; and other problems.&lt;/p&gt;

&lt;p&gt;Not working in-house also presents potential technical issues. Let’s say that you are not that tech-savvy and encounter a problem with your Wi-Fi router. After trying the basics, it still struggles to provide a solid internet connection.&lt;/p&gt;

&lt;p&gt;Or what about computer-related issues? If you are on a MacBook and notice sluggishness in the device’s performance, there’s no telling if you can solve the problem on your own. Even if you know &lt;a href="https://setapp.com/how-to/check-cpu-usage-on-mac"&gt;how to see CPU utilization in Mac&lt;/a&gt;, there’s only so much it can tell you.&lt;/p&gt;

&lt;p&gt;Naturally, the solution to technical problems you cannot solve yourself is to seek outside help. It’s just that when you work in an office, you can often find someone dedicated to solving these problems. &lt;/p&gt;

&lt;p&gt;Meanwhile, &lt;strong&gt;coding companies&lt;/strong&gt; or other companies that outsource their developers leave it up to the coders themselves to work out technical problems.&lt;/p&gt;

&lt;p&gt;Be mindful of what you might expect and prepare in advance to ensure that you have a smooth working experience if you plan to do your job from home.&lt;/p&gt;

&lt;h2&gt;4. Sustainable Software Development&lt;/h2&gt;

&lt;p&gt;We live in times when environmental awareness is gaining momentum. With looming threats, people are more eager to look for sustainable solutions.&lt;/p&gt;

&lt;p&gt;Programmers who can optimize code for technologies that minimize carbon footprint or help reduce general resource consumption are bound to make their mark in the modern world.&lt;/p&gt;

&lt;p&gt;Consider sustainable software development as your specialization if you aren’t sure what exact career path is the best for you.&lt;/p&gt;

&lt;h2&gt;5. Cybersecurity Priorities&lt;/h2&gt;

&lt;p&gt;Cybersecurity woes continue to cause headaches for organizations and individuals. Regardless of what the development project is, security should always be one of the priorities.&lt;/p&gt;

&lt;p&gt;The security-first approach exists to eliminate or minimize data breaches and other threats. The approach has to be present throughout the entire development cycle. You cannot ignore the threats early on and implement security measures just when the project is about to be completed.&lt;/p&gt;

&lt;p&gt;Developers need to ensure the following:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Continuous monitoring to identify vulnerabilities&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.wiz.io/academy/code-security"&gt;Secure coding&lt;/a&gt; practices that leave no room for breaches&lt;/li&gt;
&lt;li&gt;Backup solutions to start over in case something happens&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Coming in as a fresh developer, you are bound to miss the experience. Be smart about cybersecurity, and don’t underestimate how much damage it can do.    &lt;/p&gt;

&lt;h2&gt;6. Blockchain Applications&lt;/h2&gt;

&lt;p&gt;Blockchain applications are no longer a financial sector gimmick. Sure, its start and popularity are associated with cryptocurrencies, but the technology continues to expand beyond that.&lt;/p&gt;

&lt;p&gt;Logistics, for example, benefit from blockchain since it enhances tracking and inventory visibility. 
Intellectual property protection is also easier with the help of blockchain. It provides a way to trace the ownership to its original author. &lt;/p&gt;

&lt;p&gt;Secure data storage and identity verification are two other excellent examples of how blockchain impacts the world.&lt;/p&gt;

&lt;p&gt;From a coder’s perspective, given how blockchain is growing, it wouldn’t make sense to ignore it. If anything, mastering and understanding how blockchain works ought to put you at an advantage over programmers who don’t bother with it.&lt;/p&gt;

&lt;h2&gt;Conclusion&lt;/h2&gt;

&lt;p&gt;To sum it all up, there are interesting things happening in the coding industry. AI and blockchain are leaving their mark, while companies are &lt;a href="https://arc.dev/hire-developers"&gt;outsourcing developers for remote coding jobs&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;The changes happen over time, and it’s not the end of how various technologies will affect software development. &lt;/p&gt;

&lt;p&gt;It will be interesting to follow the upcoming trends and see the next step in how coding makes our lives easier.&lt;/p&gt;
</content>
    <description>From AI integration to the rise of low-code platforms, discover 2024 trends shaping the industry. Stay ahead, adapt, and thrive in the dynamic world of coding.</description>
  </entry>
  <entry>
    <title type="html">How Coding Bootcamps Support Students to Succeed in their Career Paths</title>
    <link rel="alternate" href="https://www.codementor.io/blog/coding-bootcamps-succeed-ep665yn92i"/>
    <id>tag:www.codementor.io,2014:272</id>
    <updated>2022-06-09T09:24:17Z</updated>
    <published>2022-06-09T09:24:17Z</published>
    <pubDate>2022-06-09T09:24:17Z</pubDate>
    <author>
      <name>Jennifer Fu</name>
      <email>jennifer@codementor.io</email>
    </author>
    <dc:creator>Jennifer Fu</dc:creator>
    <enclosure url="https://ucarecdn.com/7806e3c8-20bd-45fc-a603-daebd45c3d25/"/>
    <content type="html">&lt;p&gt;One of the biggest career challenges is getting on-demand resources to succeed in the job market. Despite the growth of the Great Resignation movement, companies have better hiring rates than a year ago. A Statista report showed a US unemployment rate of &lt;a href="https://www.statista.com/statistics/273909/seasonally-adjusted-monthly-unemployment-rate-in-the-us/"&gt;3.6 percent&lt;/a&gt; in April 2022, which is 2.4 percent lower than April 2021.&lt;/p&gt;

&lt;p&gt;The goal is to get offers with competitive salaries and work benefits. Are the best paying jobs reserved only for candidates with a college degree? No. In the article below, you’ll discover some of the professional benefits of coding bootcamps for tech students of this century.&lt;/p&gt;

&lt;h2&gt;Four Ways Coding Bootcamps Can Help You in your Career Journey&lt;/h2&gt;

&lt;p&gt;Many people still underestimate alternative education. However, the numbers speak for themselves. In the following paragraphs, you’ll see the four main advantages of &lt;a href="https://careerkarma.com/rankings/best-coding-bootcamps/"&gt;coding bootcamps&lt;/a&gt; to succeed in the tech industry.&lt;/p&gt;

&lt;h3&gt;Instructors with Professional Experience&lt;/h3&gt;

&lt;p&gt;Learning from people who have worked at top-rated tech companies is a common experience at coding bootcamps. Most schools such as &lt;a href="https://careerkarma.com/schools/flatiron-school/"&gt;Flatiron School&lt;/a&gt;, General Assembly, and The Tech Academy have instructors with expertise in Microsoft, Apple, Facebook, and other renowned tech companies.&lt;/p&gt;

&lt;p&gt;Thanks to this repertoire of teachers, students have a more accurate perspective of the daily tasks in the tech industry. The content of the courses offers a real image of the work environment, the levels of demand in business, and the work tools. This educational advantage optimizes the syllabus and provides value for your professional preparation.
High Job Placement Rates
Going to school is just the first step on a career path. However, the primary goal of any student is to obtain a well-paid job offer after graduation. It may be a tall order, but bootcamps have all the tools to increase your chances of being hired.&lt;/p&gt;

&lt;p&gt;The reputation of bootcamps depends on outcomes, admission and graduation rates, as well as job placement figures. These schools manage strict educational standards to make students the best candidates for any job interview. In the table below, you&amp;#39;ll see the schools with the best job placement numbers and average starting wages for grads on the market today:&lt;/p&gt;

&lt;table&gt;&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Bootcamp Name&lt;/th&gt;
&lt;th&gt;Job Placement Rate&lt;/th&gt;
&lt;th&gt;Average Starting Salary&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;App Academy&lt;/td&gt;
&lt;td&gt;98%&lt;/td&gt;
&lt;td&gt;$90,000 - $101,000&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Coding Dojo&lt;/td&gt;
&lt;td&gt;95.3%&lt;/td&gt;
&lt;td&gt;$76,500&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Springboard&lt;/td&gt;
&lt;td&gt;93.2%&lt;/td&gt;
&lt;td&gt;$73,522&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;General Assembly&lt;/td&gt;
&lt;td&gt;90,5%&lt;/td&gt;
&lt;td&gt;$76,000&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Flatiron School&lt;/td&gt;
&lt;td&gt;86%&lt;/td&gt;
&lt;td&gt;$85,736&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;

&lt;h3&gt;Be an Updated Worker&lt;/h3&gt;

&lt;p&gt;The tech industry is one of the most competitive environments in the labor market. Companies are constantly changing to optimize their services and maintain the level of innovation. If a company doesn&amp;#39;t embrace new trends, its popularity declines.&lt;/p&gt;

&lt;p&gt;Versatility is a common characteristic in technology and related businesses. If you want to become a tech worker, you need a program suited to the current industry needs, and here’s where bootcamps are a great solution for this issue. Schools update the syllabus content annually based on the latest trends.&lt;/p&gt;

&lt;p&gt;This way, if you join any career bootcamp, you’ll be working with the most up-to-date tools, software, and projects. Students are taught by industry experts and instructors with experience in the work schemes of the most innovative companies.&lt;/p&gt;

&lt;h3&gt;Learn Skills for Job Success&lt;/h3&gt;

&lt;p&gt;Technical knowledge is essential for this environment. &lt;a href="https://careerkarma.com/careers/data-science/"&gt;Data scientists&lt;/a&gt; must master Tableau, SAS, Matlab, and Excel. While web developers must learn how to use Java, Python, Query, and Github. However, tools are only a small percentage of an employer&amp;#39;s goals. If you want to succeed as a job seeker, you need to optimize your soft skills.&lt;/p&gt;

&lt;p&gt;Bootcamps know that technical proficiency is a complement to overall professional quality. For this reason, the courses include job assistance programs that help students improve their performance as employees. What can you find in the job assistance lessons? Look at the bullet list below:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;How to write a job proposal correctly.&lt;/li&gt;
&lt;li&gt;How to create a perfect resume.&lt;/li&gt;
&lt;li&gt;How to build a portfolio.&lt;/li&gt;
&lt;li&gt;Discuss salary agreements.&lt;/li&gt;
&lt;li&gt;How to be a leader and apply critical thinking at work.&lt;/li&gt;
&lt;li&gt;How to present projects and results.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Conclusion&lt;/h2&gt;

&lt;p&gt;There’s no exact formula to succeed in a career path. At the end of the day, the will and individual effort can get the best opportunities for you. Coding bootcamps are popular alternatives that help thousands of people earn a place in the tech industry. Take advantage of these benefits and get ready for a powerful career journey.&lt;/p&gt;
</content>
    <description>Some coding bootcamps offer a job guarantee, a plan where graduates can receive a refund if they don't find a job within a specified time period.</description>
  </entry>
  <entry>
    <title type="html">Codementor Events: Developer virtual events made easy and accessible</title>
    <link rel="alternate" href="https://www.codementor.io/blog/codementor-events-launch-dwaobzl00f"/>
    <id>tag:www.codementor.io,2014:271</id>
    <updated>2022-02-16T03:39:59Z</updated>
    <published>2022-02-14T07:34:31Z</published>
    <pubDate>2022-02-14T07:34:31Z</pubDate>
    <author>
      <name>Jennifer Fu</name>
      <email>jennifer@codementor.io</email>
    </author>
    <dc:creator>Jennifer Fu</dc:creator>
    <enclosure url="https://ucarecdn.com/83d4a8c5-d990-4e44-8083-a1a92c4d4295/"/>
    <content type="html">&lt;p&gt;As a developer, you‘re always learning something new and to be able to continue to learn and grow, you have to be able to ask questions and share knowledge.&lt;/p&gt;

&lt;p&gt;Developer virtual events allow you to not only passively soak up knowledge, but also actively ask questions and interact with other developers. As an attendee, you get to ask questions during the event, and continue to engage with the speaker and other developers after the event. As a speaker, you get to help others learn, share your experience, practice your public speaking skills, and grow your personal brand. &lt;/p&gt;

&lt;h2&gt;What is Codementor Events?&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://www.codementor.io/events?ref=CME_announcement_blog"&gt;Codementor Events&lt;/a&gt; is a developer community and virtual events platform. We hope to help you learn remotely and grow professionally through attending and hosting events. You can be a Junior Frontend Developer, Data Scientist, Senior DevOps Engineer, or a CTO. Codementor Events has something for every developer.&lt;/p&gt;

&lt;p&gt;We offer a wide range of developer-focused technical and career virtual events that are interactive and engaging. If you’re interested in sharing your knowledge, helping others learn, and growing your personal brand, we also make it easy for you to host your own event. &lt;/p&gt;

&lt;p&gt;Why Codementor Events instead of another virtual events platform?&lt;/p&gt;

&lt;h2&gt;Attend diverse developer-centered virtual events&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://www.codementor.io/events?ref=CME_announcement_blog"&gt;Codementor Events&lt;/a&gt; offers a wide range of interactive and engaging developer-focused virtual events. Regardless of your areas of expertise or seniority, you can:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;🔎 Find diverse dev-centered events:&lt;/strong&gt; From live coding sessions to career-related talks, Codementor Events has a wide selection of events to choose from. Learn about languages and frameworks, databases and tools, and processes and technologies in tech events. Or tackle topics like imposter syndrome, engineering resources, and workplace communication in career events.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;🆓 Learn from speakers all around the world:&lt;/strong&gt; Conferences and events don’t have to be location-dependent. With virtual events, all you need is an internet connection and you can learn from speakers all around the world. If you can’t make it live, you can also watch the recordings after the event.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;💬 Interact with speakers and other developers:&lt;/strong&gt; The Q&amp;amp;A session was too short? Have more questions for the speaker? Want to discuss with other developers? You can ask questions, share your thoughts, and discuss with speakers and developers on the event page. &lt;/p&gt;

&lt;h2&gt;Present at developer virtual events hassle-free&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://www.codementor.io/events?ref=CME_announcement_blog"&gt;Codementor Events&lt;/a&gt; makes it easy for you to share your expertise with a global developer audience so you can grow your career while helping others. It could be your first time speaking, or your tenth time, our goal is to make it easy for you to host virtual events:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;⭐️ Bring the audience to you:&lt;/strong&gt; Want to share your experience with more developers? Not sure who and where to share your events with? Not only do we make your events easy to promote, but we’ll also promote your event to the 500K+ developers in our community.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;🏃🏼 Handle event logistics:&lt;/strong&gt; Don’t want to deal with creating event pages, sending reminder emails, and getting feedback from event attendees? Don&amp;#39;t worry, we&amp;#39;ll take care of all of that. You just need to focus on giving the best talk. Not only that, your personal brand will continue to grow organically along with your event page.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;💪🏼 Give you all the support you need:&lt;/strong&gt; A little stuck on your event title? Never spoken at an event before? Worried that you won’t be able to reach someone for support? We’ll help you narrow in on a topic, discuss your event flow with you, and offer you all the support and assistance you need. &lt;/p&gt;

&lt;h2&gt;Learn remotely and grow professionally through virtual events with Codementor Events&lt;/h2&gt;

&lt;p&gt;Codementor Events is a developer community and virtual events platform where developers learn and share new tools, technical concepts, and career tips. With Codementor Events, we hope developers will be able to grow technically and professionally through learning from experienced developers, no matter where you are in the world. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;We just launched on &lt;a href="https://www.producthunt.com/posts/codementor-events"&gt;Product Hunt&lt;/a&gt; and would love your support!&lt;/strong&gt; Give us a like, and let us know what you think about Codementor Events in the comment section!&lt;/p&gt;
</content>
    <description>Codementor Events enable all developers to grow technically and professionally via developer virtual events no matter where you are in the world.</description>
  </entry>
  <entry>
    <title type="html">Hosting developer virtual events pt. 3: Event promotion and post event follow-up</title>
    <link rel="alternate" href="https://www.codementor.io/blog/developer-virtual-events-guide3-dntdz8jtmm"/>
    <id>tag:www.codementor.io,2014:270</id>
    <updated>2025-01-15T07:08:28Z</updated>
    <published>2022-01-25T10:37:01Z</published>
    <pubDate>2022-01-25T10:37:01Z</pubDate>
    <author>
      <name>Jennifer Fu</name>
      <email>jennifer@codementor.io</email>
    </author>
    <dc:creator>Jennifer Fu</dc:creator>
    <enclosure url="https://ucarecdn.com/ffbc8eee-052d-4444-8c55-cc227ac3d9dc/"/>
    <content type="html">&lt;p&gt;What drew you to the developer conferences and events you attended in the past? And did the conference organizers or event host send you useful information afterwards? Event promotion and post event follow-up are two crucial elements of hosting developer virtual events. But they’re also two of the most intimidating parts of hosting virtual events. Fret not, they really don’t have to be that hard. &lt;/p&gt;

&lt;p&gt;In this final article, we’ll walk you through how to promote a virtual event. We’ll also provide you guidelines on event follow-ups to help make your next event better. Let’s dig in. &lt;/p&gt;

&lt;p&gt;&lt;em&gt;If you missed out on the first two articles on event topics, descriptions, planning, and hosting, here’s &lt;a href="https://www.codementor.io/blog/developer-virtual-events-guide1-dgzxdgnfmf?ref=speaker_blog_3"&gt;part 1&lt;/a&gt; and &lt;a href="https://www.codementor.io/blog/developer-virtual-events-guide2-disafwxxav?ref=speaker_blog_3"&gt;part 2&lt;/a&gt; of our developer virtual event playbook.&lt;/em&gt; &lt;/p&gt;

&lt;p&gt;[[TOC]]&lt;/p&gt;

&lt;h2&gt;Why event promotion matters&lt;/h2&gt;

&lt;p&gt;Different people use virtual events to achieve different goals. For developers, these are the most common goals they want to achieve through virtual events:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Share their experience&lt;/li&gt;
&lt;li&gt;Help others learn&lt;/li&gt;
&lt;li&gt;Establish their expertise &lt;/li&gt;
&lt;li&gt;Mentor other developers&lt;/li&gt;
&lt;li&gt;Grow their network&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;To achieve these goals, you have to promote your event to maximize event attendance. While maximizing attendance may sound a bit like &amp;quot;marketing language,&amp;quot; it really just means trying to invite more developers to attend your event. Whether your goal is to share knowledge or to grow your online presence, the higher the attendance, the more people you can share with, and the faster your network grows. &lt;/p&gt;

&lt;p&gt;How do we do that? With event promotion strategies.&lt;/p&gt;

&lt;h2&gt;What is virtual event promotion?&lt;/h2&gt;

&lt;p&gt;Event promotion refers to using marketing strategies and channels to inform and attract audiences to attend events. For developer events, the methods and channels might include social media, developer communities, emails, and even blogs.&lt;/p&gt;

&lt;p&gt;To promote your event, you first need to create an event webpage. This page should include the event details and also act as a registration page. While event websites can be created on any virtual event platform, including LinkedIn, not every platform will actually allow you to &amp;quot;host&amp;quot; with them. This means social media websites, such as Facebook, shouldn’t be the primary event website. You can, however, create events on social media platforms like Facebook as a way to promote your event.&lt;/p&gt;

&lt;p&gt;One thing to keep in mind when promoting your event is that &lt;strong&gt;the average attendance rate ranges from 15-30%&lt;/strong&gt;. So if you want at least 30 people to show up, you&amp;#39;ll need to get at least 100-200 registrations. If you want to share with a bigger crowd, you&amp;#39;ll need to boost your event registrations even more.&lt;/p&gt;

&lt;p&gt;In the next section, we’ll walk through different methods, content, and marketing channels you can use to promote your virtual event.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;If you’re not sure how to write good event details, read the &lt;a href="https://www.codementor.io/blog/developer-virtual-events-guide1-dgzxdgnfmf?ref=speaker_blog_3"&gt;first blog here&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;How to promote a virtual event&lt;/h2&gt;

&lt;p&gt;There are many event promotion ideas and social media channels you can combine to create your event promotion strategy. It doesn&amp;#39;t have to be complicated, but your event promotion strategy should include different channels, content, and formats to boost event registrations. Using &lt;a href="https://napoleoncat.com/blog/social-media-management-tools/"&gt;social media management tools&lt;/a&gt; can streamline the process, allowing you to effectively coordinate your promotional efforts across various platforms.&lt;/p&gt;

&lt;p&gt;Regardless of what your event &lt;a href="https://visme.co/blog/marketing-plan/"&gt;marketing strategy&lt;/a&gt; ends up looking like, delivering value to potential event guests should always be your main goal. For example, if you’re sharing a career related talk on social media, let your target audience know how attending your event will help advance their developer career. Now, let&amp;#39;s jump into how you can successfully promote your event to drive registration and attract more event attendees:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="###share-your-event-website-with-colleagues-friends-and-connections"&gt;Share your event website with colleagues, friends, and connections&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="###get-creative-with-event-promotion-visuals-and-content"&gt;Get creative with event promotion visuals and content&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="###reach-out-to-developer-communities-you%E2%80%99re-a-part-of"&gt;Reach out to developer communities you’re a part of&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="###using-email-marketing-strategies-to-promote-your-event"&gt;Using email marketing strategies to promote your event&lt;/a&gt;
### Share your event website with colleagues, friends, and connections
Whether you’re an experienced speaker or new to speaking, the best people to share your event page with are colleagues and friends. It may feel a little embarrassing at first, but having a colleague attend is great as not only will you have a familiar face in the crowd, you’ll also have the opportunity to get direct and honest feedback from them. &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Now, you can just send the event link to your colleagues in company group chats, but what about friends and connections outside your office? Here are some common and effective social media platforms and social media posts format:&lt;/p&gt;

&lt;h4&gt;LinkedIn&lt;/h4&gt;

&lt;p&gt;LinkedIn is a great place to promote virtual events. Since your event theme will either be technical or career-related, your connections on LinkedIn are the perfect target audience.&lt;/p&gt;

&lt;p&gt;If you plan to host a technical event, you can reach colleagues, ex-colleagues, and connections with shared interests and expertise. By sharing on LinkedIn, you’ll reach people who already find your experience and knowledge relevant. Promotion for career-focused talks are also very suitable on LinkedIn. As most people on LinkedIn use it for career purposes, anything that seems interesting or helpful to their career will attract them.&lt;/p&gt;

&lt;p&gt;Here are two examples of LinkedIn event promotions by past &lt;a href="https://www.codementor.io/events?ref=speaker_blog_3"&gt;Codementor Events&lt;/a&gt; speakers:&lt;/p&gt;

&lt;p&gt;Rahul, Android Lead at Facebook and Stanford Lecturer, re-shared a post on his event, &lt;a href="https://www.codementor.io/events/overcome-imposter-syndrome-in-tech-da7rzauj6a?ref=speaker_blog_3"&gt;How to overcome imposter syndrome in tech&lt;/a&gt;:&lt;/p&gt;

&lt;p&gt;&lt;img src="https://ucarecdn.com/244c6495-364f-4ec2-936c-0866a319efea/" alt="Rahul Padney LinkedIn Codementor Event Promotion"&gt;&lt;br&gt;&lt;br&gt; &lt;/p&gt;

&lt;p&gt;Veerle, Managing Director at Analytic Health, wrote a detailed post about her event — &lt;a href="https://www.codementor.io/events/building-software-from-scratch-d4hc46c6og?ref=speaker_blog_3"&gt;Building software from scratch, the user-centric approach&lt;/a&gt; — and designed a square image for LinkedIn:&lt;/p&gt;

&lt;p&gt;&lt;img src="https://ucarecdn.com/3da9854b-1040-4ce2-9f43-cdbad6e1aacc/" alt="Veerle LinkedIn Codementor Event Promotion"&gt; &lt;/p&gt;

&lt;h4&gt;Twitter&lt;/h4&gt;

&lt;p&gt;Twitter is great for quick, real-time updates. You can get creative with your event promotion content, build threads on your most popular posts, or do a bit of a mix and match.&lt;/p&gt;

&lt;p&gt;If you&amp;#39;re connected with a lot of like-minded developers and speakers, Twitter can be more effective than LinkedIn. Generally speaking, Twitter is a more authentic and casual social media channel. Even if you don’t have a large Twitter following, you should still post about your event, and ask a few friends to retweet. 🙂&lt;/p&gt;

&lt;p&gt;Here&amp;#39;s an example from Rene, Developer Advocate at Ombori, for the event &lt;a href="https://www.codementor.io/events/deadlines-and-estimations-dc87b33d2t?ref=speaker_blog_3"&gt;Deadlines &amp;amp; estimations: What do I do with them?&lt;/a&gt; on Twitter:&lt;/p&gt;

&lt;p&gt;&lt;img src="https://ucarecdn.com/d093b0fe-490f-4ca3-b4fe-20011b0bf5da/=%3E%20width=70%" alt="Rene Pot Twitter Codementor Event Promotion"&gt; &lt;/p&gt;

&lt;h4&gt;Facebook&lt;/h4&gt;

&lt;p&gt;Depending on where you’re located and who you’re connected with on Facebook, Facebook can be a very powerful social media platform for event marketing. If your Facebook connections are mostly family and friends, you can leave it out of your marketing channels. However, if you are connected with developers you met through other conferences, events, or hackathons, Facebook is great for experimenting with formats and content you want to use to promote your event. Since Facebook allows long form content, unlike Twitter, you can include more event details in your posts.&lt;/p&gt;

&lt;h4&gt;YouTube&lt;/h4&gt;

&lt;p&gt;YouTube is one of the most effective event marketing channels but not everyone runs a YouTube channel. If you happen to run one, you should use it. If you already have a following, you can upload 30-second teasers to get your followers to check out your event webpage.&lt;/p&gt;

&lt;p&gt;If you don’t run a YouTube channel, you can try to connect with developer YouTubers for a 15 seconds shoutout to your event. Most of the time, this would be considered influencer marketing, so influencers might charge money for this. But if you happen to have some influencer friends, reach out to them!&lt;/p&gt;

&lt;p&gt;The general rule of thumb is to share your event on every social media channel you have. You can simply share the event webpage link, add some written content for some personal touch, or get creative with images, videos, and some memes and gifs.&lt;/p&gt;

&lt;h3&gt;Get creative with event promotion visuals and content&lt;/h3&gt;

&lt;p&gt;Since we’re on the topic of creative content, experimenting with a mix of different event promotion content is always a good idea for social media posts. Depending on which social media platform you choose and the nature of your connections, the written content would differ. For example, LinkedIn posts would be more formal and career oriented compared to the natural, authentic tone of Twitter. &lt;/p&gt;

&lt;p&gt;To spice things up, here are some more visuals to get your target audience interested in an upcoming event.&lt;/p&gt;

&lt;h4&gt;Images&lt;/h4&gt;

&lt;p&gt;Sharing the same event page visual can get boring on social media. Create attractive images that potential attendees would find interesting. For example, you can share an insightful graph from your talk or a funny (but relevant) image that will catch your followers’ attention when mindlessly scrolling through their feed.&lt;/p&gt;

&lt;h4&gt;Videos&lt;/h4&gt;

&lt;p&gt;Short 15 to 30 seconds videos of self introduction and event promotion is a great way to connect with potential attendees. The video content format is more personal, engaging, and fun. It allows you to show off your personality a bit and make you more approachable.&lt;/p&gt;

&lt;p&gt;Here’s an example of the video teaser Sylvana, Software Developer at Codecademy, created for her event, &lt;a href="https://www.codementor.io/events/react-with-typescript-ddzznxuno4?ref=speaker_blog_3"&gt;React with TypeScript - Build a React component together&lt;/a&gt;.&lt;/p&gt;

&lt;iframe width="560" height="315" src="https://www.youtube.com/embed/WTJusjZdXbs" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen&gt;&lt;/iframe&gt;
 

&lt;p&gt;You can make short videos like this and share them on social media for any upcoming event!&lt;/p&gt;

&lt;h4&gt;Memes &amp;amp; GIFs&lt;/h4&gt;

&lt;p&gt;Memes and GIFs are fun visuals that actually drive event registration on social media. You can create your own event memes and gifs, or you can find memes and gifs that align with the virtual event&amp;#39;s topic. A quick trick is to turn a short portion of your &lt;a href="https://www.veed.io/tools/video-cutter"&gt;snippet video&lt;/a&gt; and turn it into a gif! Here&amp;#39;s an example from Sylvana again:&lt;/p&gt;

&lt;p&gt;&lt;img src="https://ucarecdn.com/90d4b725-b94e-4dec-b900-deb8616c848d/%20=%3E%20width=70%" alt="React with TypeScript Codementor Event Promotion Gif"&gt;&lt;/p&gt;

&lt;p&gt;Whatever content you write and choose, make sure they provide helpful information about the event and value to potential attendees. Visuals are very helpful, so make sure to include at least one or two visuals when you share about your event on social media!&lt;/p&gt;

&lt;h3&gt;Reach out to developer communities you’re a part of&lt;/h3&gt;

&lt;p&gt;Apart from the social media platforms we‘ve mentioned above, there are other developer communities you can reach out to. Whether it&amp;#39;s WhatsApp, Slack, Discord groups, or other communities like Reddit, Dev.to, and Medium, you can share the event with communities you&amp;#39;re involved in.&lt;/p&gt;

&lt;p&gt;Before deciding which communities you want to share with, ask yourself how involved you are with the communities. If you don&amp;#39;t regularly participate in them, share about upcoming events sparingly. For chat groups you&amp;#39;re in, sending a short and sweet message with the link to the upcoming event website is perfect.&lt;/p&gt;

&lt;p&gt;For Reddit, Dev.to, and Medium, we&amp;#39;d suggest writing a related blog post that sets up the stage for the event. Since writing blog posts can be time consuming, you can consider this option after the event by transforming the event content into written content to reach more developers.&lt;/p&gt;

&lt;p&gt;⚠️ &lt;strong&gt;Warning for Reddit:&lt;/strong&gt; Before you start crafting your post on Reddit, make sure you have enough karmas! &lt;strong&gt;If no event marketing promotions are allowed, do not share events in those subreddits. You and your event page will get banned.&lt;/strong&gt; &lt;/p&gt;

&lt;p&gt;If you&amp;#39;re not sure which communities to share with, a good rule of thumb to follow is to only share your virtual event with communities you regularly have exchanges and dialogues with.&lt;/p&gt;

&lt;h3&gt;Using email marketing strategy to promote your event&lt;/h3&gt;

&lt;p&gt;If you happen to have your own mailing list, send them an email about your upcoming event. To maximize your &lt;a href="https://www.omnisend.com/blog/email-deliverability/"&gt;email deliverability&lt;/a&gt;, use verified email addresses and avoid spammy content. This ensures your emails reach the right audience and aren’t lost in spam folders. If you don&amp;#39;t, don&amp;#39;t worry. Most people don&amp;#39;t. However, email marketing is very effective for event promotion. &lt;/p&gt;

&lt;p&gt;The ideal solution is to find a virtual event platform with a sizable curated mailing list that will promote your events for you for free. You can also reach out to newsletters to see if they&amp;#39;d be happy to promote your event for you. However, most newsletters mention cost quite a bit, so finding the right platform may be the most practical solution. After all, getting 30 people to show up to an event requires at least 200 event registrations and even more exposure. If you&amp;#39;re looking for a simple way to gather attendee information and feedback, consider creating a &lt;a href="https://blog.beaconstac.com/2022/02/how-to-create-a-qr-code-for-a-google-form/"&gt;QR Code for a Google Form&lt;/a&gt;-type survey. This can be added to your event materials for easy access.&lt;/p&gt;

&lt;p&gt;So what now? What if you’re just not good at promoting things? Does this mean you can’t host developer events anymore? Of course not. We’ve got some solutions for you.&lt;/p&gt;

&lt;h2&gt;What if I’m not good at event promotion?&lt;/h2&gt;

&lt;p&gt;We&amp;#39;ve given you a lot of tools and ideas to help you reach more event participants. However, event promotion can be quite time consuming and difficult. You should always share your event page on your own social media, but if you don&amp;#39;t already have an online presence, it would be quite difficult to reach enough developers. As such, finding a virtual event platform that can assist you with promotion is the best solution.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.codementor.io/events?ref=speaker_blog_3"&gt;Codementor Event&lt;/a&gt; was built to help developers host successful online events. Events hosted on Codementor Event will be shared and promoted to our community, which includes 500K+ newsletter subscribers and 50K+ social media followers - all for free! By helping you host a successful event, we&amp;#39;re helping the global developer community grow together.&lt;/p&gt;

&lt;p&gt;We know it seems strange that we’re doing all of this for free. But it really is that simple for us — we want to help developers learn remotely and grow professionally through hosting successful events.&lt;/p&gt;

&lt;h2&gt;Why post event follow-up is a must-have&lt;/h2&gt;

&lt;p&gt;Whatever your event goals are, following up with your audience afterwards is critical. At the very least, you want to thank your audience for attending the event. If you recorded the event, you should also share the event recording with everyone who registered for the event. But most importantly, as a speaker and host, you want to follow up to gain feedback on the event. &lt;/p&gt;

&lt;h3&gt;Sample post event follow-up message&lt;/h3&gt;

&lt;p&gt;While posting messages on the event page is not the most effective way to follow up with your attendees, it’s the most accessible post event follow-up channel. Here’s a sample post-event message we’ve written for you:&lt;/p&gt;

&lt;p&gt;Thanks to everyone for registering for this event! &lt;/p&gt;

&lt;p&gt;I really enjoyed our time together just now. I&amp;#39;d love to hear your thoughts on the event through this 2 minutes survey. If you couldn&amp;#39;t make it live, we missed you! Let me know why in the survey, and here&amp;#39;s the recording of the event. In case it helps, here are the slides I used during the talk 🙂&lt;/p&gt;

&lt;p&gt;Register for my next event on [date]: [title] and feel free to reach out to me anytime on LinkedIn and Twitter!&lt;/p&gt;

&lt;p&gt;I&amp;#39;ll see you next time 👋&lt;/p&gt;

&lt;h3&gt;Sample event follow-up social media post&lt;/h3&gt;

&lt;p&gt;In addition to writing a thank you message on the event webpage, you can also post quick follow ups on social media. Since you won’t be able to gather feedback on the event through social media, one or two social media posts are enough. You can share a thank you post, the event recording link, or a mix of the two.&lt;/p&gt;

&lt;p&gt;Here’s one of our favorite social media post event follow-up posts by a host from one of our past events. Tapas took a selfie after his event, &lt;a href="https://www.codementor.io/events/intro-to-async-javascript-dfrqmg6tbr?ref=speaker_blog_3"&gt;​​Intro to JavaScript Asynchronous Programming&lt;/a&gt;, and shared with Twitter:&lt;/p&gt;

&lt;p&gt;&lt;img src="https://ucarecdn.com/ba39d651-ace1-4421-8bf1-9e24ab47a5f6/%20=%3E%20width=85%" alt="Codementor Events Intro to JavaScript Asynchronous Programming post event follow-up social media post"&gt; &lt;/p&gt;

&lt;h3&gt;Sample post event follow-up emails&lt;/h3&gt;

&lt;p&gt;Event pages and social media platforms are good options, but email is actually the best channel for post event follow-ups. You can thank your audience, gather event feedback, and share event recordings. If you have the &lt;a href="https://www.benchmarkemail.com/blog/how-to-create-an-email-list/"&gt;email list&lt;/a&gt; for those who registered to your event, send them one to two emails after the event. &lt;/p&gt;

&lt;p&gt;Don’t worry if you don’t, we’ll talk about how we can help with that. But for now, here&amp;#39;s a typical post-event follow up email sequence:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Thank you + survey email&lt;/p&gt;

&lt;p&gt;Hi John&lt;/p&gt;

&lt;p&gt;Thanks for registering for &amp;quot;[event title]&amp;quot;. I&amp;#39;d love to hear your thoughts through this 2 minutes survey. Even if you couldn’t make it live, let me know why 👇🏼&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;EMBEDDED SURVEY&lt;/strong&gt; (Tools: &lt;a href="https://sprig.com/"&gt;Sprig&lt;/a&gt;, &lt;a href="https://www.typeform.com/"&gt;Typeform&lt;/a&gt;, &lt;a href="https://www.surveymonkey.com/"&gt;SurveyMonkey&lt;/a&gt;, etc.)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Event recordings + promotion email&lt;/p&gt;

&lt;p&gt;Hi John,&lt;/p&gt;

&lt;p&gt;Thanks for joining me as I shared about &amp;quot;[event title]&amp;quot;. You can now &lt;a href="#event-url"&gt;watch the event on-demand&lt;/a&gt; by clicking &amp;quot;Watch recording&amp;quot; on the event page. You can find the slides for the talk in the comment section as well 🙂&lt;/p&gt;

&lt;p&gt;&lt;a href="#event-url"&gt;Register for my next event&lt;/a&gt; on [event date]: [event title]. We&amp;#39;ll be talking about [a one sentence summary of your next event].&lt;/p&gt;

&lt;p&gt;Hope to see you soon 👋&lt;/p&gt;

&lt;p&gt;Best,&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Now, if you don’t have a mailing list to reach out to or the time to build the survey, &lt;a href="https://www.codementor.io/events?ref=speaker_blog_3"&gt;Codementor Events&lt;/a&gt; will take care of all the post event follow-ups and share event feedback with you. With that said, we’ve given you all the strategies, channels, and content you might need to complete and gauge the event experience. &lt;/p&gt;

&lt;p&gt;We believe feedback from attendees is crucial to help you become a better speaker. So make sure to spend some time on designing the survey and choosing the best channels to reach everyone who registered to your developer virtual event.&lt;/p&gt;

&lt;h2&gt;Wrap up: host your own developer virtual event&lt;/h2&gt;

&lt;p&gt;With the &lt;a href="https://www.codementor.io/blog/developer-virtual-events-guide1-dgzxdgnfmf?ref=speaker_blog_3"&gt;first&lt;/a&gt;, &lt;a href="https://www.codementor.io/blog/developer-virtual-events-guide2-disafwxxav?ref=speaker_blog_3"&gt;second&lt;/a&gt;, and this final article, we&amp;#39;ve walked you through the entire process and provided practical tips on hosting developer virtual events. In this article specifically, we talked about leveraging different event promotion tactics and using different social media channels. We also talked about why post event follow-up is so important and what you need to achieve your goals as a developer speaker.&lt;/p&gt;

&lt;p&gt;There are many benefits to speaking at developer virtual events. We believe the primary goal is to make every developer a better and more holistic developer. If you’ve never spoken at developer virtual conferences or virtual events before, or have had a tough time gaining traction in past events, &lt;a href="https://www.codementor.io/events?ref=speaker_blog_3"&gt;Codementor Events&lt;/a&gt; and our developer-focused team is here to help.&lt;/p&gt;

&lt;p&gt;Find out more about Codementor Events or, if you’re ready, &lt;a href="https://www.codementor.io/events?ref=speaker_blog_3"&gt;become a Codementor Events speaker now&lt;/a&gt;! &lt;/p&gt;
</content>
    <description>Not sure how to promote or follow up after your dev virtual event? We'll walk you through the methods, content, and channels on event promotion and follow up.</description>
  </entry>
  <entry>
    <title type="html">Building software from scratch, the user-centric approach - Codementor Events</title>
    <link rel="alternate" href="https://www.codementor.io/blog/cme-usercentric-dmirs6ed92"/>
    <id>tag:www.codementor.io,2014:269</id>
    <updated>2022-06-01T01:57:29Z</updated>
    <published>2022-01-10T07:59:19Z</published>
    <pubDate>2022-01-10T07:59:19Z</pubDate>
    <author>
      <name>Codementor Team</name>
      <email>support@codementor.io</email>
    </author>
    <dc:creator>Codementor Team</dc:creator>
    <enclosure url="https://ucarecdn.com/b7360734-015b-4cfb-9acf-ad206013ec41/"/>
    <content type="html">&lt;p&gt;As a developer, it may be tempting to just start building features and products. However, before you take things to the keyboard, you should think about what your users need. Do you have a process to understand and prioritize user needs and pain points? How can you pivot or iterate your product features based on user feedback and usability testing?&lt;/p&gt;

&lt;p&gt;In &lt;a href="https://www.codementor.io/events/building-software-from-scratch-d4hc46c6og?ref=blog_usercentric"&gt;this talk&lt;/a&gt;, Veerle, Head of Data Science at Analytic Health shared about how to build software from scratch from a user centric design perspective. Find the event video with timestamps in the first section and the transcription in the second section.&lt;/p&gt;

&lt;p&gt;[[TOC]]&lt;/p&gt;

&lt;h2&gt;Virtual event recording&lt;/h2&gt;

&lt;p&gt;@&lt;a href="https://www.youtube.com/watch?v=GfC-up05MU0&amp;ab_channel=Codementor"&gt;Building software from scratch, the user centric approach&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;02:15 Introduction&lt;/li&gt;
&lt;li&gt;04:54 The agile software development process &lt;/li&gt;
&lt;li&gt;11:07 User-Centered Design (UCD)&lt;/li&gt;
&lt;li&gt;22:44 Challenges with software development&lt;/li&gt;
&lt;li&gt;32:18 Speaker experience and tips &lt;/li&gt;
&lt;li&gt;44:26 Wrap up&lt;/li&gt;
&lt;li&gt;46:33 Questions?&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Event blog &amp;amp; transcription&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Host:&lt;/strong&gt; We can get started. Hey everyone, welcome to Codementor Events. For those of you who are joining us for the second event, welcome again. My name is Maggie. Thanks again for joining today. It&amp;#39;s really great to have you all here with us, and I&amp;#39;m really excited to be here with our speaker Veerle, to listen to her, share more about her experience, building software from scratch and user centered approach.&lt;/p&gt;

&lt;p&gt;If you have any questions throughout the event, feel free to raise a virtual hand, to let her know. Alternatively, you can also type them directly in a chat and we&amp;#39;ll make sure that we get to as many of them as possible at the Q&amp;amp;A section at the end. Veerle, the stage is all yours. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Veerle:&lt;/strong&gt; Hi everyone. Thank you Maggie for welcoming me. I&amp;#39;m going to tell you something today about building software from scratch, the user centered approach. Let me share my screen and pull my presentation up.&lt;/p&gt;

&lt;p&gt;As Maggie said, and in the chat that has been said, if there are any questions, just raise your hand and feel free to interrupt me and I&amp;#39;ll answer the question straight away. After the presentation, we will also have a Q&amp;amp;A session. So if you ask your questions via the chat, we will answer them later.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Veerle:&lt;/strong&gt; So, today, building software from scratch - the user centric approach. What are we actually going to talk about today? First, I&amp;#39;ll give a brief introduction. You know who is talking, also something more about my company and then we will go into an agile software development process and what that looks like. Then we&amp;#39;ll talk about the challenges that often come up when you&amp;#39;re building software. Then I will talk about my experiences and learnings that I felt that we have in our own company. I will do a quick wrap-up. And then as I said, at the Q&amp;amp;A section, I will answer all your questions. After this presentation, I will share the presentation slides with you as well. So if there&amp;#39;s anything that you would like to take notes off, be aware that I will share everything afterwards.&lt;/p&gt;

&lt;h3&gt;Introduction&lt;/h3&gt;

&lt;p&gt;&lt;img src="https://ucarecdn.com/277c8ce3-bd89-4b15-86bf-344f476e72b3/" alt="Building software from scratch - the user centric approach.png"&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Veerle:&lt;/strong&gt; So who am I? I&amp;#39;m Veerle. I am calling in from the Netherlands today. I live there and I graduated as a data scientist in 2015 from Dilbert university. After that, I started working at various companies as data scientists. I worked at a large energy company. That was my first job. And then in 2018, I got into the healthcare sector or the pharmaceutical sector as a data scientist.&lt;/p&gt;

&lt;p&gt;When I was working there, I had the idea to start my own company. So I founded my own business, Hypebright, and I did some data science consultancy there. And during that time I met my current business partner, Greg, with whom I&amp;#39;m now running Analytics Health. I am a developer. I develop mainly in R and Shiny, but also in Node and Vue.&lt;/p&gt;

&lt;p&gt;That&amp;#39;s a basic quick overview of me. Then a bit more about our company. So together with my business partner, Greg, and our head of operations, Jana, we develop tools and &lt;a href="https://www.visartech.com/blog/web3-blockchain-technology-for-businesses/"&gt;web applications&lt;/a&gt; for the healthcare sector. So we gather and analyze healthcare data in order to retrieve value from the data, because we believe we can accelerate innovation in healthcare by giving access to high quality data sources. And by providing healthcare professionals with the tools they need to analyze the data. We gather healthcare data from the UK on a daily basis, all via open source data sources. And we also use internal sales data from pharmaceutical companies. Most of the tools we develop are developed in R for example, we have Shiny applications, and we have APIs that are also within R. Besides that we have applications in Node and Vue. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Veerle:&lt;/strong&gt; As you can see, we have three kinds of applications. We have Pharmly Analytics, and Pharmly Cloud Data, and then we have the Pharmly Portal. Pharmly Cloud Data is our marketplace for healthcare data, so this is the place where you can have access to all your high quality healthcare data sources in the UK. Now Pharmly Analytics is an application built on top of that data to provide you really with data insights and Pharmly Portal is the place where all those applications basically come together. That&amp;#39;s basically our homepage, it goes on top of our Pharmly new products, we also developed some dedicated applications for some of our customers, which are mainly pharmaceutical companies.&lt;/p&gt;

&lt;h2&gt;The agile software development process&lt;/h2&gt;

&lt;p&gt;&lt;img src="https://ucarecdn.com/2e39af99-2006-4782-b925-775d494b2bee/" alt="The agile software development process.png"&gt;&lt;/p&gt;

&lt;p&gt;Let&amp;#39;s start the &lt;strong&gt;agile development process&lt;/strong&gt;. So how do you build software using a user centric approach? And now the first question which comes to mind, why do we need a process to begin with? Because we can just build software, right? We can just jump in, start to code and build features, but we do need a process because the process helps you to align expectations between developers, your team members, your stakeholders, or your users, but it also helps you with formalizing how you should deal with new requests or with bugs or with new thoughts.&lt;/p&gt;

&lt;p&gt;If you have a process in place or a plan, then it will prevent unnecessary rework in the end. Besides that it helps you to stay within budget and obviously a process helps you with plan. So I think having a process is a really good idea if you are building your software. &lt;/p&gt;

&lt;p&gt;And then the question, why do we care as a developer?&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Veerle:&lt;/strong&gt; Why do we care about such a process? Why do we care about being user centric? Because after all, the only thing we do is like coding, right? But, depending on the context, you as a developer might actually be involved in all parts of the process. So you can be part of a team with like say 20 developers and a couple of UX designers and dozens of project managers and all of that. Then your role will be obviously very different from a role, for example, in our company where we have a small development team of just 1-3 developers in which you are very close to the user. So as a developer, depending on the business you&amp;#39;re in, you might be involved with different parts of the process.&lt;/p&gt;

&lt;p&gt;Besides that if you know about the process, and if you understand the process, you might also feel less frustrated when some decisions along the way change. I think we all recognize the feeling that we developed something, and then two weeks later it needs to change. You know, you made something, you put effort in it. And then a couple of weeks later, then everything needs to be 180 degrees different. That&amp;#39;s very frustrating. And especially if you don&amp;#39;t know where that&amp;#39;s coming from, then it doesn&amp;#39;t help you with understanding why you need to change that. So also being involved in the process makes you see the bigger picture. It makes you understand why you were doing things. And why you are developing in a certain way. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Veerle:&lt;/strong&gt; Then I think that you deliver software as a team, always. Doesn&amp;#39;t matter how small or big that team is, you&amp;#39;re building a product together. So I think it&amp;#39;s more than fair that you are like invested in the process. That the whole team is going through to build that software product. And it&amp;#39;s not only like important for your big software projects or only when you&amp;#39;re working in a company, but also your side projects might benefit from a proper approach because even your side projects, you can manage in such a way that you can deliver in the end to products that your users are happy with.&lt;/p&gt;

&lt;p&gt;I don&amp;#39;t think I mentioned yet, but I&amp;#39;m a scrum master myself. So I have a lot of experience with agile methodology and I honestly love it and we use this intercompany to streamline our projects and I would definitely recommend it as well, if you&amp;#39;re developing software. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Veerle:&lt;/strong&gt; So what is it? If we&amp;#39;re looking at what is agile software development, we&amp;#39;re basically talking about little cycles or little iterations you&amp;#39;re doing. For example, you see here such an iteration on the screen. You start off an iteration by planning and like, basically finding out what the requirements are. Then you start designing that feature. Then you start coding. Then you release, you get a feedback about this feature and you do it all again. So this constant loop of small iterations, normally a cycle takes like two weeks or something. This small loop of iterations keeps you basically involved for your users and your stakeholders. And it&amp;#39;s a great way, and an efficient way to provide tangible software, like early on. Because every two weeks you’re aiming to release something, even though it&amp;#39;s like a small button or it&amp;#39;s a change of a styling of your app or whatever you aim to release as quickly as possible in order to get her feedback as possible. And that&amp;#39;s very important if you are developing a user centric software. &lt;/p&gt;

&lt;p&gt;Why do we need to be agile? &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Veerle:&lt;/strong&gt; As I said, it&amp;#39;s an efficient way to provide tangible software as soon as possible. Like every two weeks or something is like normal. Because you are like working in these small iterations, like constantly gathering feedback, like every two weeks, you&amp;#39;re also able to quickly jump in on changing user requirements.&lt;/p&gt;

&lt;p&gt;And I think having these kinds of cycles and tools gives you a lot of transparency and constant feedback, so you can improve your products. Besides that normally in like such a neat duration, because you&amp;#39;re gathering feedback, you really are engaging with your stakeholders and your users because you need to test the software if you users like it.&lt;/p&gt;

&lt;p&gt;So there&amp;#39;s high involvement there. It&amp;#39;s also great for expectations because normally, you know, exactly, in the next two weeks, we&amp;#39;re going to do this and that. And then your stakeholders know, at the end of these two weeks, I can expect this button to be here or there where these functionality to be present.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Veerle:&lt;/strong&gt; And I think it&amp;#39;s less daunting to work in these kinds of smaller cycles compared to big projects. Because if you have a big project and let&amp;#39;s say, this project will take eight months, go do it, have fun. I mean, I think that&amp;#39;s quite daunting if you say, well, eight months, what do I need to do? How am I going to organize that? So chop it up into smaller bits. Then next to being agile. There&amp;#39;s this other philosophy that if you are a bit involved with, you actually would know and we call it the user centered design. The user centered design is like another methodology next to agile, which is also about it&amp;#39;s ratios here.&lt;/p&gt;

&lt;p&gt;Only the focus is really on the user and it&amp;#39;s about designing your features and functionality so that it basically fits the users as best as possible. So first you&amp;#39;re going to see, okay, what does my user need? You try to empathize with them and you&amp;#39;re going to define like the requirements of a feature or functionality they&amp;#39;re going to ideate or make ideas about it.&lt;/p&gt;

&lt;p&gt;It&amp;#39;s brainstorming, then you&amp;#39;re building a prototype and then you&amp;#39;re going to test it. This user centered design principle is not about coding yet, but it is about like, does this future, how is this going to work for my user? Will they like it? And how can I best design? The focus is different here.&lt;/p&gt;

&lt;h2&gt;User-Centered Design (UCD)&lt;/h2&gt;

&lt;p&gt;&lt;img src="https://ucarecdn.com/889c185d-1e52-4c93-8400-bb0fce13f3d1/" alt="User-centered design process.png"&gt;
&lt;strong&gt;Veerle:&lt;/strong&gt; Why would we need something like UCD or, the user centered design? Well, because it&amp;#39;s basically minimizes guesswork by providing a mechanism against which design decisions can be found at the ages that this that&amp;#39;s because constantly you&amp;#39;re coming up with designs, which you&amp;#39;d take it back to your users so that your users can actually understand. Or you can understand if your users are going to like it or not. So in the end, a UCB provides you with a more useful and meaningful product. And that&amp;#39;s because you did all that testing and get that feedback. So it also minimizes where you work. Because if you know what your users are going to think of for feature, then obviously your feedback will hopefully be along the lines of, wow, this is great. That saves you some work. It provides a way to deliver quality experiences. So then we talked about being agile and this user centered design. &lt;/p&gt;

&lt;p&gt;What&amp;#39;s the difference? Is being agile actually being user centric? &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Veerle:&lt;/strong&gt; Honestly, we kind of talk about this whole discussion between agile and UCD. But what I wanted to tell you today is that if you look at the two philosophies that you will see in agile, that there is a focus on quickly releasing stuff, making sure that you&amp;#39;re satisfied customers and UCD equity balance of that would be like, okay, we need to create or think about our end users.&lt;/p&gt;

&lt;p&gt;We need to make sure that they have the best experience possible when using our products. And I think if you can combine the two, if you can combine the methodology of being agile, like quickly releasing constant feedback, focus on tangible self. And if you can combine UCB with the extreme focus on okay, whatever I design needs to be right for my users, because they are going to use the product.&lt;/p&gt;

&lt;p&gt;I think if you are uniting the two, that&amp;#39;s cool. And what I also want to mention is that, the most awesome thing with these philosophies, you don&amp;#39;t need to see them as fixed. Like if agile prescribes you to do step one, two, and three, it doesn&amp;#39;t necessarily mean that you need to follow it 100% in full detail.&lt;/p&gt;

&lt;p&gt;That&amp;#39;s the same for UCB. You can follow all these steps in full detail and completely give yourself into the methodology, but it doesn&amp;#39;t help. It&amp;#39;s more about the thinking behind it. And the only thing that agile development wants is to make sure that you are close to your user, close to reality.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Veerle:&lt;/strong&gt; By having these short cycles, I&amp;#39;ve gone asking for feedback and it&amp;#39;s just to keep your mind so you can combine the two. So that&amp;#39;s why I always say you have like this agile UCD process that you can follow. And this is just the process. And as I said, don&amp;#39;t see it that&amp;#39;s 100% fixed, but this is the process that you can follow to actually make yourself aware.&lt;/p&gt;

&lt;p&gt;So first you start by gathering requirements so that you have a clear sense. This is probably what my user wants. This is what we look for, my stakeholders want, so this is what we need to do. You need to find yourself a standardized way to basically document the requirements so that everybody on your team knows the requirements to know what they look like.&lt;/p&gt;

&lt;p&gt;Then you always start with designing things. So if you have a requirement, it&amp;#39;s always good to have that visual representing what the requirement is. That doesn&amp;#39;t need to be a full blown wireframe or a full-blown workup, maybe even a small particular sketch we&amp;#39;ll do. As long as you do have anything that you can look to, and this will help you with guiding whatever you&amp;#39;re working towards.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Veerle:&lt;/strong&gt; And even though you have a sketch, you can present that to your users and say, hey, what do you think of that? You know, especially, if I may talk for my business, we developed a dedicated software for you. So we know our users pretty well. We talk with them like every two weeks, and then it&amp;#39;s very easy.&lt;/p&gt;

&lt;p&gt;If you have a sketch, even though it&amp;#39;s a quick sketch to show to them and then see, hey, do you see this working? Or do you like this? And then when you have the design, then you can actually start digging into the code. So you can actually start building and I would always recommend adults coding best practices and make code consistent across your team.&lt;/p&gt;

&lt;p&gt;Make sure that&amp;#39;s in whatever team you are that you have like a standard set of rules that you&amp;#39;re cohesive follow can be things like naming conventions, code styling and that kind of stuff, but just make sure that it&amp;#39;s, it doesn&amp;#39;t matter if person A or person B wrote the code, but that you have a stream of code.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Veerle:&lt;/strong&gt; I see a question from Jen.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Jen:&lt;/strong&gt; I&amp;#39;m raising my hand for one of our attendees. So Hyung, I&amp;#39;m sorry. I&amp;#39;m sorry if I pronounced your name wrong, did you want to raise your hand and then ask Veerle yourself? Can someone unmute him and see, okay. So, can you hear me now? &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Attendee:&lt;/strong&gt; Yeah. So I just had a question. I don&amp;#39;t mean to interrupt because you&amp;#39;re ongoing, but I just didn&amp;#39;t want to miss this point in case at the end, if I had gone in the end. So I just want to check for your user centric design, which is like a smaller cycle of get during the use of feedback before you do a full blown cycle.&lt;/p&gt;

&lt;p&gt;Right? So like, do you have any advice for a good number of end users? Like 5 or 30? I mean, this is something that I&amp;#39;m also struggling with because I&amp;#39;m an indie developer myself. And I also see that you only have a team of three, so gathering many people is logistically very difficult. So do you have any good advice for the number of end users?&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Veerle:&lt;/strong&gt; Yeah. So that also depends on the context. So our applications, for example, have under 100 users. So that means that we&amp;#39;re not going to ask 100 people for their feedback. Like if you have thousands of users, that 100 might be a reasonable number. So it depends on like how big your application is, how many users issues who&amp;#39;s asked if you can.&lt;/p&gt;

&lt;p&gt;I would aim at like, well, somewhere along the lines, 1-5% of your user base. And then not, and you should also carefully consider for which features you are going to do a full-blown research, because sometimes it might be enough to take existing research. For example, if you need to think about colors of buttons or where to place close buttons and things like that, you can rely on existing research, and otherwise just spell, see that you need to like balance between, okay, is this feature going to be really big and really important and really fundamental? Maybe I should ask a bigger sample of my user base, but it all depends on the context really. Does that answer your question a bit?&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Attendee:&lt;/strong&gt; Yeah, I think so. I&amp;#39;m asking because, for me, I&amp;#39;m contacting end users by Instagram direct marketing, you know, so sometimes it&amp;#39;s very, tiring and time-consuming, but I guess it really depends. Thank you for your answer. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Veerle:&lt;/strong&gt; You&amp;#39;re welcome. Okay. Another hand. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Attendee:&lt;/strong&gt; I&amp;#39;m sorry, just to follow up on that. I know I&amp;#39;m part of Komen, but just kind of a, you said, you know, it really depends on the feature and like 1-5%, in terms of methodologies, do you usually use, let&amp;#39;s say like surveys or do you distribute surveys to like 5% of people in this? I don&amp;#39;t know, 10% from that to do user interviews and things like that.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Veerle:&lt;/strong&gt; Yeah. So we&amp;#39;re actually very lucky with our users because our users are very involved in our products. We develop very specialized products, for a limited number of people. So we have the luxury of just going into meetings with them, presenting what we have in mind and gathering their feedback.&lt;/p&gt;

&lt;p&gt;And we will get all this feedback from them, but that&amp;#39;s a luxury that we have. If you have a really big app with thousands of people on it, for example, and that&amp;#39;s going to be available in the app store, it will be a different story because it&amp;#39;s very hard to gather feedback from people at that point in time.&lt;/p&gt;

&lt;p&gt;But then for larger audiences, I would do something like A/B testing or setting up surveys. But that, again, depends really on the context, what you could do best.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Veerle:&lt;/strong&gt; So where were we? So I was at the testing stage. If you developed your feature, it&amp;#39;s also obviously very important that you test it. Because you can&amp;#39;t release everything into production and then just hope for the best you need to test it. You can use unit tests for devs, but also just some user tests. You can get some users on it and gather some feedback. &lt;/p&gt;

&lt;p&gt;Then you can release, but release wisely because these two-week cycles are really aimed at release as quickly as possible, you know, do it as fast as possible, we want to see results now. But you should also do it wisely. So make sure that whatever you release is high quality, because you can only deliver a user centric software product, if you deliver a high quality product as well. So make sure whatever you release is really centered at the user and provides the user with the best possible experience. &lt;/p&gt;

&lt;p&gt;And then obviously very important. Take the time to get feedback. What I see too much happening in these agile methodology is say, we have this development cycle. We release some features. Now it&amp;#39;s time for weekends as a matter of speed, but take your time to actually get feedback about the features that you just released so you can improve upon them or incorporate this feedback in later cycles of your development. So take the time for that.&lt;/p&gt;

&lt;h2&gt;Challenges with software development&lt;/h2&gt;

&lt;p&gt;&lt;img src="https://ucarecdn.com/ca501204-2a93-4e9b-8ab7-871eb44a1ccb/" alt="User centred design challenges.png"&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Veerle:&lt;/strong&gt; So then, a couple of challenges that you have with like software development. One of them is a very known concept known as technical debt. It&amp;#39;s also known as design debt or code debt. It is a concept in software development that reflects the implied cost of additional rework costs by choosing an easy solution.&lt;/p&gt;

&lt;p&gt;Now, instead of a better approach, if we take. And this is something that&amp;#39;s really, a risk when you&amp;#39;re doing agile development. Because as I said, agile development is most often aimed at releasing as quickly as possible. Do it as fast as possible. We want to see tangible results after those two weeks, but often leads to developers making the easy choice.&lt;/p&gt;

&lt;p&gt;In the end you&amp;#39;re going to regret it. Because if you make choices now and build on top of that, then you&amp;#39;re building on more and more debts. And it&amp;#39;s very hard to repay that. So Ward Cunningham, he is one of the authors of the agile manifesto. He once said that some problems with code are like financial debt, so it&amp;#39;s okay to borrow against the future as long as you pay off. Ward used this term as a metaphor and he called it technical debt and has gained momentum ever since I think every software developer knows of this concept, and it is still a real problem in today&amp;#39;s world because we see it all the time.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Veerle:&lt;/strong&gt; So what actually causes this technical debt. Well, one of them is like for definition and requirements, too tight deadlines, too much pressure. As I said, if everything is targeted and aimed as do it as fast as possible, you might go for more easy solutions. And it&amp;#39;s also underestimating the time it takes to complete a task.&lt;/p&gt;

&lt;p&gt;Because if you, especially, if you work in these agile cycles upfront, you plan like, this task is going to take me like this many hours. And what&amp;#39;s happening is that we underestimate the time. And then at the end, there is some crisis or some stress to actually get the deadline that we choose for the easy solution.&lt;/p&gt;

&lt;p&gt;It&amp;#39;s also a lack of knowledge, and a lack of test. So what are actually, if you summarize all of these, the causes of technical debts are for the software development process. If you make sure that you have a solid software development process, if you account for all these things, then you can minimize the amount of technical debt.&lt;/p&gt;

&lt;p&gt;Technical debt, we’ve all seen it. And it only takes you longer to build features on top of your product. It&amp;#39;s dangerous and harmful for your product and you need to prevent it. And as a developer, you play a role in this as well. You have a role of educating the rest of your team and you have also the role of recognizing the risk of technical debt.&lt;/p&gt;

&lt;h2&gt;Speaker experience and tips&lt;/h2&gt;

&lt;p&gt;&lt;img src="https://ucarecdn.com/97aa367d-f21d-4b07-ba3c-8c0dedee927a/" alt="Speaker experience on user centered design process.png"&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Veerle:&lt;/strong&gt; So as a developer, if you&amp;#39;re working in a team, please be aware. That&amp;#39;s when you&amp;#39;re making a choice, think for yourself, is this the easy choice because I want to deliver this as fast as possible? Or is it the best choice? Because, again, technical debts, your users are going to see that because if your users are expecting a ‘wow’ experience of your application, but it takes you like, I don’t know, months to build like this additional button, because you have chosen a framework which is not suited for it, then your users won&amp;#39;t benefit from it.&lt;/p&gt;

&lt;p&gt;Then another challenge we often have when we&amp;#39;re doing agile software development is, okay, that&amp;#39;s all cool. And all this user centered approach and doing what the user wants, but unfortunately the user doesn&amp;#39;t always know what he or she actually needs because there is a, what do users want versus what do users need?&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Veerle:&lt;/strong&gt; So a user might say, “oh, I want X,” but the user might not need X, but actually Y. So imagine like a couple of years ago, if you didn&amp;#39;t know you needed an iPhone, but now we do, you know, that&amp;#39;s exactly how it works. We don&amp;#39;t know what we need and if you&amp;#39;re building software, right, it&amp;#39;s your job basically to figure it out.&lt;/p&gt;

&lt;p&gt;You need to try to figure out what the user or the stakeholder really needs instead of just delivering items on the way, because that&amp;#39;s very easy, especially business stakeholders who might not be the same as the actual users of the products might just say, okay, give me this feature and that feature and that feature.&lt;/p&gt;

&lt;p&gt;And then we&amp;#39;re having a good product. But always strive to be like the critical thinker and also ask is this really the best for our user. And then again, this comes back to, if you want to build user-centric approach, you need to understand your user and how can you do that while you can also, you can ask questions. So questions of your own questions really. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Veerle:&lt;/strong&gt; Okay. So you want this, this button in your episode. Why, why do you need it there and how would it help you in your daily life? Instead of like, if you&amp;#39;re designing an app for buying groceries online, you could say like, Why do you buy groceries online, but you can also ask other questions, like, okay, what do you do when you buy groceries online?&lt;/p&gt;

&lt;p&gt;What do you do before you go online shopping? What do you do after you go shopping? What doesn&amp;#39;t work for you when you&amp;#39;re buying groceries, or who are you with when you buy groceries in line? Who do you consult for advice? Like you can ask all kinds of questions around that to really understand this is probably what my user needs. Instead of just building an app where they can just buy groceries. &lt;/p&gt;

&lt;p&gt;Then another challenge is obviously choosing the right framework because if you start on a big software development project, then in the early stages, you already need to make a choice for the framework and which framework here.&lt;/p&gt;

&lt;p&gt;I mean like, are you going for Vue or are you going for React? Are you going for an Shiny application? There are so many frameworks that you can choose. So what should you actually choose? Because this in the end is also going to determine your technical debt. Because if you make a mistake in the beginning with choosing the framework, you might because it&amp;#39;s the easiest framework or it&amp;#39;s the framework you have the most knowledge about. You might end up with building something that&amp;#39;s not suitable for you. So the things that you might want to consider and the most important thing in user centric, software development, your users. Please think about first, how your users are going to use the products, how are they going to open it on their PCs? How are they going to see it on the mobile? And depending on that, choose the framework that best suits the needs. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Veerle:&lt;/strong&gt; For example, we developed our Pharmly Portal, which is basically a portal with all kinds of things. Smaller apps. That&amp;#39;s because our model or pricing model will say, okay, users or clients can choose like different modules. So they might go from module A, B and C, or they might go for only module A or only C. So we thought, how could we best, which framework could we best choose to do that? In the end, we chose microphones and structure. And with this microphone structure, we have like all these independen apps, which are basically our modules.&lt;/p&gt;

&lt;p&gt;And then, these are like standalone mini apps. So to say, and it makes it very easy for our users to basically choose a package in which to say, I only want like this piece and that piece and that piece, and I want to have access to it. And that&amp;#39;s why we made the decision, for the sake of our users to go with.&lt;/p&gt;

&lt;p&gt;Structure, but for you, it might look totally different because it all depends on your context and your users. So besides your users, you might want to take a look at obviously the development community. Is there a lot of talk about the framework you&amp;#39;re choosing? Are there enough people active? If I don&amp;#39;t know anything I want to browse stack overflow.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Veerle:&lt;/strong&gt; Can I actually find something on stack overflow? And it&amp;#39;s really important than the support either from the framework developers or from other developers, obviously things like is there enough technical documentation, is maintained. Is it easy to understand? Is it sustainable? And obviously you need to look at your team.&lt;/p&gt;

&lt;p&gt;You might want to build an app and react, but they&amp;#39;ve nobody on your team knows about debts. Then that&amp;#39;s also another solid choice for you, right? So it&amp;#39;s all a balance between, while disliked. And the current state of the art framework in today&amp;#39;s dev community versus what do my users want and what is best suited for them versus what can I do for each?&lt;/p&gt;

&lt;p&gt;Do I have the resource naming skills?&lt;/p&gt;

&lt;p&gt;Yeah. Then I come to our learnings because having your own company, you learn a lot. I can tell you that. We&amp;#39;ve learned a lot from developing software. We have learned a lot from making mistakes. We are still learning a lot and I want to just share like learnings with you and our own experiences, so you might benefit from that as well.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Veerle:&lt;/strong&gt; The first question is, okay, we are a small team. Yes, we are a small team. So can we do agile development? And yes, you can. I mean, To be a team of 10 or 50 people to implement like an agile methodology or an agile way of thinking you can be with any size. And as I said earlier, you can adapt methodology and your processes to your specific environments because context matters, you know, for us in our company, a startup company with a relatively small team of people, things and solutions might look different than from an established company that has been there for 25 years and has multiple development teams.&lt;/p&gt;

&lt;p&gt;So context is really important. When you are implementing anything, really any software development process that you&amp;#39;re choosing, but you can do it. I honestly, I love to do it even in such a small environment, because it just keeps you focused like the small cycles of constantly releasing and it helps you to actually quickly see tangible results.&lt;/p&gt;

&lt;p&gt;That&amp;#39;s why I like it so much. We do everything like in small cycles, but that&amp;#39;s obviously not how we start straightaway. So let&amp;#39;s say that you&amp;#39;re just starting on this big project for a client or you&amp;#39;re building a new effort from scratch. You&amp;#39;re obviously not jumping into like these short sprint cycles as we call them straight away.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Veerle:&lt;/strong&gt; What we do normally is we start off with multiple kickoff meetings. So that&amp;#39;s, we just have brainstorm meetings about, okay, what&amp;#39;s the app going to do? What’s it going to look like? We have also meetings about, okay, what is the longer term planning? Because the two week planning is not going to cut it every time you need to go.&lt;/p&gt;

&lt;p&gt;You need to know. In so many months I&amp;#39;m going to release this product. Or in so many months, I&amp;#39;m going to market with this product and we have kickoff meetings with, and without our stakeholders. So it&amp;#39;s only our core team. We talk about the new project, but also with our stakeholders to brainstorm together with them.&lt;/p&gt;

&lt;p&gt;Then we have, like, normally what we do is like this big design. So we start with sketches and then we do have a UX designer who helps us occasionally and we let him turn it into wireframes and so did we have a broad design.This is what the applicants look like. Most often we take this design to our clients as well, “Hey, we have designed this. So you&amp;#39;re like, this is what you do differently.” So that&amp;#39;s very valuable to have that and make sure that you keep designs in that make, because if you&amp;#39;re gathering feedback along the way, and if you&amp;#39;re taking your designs to your users and if they say, well, no, I, I don&amp;#39;t see how that would work or whatever, especially.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Veerle:&lt;/strong&gt; If you have a dedicated product. I mean, we make products for pharmaceutical companies who have very specific needs and pharmaceutical company is not the other. So for us, it&amp;#39;s very important to keep designs dynamic and to change them as we go. And then obviously before you start, you should decide on your framework and don&amp;#39;t do that.&lt;/p&gt;

&lt;p&gt;Like overnights they&amp;#39;ll do that in a one hour meeting. Think about it. See if it makes sense. Make sure that you don&amp;#39;t end up with a huge technical debt because you made a wrong decision and also keep in mind your users, the goals which are products. And obviously it&amp;#39;s like this delicate balance between the time that you have skills that you have in your team, the budget that you have said, well, that&amp;#39;s all matter when making this framework choice.&lt;/p&gt;

&lt;p&gt;So I think we&amp;#39;ve done that like. General pre-process like, and we know with regard to bills, we know what framework we&amp;#39;re going to use. We know it&amp;#39;s going to look like stakeholders are happy with the idea. Everybody is like, I&amp;#39;m excited to start on it. Then we start our sprint cycles. So we&amp;#39;ve basically followed.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Veerle:&lt;/strong&gt; Somewhat the steps that I mentioned earlier we get a requirement on the board can be any kind of board. It&amp;#39;s just thought process can be like the git board or project board. We usenotion for it, but you also have liked JIRA or any other kinds of software. Then we, especially for smaller features, because if you can have something like your general design for your big app, you will see does whenever you&amp;#39;re doing small add-ons or based on feedback, you might think of other features that you want to implement in your app.&lt;/p&gt;

&lt;p&gt;You&amp;#39;re going to the needs designs sometimes. Either we all scholar creative UX designer to do something for us, or we make quick sketches, but make sure that whatever requirement you have that you have, like this clear understanding of, okay, this is what it&amp;#39;s looking like in here. Then we actually develop, which is the fun part. And then what we do to make sure that we across our team have like a standardized way of coding and sending up our projects. We also tried to standardize the use of libraries and packages, because person A might like a specific library and person B and others, but it&amp;#39;s nice. If you can come to a common ground, you know, it&amp;#39;s not code that looks completely different every time.&lt;/p&gt;

&lt;p&gt;And then we do some testing as well, obviously. So we test the functionality. We see if it integrates a new feature, doesn&amp;#39;t break anything else. If the requirements are met, obviously then we release, obviously when tasks fall that we release to production. And sometimes before we actually do the release, we will lay it back.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Veerle:&lt;/strong&gt; Get some feedback from our users before we actually release, because sometimes a feature is so dedicated to a specific client or user as we actually say with them. Okay. Are you happy with that? So if you need to change before we actually do the release, so then we might shift the feedback and the release stage a bit.&lt;/p&gt;

&lt;p&gt;So again, that&amp;#39;s dependent on your situation and yeah. And so when it&amp;#39;s released, we get a feedback, basically all, all around. So every day we get feedback about our apps. We also welcome feedback from our users, obviously. If they say any new feature ideas or bugs, we fix them in the next cycle.&lt;/p&gt;

&lt;p&gt;There&amp;#39;s a bit a quick loop into our process. And then some learnings. I want to share it with you. I have quite a few because we did learn a lot. My number one learning is like, don&amp;#39;t get stuck in this particular framework or process. You don&amp;#39;t follow the agile methodology or the UCD methodology, like step-by-step 100%, it&amp;#39;s not black and white.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Veerle:&lt;/strong&gt; Okay. You need to do what works for your team. As an example, normally when you are working agile with smaller tasks, you can have a lot of tasks on your plate. So you might have that a team member had like 10 tasks to complete in like a two weeks cycle. But actually we didn&amp;#39;t like that in our team so much, we much more like to have like a big epic, which we call it a big subject basically, where we then work on.&lt;/p&gt;

&lt;p&gt;So we call it an epic and it&amp;#39;s basically a very big task, which we pull all related tasks in. So it just makes it more comfortable for us to work with. So whatever you do, whatever process you choose do what works for you then also don&amp;#39;t make the mistake. And don&amp;#39;t say, well, I know it&amp;#39;s going to end up with technical debts. I have covered definitely. I don&amp;#39;t know any self project that doesn&amp;#39;t have any amounts of technical depth. You will always have a bit because the choices you made in the beginning are going to, well, set you, you know, they are the choices you make will determine what future choices you can make. This will always be the case, but you can limit this and try to match it, but please always be aware of it that this happens.&lt;/p&gt;

&lt;p&gt;Then also whatever process you choose, maybe you invent your own process because you, it works for you. I don&amp;#39;t care. You need to communicate clearly with your stakeholders. You need to make sure that your stakeholders know what you&amp;#39;re doing and how your process looks like, because that prevents frustration on their sites.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Veerle:&lt;/strong&gt; Then I&amp;#39;m aiming for protection. I think a lot of people have the tendency to do everything perfect. They won&amp;#39;t go, but a drive to do it. It&amp;#39;s a small step. So if you&amp;#39;re developing software, try to do it like, I don’t know, first make sure that the functionality is there. And later on, you can optimize extra functionality. For example, if you want to make a feature, in which you can add shopping lists or something, well, first make sure that the functionality is there to add lists and to few them. And then maybe next on you can focus on actually changin the icon or the color or off the list, you know, of like making these more personalized changes.&lt;/p&gt;

&lt;p&gt;So focusing on quickly releasing at least something so that you can get feedback and then you can perfect the way, because if you&amp;#39;re aiming for perfection straightaway, you might develop something that your users actually don&amp;#39;t want it all, you know and as I said earlier, instead of focusing on stakeholder requirements and just fulfilling a wishlist focus on the, in the line motivation, because in the end stakeholders, I&amp;#39;ll ask you to develop yourself for product.&lt;/p&gt;

&lt;p&gt;They asked you to develop something because you have expertise in developing software. So them saying that they want A, B and C on their list, doesn&amp;#39;t mean that they know best. That doesn&amp;#39;t mean that ABC is actually the best thing. So I&amp;#39;m always trying to get that underlying motivation so that you can actually help them to make or help to make the product a better product.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Veerle:&lt;/strong&gt; Then another thing: don&amp;#39;t underestimate our research. But also don&amp;#39;t underestimate powerful, existing research. You don&amp;#39;t need to reinvent the wheel. A lot of UX research has been done on how you can best do things. You can also think, look, you do your own research, similar apps. Look at them, see how they do things.&lt;/p&gt;

&lt;p&gt;They don&amp;#39;t need to do everything from scratch necessarily. Then I think with every project, small or large side project or project for a company or working for planning is key. If you&amp;#39;re just going round, as I will say, and just build features here and there, and just go as you, please. And this will not give you default.&lt;/p&gt;

&lt;p&gt;Delivery or user centric software. And then also, if you are choosing this agile software development process in which we have, like these short cycles, these iterations don&amp;#39;t get stuck in this two week vision, because sometimes when you&amp;#39;re working in an agile project, if my team, the two weeks, it&amp;#39;s this time spend that you had the two weeks is everything that there is.&lt;/p&gt;

&lt;p&gt;And then it starts all over again. But don&amp;#39;t lose track of the bigger, big picture, always know what you&amp;#39;re working towards, and that is like the best self rep possible for your user. So don&amp;#39;t forget that. And then if you want to prevent things like technical debts, and if you want to prevent making too quick decisions, because for the sake of time, Please make sure that if you are estimating design for a feature or functionality that you incorporate extra.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Veerle:&lt;/strong&gt; So if you say, okay, this both in is going to take me 10 hours to put it. I don&amp;#39;t know if it&amp;#39;s with 50% or something, maybe 15, because, you&amp;#39;re underestimate. And we&amp;#39;ve learned that the laws we still do, we still underestimate, the time things take. And yet, as I said, always design your features.&lt;/p&gt;

&lt;p&gt;Even if it&amp;#39;s only a quick scratch, you don&amp;#39;t need to do a full blown wireframe or whatever you don&amp;#39;t need to be, especially a UX designer to do these kinds of things, even if you&amp;#39;re on your own and developing a project on your own, make sure that you do a quick sketch so that you know what you&amp;#39;re working through.&lt;/p&gt;

&lt;h2&gt;Wrap up&lt;/h2&gt;

&lt;p&gt;&lt;img src="https://ucarecdn.com/aa6a1544-e1fe-4499-9626-4c3a530cf4d5/" alt="Wrap up on design process.png"&gt;&lt;/p&gt;

&lt;p&gt;Then a quick wrap up, but I told you today before we&amp;#39;re going to the questions. I think the main takeaway that you can have from this presentation is don&amp;#39;t jump straight into the code. You know, think, plan, get requirements before you actually start jumping into coding. And we all love to do that as developers.&lt;/p&gt;

&lt;p&gt;I know, but they&amp;#39;ve stepped back and focus on what might be best for you here. And it doesn&amp;#39;t matter how big that project is small or large. We all need a process. We all need to design and we all need to be user centric. If we really want to be our software to be a success. And then building self right, is a team effort, you know?&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Veerle:&lt;/strong&gt; Don&amp;#39;t get too isolated as a developer. I&amp;#39;ve heard people saying things like, yeah, I&amp;#39;m a developer. I don&amp;#39;t need to know anything about. Oh, I&amp;#39;m a developer. I don&amp;#39;t need to know anything about, I don&amp;#39;t know, how things work, how user interface looks like I just code. But I think that you can only build skewed software if you understand for which you are building itself where a name for your user, and if you understand the full process, and if you do it as a team, like teams are there for a reason, themes are there, he goes, they work well.&lt;/p&gt;

&lt;p&gt;And because the individuals in the team, make sure that there&amp;#39;s more failure from each individual team member alone. That&amp;#39;s why teams are there. So please, even as developers, build a software as a team effort and not only focus on your coach, try to understand your user as well. And it will really help.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Veerle:&lt;/strong&gt; And then it&amp;#39;s right. Like, do it again. Get feedback. See what you can improve because the software is never finished. You can have the definition of finish. You can have a definition of done. You can have the definition of first release, but software has never finished. There&amp;#39;s always things to improve.&lt;/p&gt;

&lt;p&gt;So if you iterate over that, you will actually get better and better at each step. And that&amp;#39;s my main wrap up. Are there any questions? I think there&amp;#39;s a lot happening in the chats, which I haven&amp;#39;t been reading, but I will pull up. So let me see what we have.&lt;/p&gt;

&lt;h2&gt;Q&amp;amp;A&lt;/h2&gt;

&lt;p&gt;&lt;img src="https://ucarecdn.com/92488a64-2260-431c-9211-e087e902b6e8/" alt="Questions on user centered design process.png"&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Host:&lt;/strong&gt; So I believe the first question is from Wayne. Wayne, do you want to unmute yourself and ask the questions yourself? &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Wayne:&lt;/strong&gt; Hi, how is everyone? Thank you very much. It&amp;#39;s a really, really good presentation, first of all. Just a quick question, really. I&amp;#39;m intrigued around the phased approach that you have that you showed up in one of your earlier slides around the design phase. And I am intrigued to know, how do you test that?&lt;/p&gt;

&lt;p&gt;The testing stage are you doing just like small tests? Are you using the designs? Do you have a QA that looks at that, and how you build that into your AC? &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Veerle:&lt;/strong&gt; So as I told, we are a very small team, so we don&amp;#39;t have a full blown team. We test the design by going straight to our clients, which we are lucky enough to do.&lt;/p&gt;

&lt;p&gt;They are our users as well. We are lucky enough to have like these dedicated users that help us to build our products. So we go to them and it all stems like this is the design. Do you like it? Do you want to see any changes, etc? If you are working for a bigger audience, I would definitely do something with AB testing.&lt;/p&gt;

&lt;p&gt;So if you want to do find out quickly, if your design works for a certain group of people, just subsets, basically your large audience into a smaller bar, then show them one version of the app or the other version of the app and do some tests on that. And then obviously, because it&amp;#39;s testing your design takes time. You should do that cycle before you actually develop. So always the design requirements cycles long cycle before you actually development cycles. Because if your development, if you&amp;#39;re developing, you already need to know this is, this is going to be eight. That&amp;#39;s what I would say. Does that answer your question?&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Attendee:&lt;/strong&gt; Yeah. Yeah, no, that&amp;#39;s fine. It&amp;#39;s fine. I know there&amp;#39;s no explicit answers to this sometimes I think you&amp;#39;re absolutely right. You are confirming definitely with the user base and that when you&amp;#39;ve done an iteration, you&amp;#39;re going to get feedback. Yeah, thank you very much. Thank you. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Host:&lt;/strong&gt; So if anyone else has any questions, feel free to raise your virtual hand and then Veerle can know. For the next question, he was asking in building a software product, is the choice of the framework really important? Also when using a framework, what is the best architectural approach? Sometimes a project gets overwhelming when it grows big in size. For example, having a good component of structure. Would love to hear from you and how you handle this.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Veerle:&lt;/strong&gt; Is the choice of the framework important? Yes, it is, because not every framework is suitable for things that you want to do. For example, as I said, some things we develop in our Shiny, the other ones we develop in Vue and that&amp;#39;s for a reason because, the Vue application is more of a CRM kind of system, which is not really suitable for a Shiny application while our Shiny applications are more dashboard style, like teams.&lt;/p&gt;

&lt;p&gt;So yeah, the framework that you choose, can definitely limit what you can do with an application. So it is important. And obviously when a project grows and gets bigger and bigger, it might be very overwhelming and that doesn&amp;#39;t really matter which framework you&amp;#39;re using. But if your project grows, you need to make sure that you do within components, that you don&amp;#39;t repeat yourself, dry principle, and that you make it as manageable and efficient as possible.&lt;/p&gt;

&lt;p&gt;So even if you choose Shiny, if you choose Vue, if you choose Note, try to do it in components, try to split it up into smaller pieces to make it actually manageable. Component structure. Yes. I would definitely recommend that. And I think every framework nowadays supports that kind of structure. So I hope that answers the question. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Host:&lt;/strong&gt; Okay. Thanks for answering that. So we do have a couple more questions from Donjung, do you want to mute yourself or. I think, okay. I think he said in the chat that he would like me to ask the questions on his behalf. So this question is how do you ensure that users are always motivated to collaborate and provide feedback, especially if they&amp;#39;re the first time users? Do you provide compensation? If yes. What advice would you have to motivate your end users to get feedback? &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Veerle:&lt;/strong&gt; Do we provide compensation? No, we don&amp;#39;t. You get a lovely chat with us. That&amp;#39;s the compensation and you will get a product afterwards. So I think it&amp;#39;s great motivation, but then again, we have a very dedicated user base. That&amp;#39;s not the case if you&amp;#39;re developing for talents or for individuals. So to say, what I would then do if you&amp;#39;re doing survey-like things, I think it always works if you have like some kind of compensation for a survey, even though it&amp;#39;s maybe extra points in a savings account that you have, or, maybe it&amp;#39;s like an extra feature that&amp;#39;s being unlocked or a small thank you. What&amp;#39;d you can also do, even if you are talking with clients, do something simple, give them a Starbucks coffee, you know, you have like these online vouchers that you can do. Just give them a thank you. Say that you really value their feedback. And also try to motivate people by making a survey fund, you know, give feedback in a fun way.&lt;/p&gt;

&lt;p&gt;You often see like these things that you can give a smiley face or a very, very mad face. Do the things that people are intrigued to quickly do, don&amp;#39;t ask them like 7 billion questions and don&amp;#39;t put in requirements. Your text needs to be applying to 300 charters. Nobody&amp;#39;s going to make it a ton as possible. And I hope that that will motivate people to actually help you out. And also let people know what you did with that feedback, because nothing is more motivating for a user than if you said, okay, I want to see this feature that if you can say a couple of weeks later, Hey, we&amp;#39;ve built this for you. Go check it out. So try to keep track of who provided you actually with that feedback. Try to give that back to them. That&amp;#39;s a really nice way I think.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Veerle:&lt;/strong&gt; He had a follow-up question as well. Basically our experiments did using the UCD approach provides you with better outcome clarity on the design direction from one full fledged design or two specific pieces of design. We have to understand that our users might lack that attention, power with a patient schedule.&lt;/p&gt;

&lt;p&gt;That is certainly true. Well that, again, depends really on the context, you know, you might want to show the same user 3, 4, 5 different options of how the design could look like, which is obviously very heavy on the user because that takes a lot of time or are you going to divide your user base in hopefully deem well, graphically the same kind of samples, which you just provide with design A, B, C, D E you know. If you do debts on a statistically sound basis, you might get the answer that you&amp;#39;re looking for.&lt;/p&gt;

&lt;p&gt;But as it really depends on the context, how you can manage that best. If there are any follow-up questions, just let me know then another question from Steve that was sent to me. 
Question: What tools do you recommend for wireframes or sketching?&lt;/p&gt;

&lt;p&gt;I think wireframes is sketching. Figma is writing. Nice. And you also have mock-ups, Figma. I think maybe a bit more difficult to understand if you are not a UX designer, it&amp;#39;s not hard, but it requires a bit of skill and mock-ups, everybody can really do that. And if you don&amp;#39;t have access to mockups or Figma, you can also simply do stuffing comfort or something, you know?&lt;/p&gt;

&lt;p&gt;As long as you have a general idea, it doesn&amp;#39;t need to be perfect. Doesn&amp;#39;t need to be 100% accurate. As long as you have a general idea of what it&amp;#39;s going to look like. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Question:&lt;/strong&gt; Then a question. As a business side person, how can we ensure proper framework used by the developer? &lt;/p&gt;

&lt;p&gt;Well, I don&amp;#39;t know if a business person necessarily knows whether it&amp;#39;s the best framework, a business person. It depends on what kind of business side person and it is. I think you should leave the choice framework to the people who are actually have the most experience with frameworks. I would say developers, but again, this is a team effort. And as a team, you need to decide on the framework. Don&amp;#39;t let one person on the whole team say, okay, this is going to be the framework you need to all agree on the framework you&amp;#39;re going to use.&lt;/p&gt;

&lt;p&gt;And the framework you are going to use depending on a lot of things, the team skill that holds the data, all the things, as I mentioned, you know. Don&amp;#39;t let it be a one-man decision. And I, we are almost out of sight. I see if we are out of time. I have time for one question. One last question. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Question:&lt;/strong&gt; I am a software developer that has accumulated some technical depths, how do I find people to work with? &lt;/p&gt;

&lt;p&gt;How can you find people to work with? You can ask, like for freelancers who want to help you out, you can find, see if you can, like, I don&amp;#39;t know, reach out to connection or Codementor, probably.&lt;/p&gt;

&lt;p&gt;On Codementor, you have a lot of developers who might be able to help you out or assist you in your projects. If he had LinkedIn via social networking, just, there are a lot of developers out there and those developers who might be really team up with you. So we definitely take a look at these kinds of platforms for debts.&lt;/p&gt;

&lt;p&gt;That&amp;#39;s it. What I want to share with you. One last thing is, my LinkedIn. Please keep in touch with me. Send me a connection request or give me a follow. I occasionally share things about maybe to our programming language, but also about software developments and how we do things at our company.&lt;/p&gt;

&lt;p&gt;So if you think it&amp;#39;s interesting, please reach out there and then thank you very much for your time and for all your questions. And if you have any more questions that you want me to ask, which I couldn&amp;#39;t answer here, you can always reach out to me on LinkedIn. Thank you. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Host:&lt;/strong&gt; Awesome. Thanks so much for this amazing talk, Veerle. As for taking the time to answer everyone&amp;#39;s questions and stuff. Wonderful talk. And I personally learned a lot from this. So thanks again, everyone for joining our event and a huge thanks to our speaker, really for giving this talk today. So I hope everyone enjoyed this and stay tuned for our next event, which is titled how to overcome imposter syndrome in tech. It&amp;#39;s happening next week on December the third, if everyone is interested in joining that and I hope to see everyone there, we posted some information in that chat.&lt;/p&gt;

&lt;h2&gt;More about the developer virtual event&lt;/h2&gt;

&lt;p&gt;This event was hosted by Codementor events, a developer community and virtual events platform to share and learn new tools and concepts. Find out more about &lt;a href="https://www.codementor.io/events"&gt;Codementor events here -&amp;gt;&lt;/a&gt;&lt;/p&gt;
</content>
    <description>Veerle, Head of Data Science at Analytic Health shares about how to build software from scratch from a user-centric perspective. Full transcription of the talk attached. </description>
  </entry>
  <entry>
    <title type="html">Hosting virtual events for developers pt.2: Structure, slide decks, and event flow</title>
    <link rel="alternate" href="https://www.codementor.io/blog/developer-virtual-events-guide2-disafwxxav"/>
    <id>tag:www.codementor.io,2014:268</id>
    <updated>2024-10-31T06:24:08Z</updated>
    <published>2021-12-22T12:50:40Z</published>
    <pubDate>2021-12-22T12:50:40Z</pubDate>
    <author>
      <name>Jennifer Fu</name>
      <email>jennifer@codementor.io</email>
    </author>
    <dc:creator>Jennifer Fu</dc:creator>
    <enclosure url="https://ucarecdn.com/edd7cf81-4814-4d97-a916-efd35a0ac606/"/>
    <content type="html">&lt;p&gt;In the last two years, virtual events have gained a lot of traction and popularity. By removing the geographical constraints, developer virtual events are more accessible as anyone with access to the internet can attend or host their own events.&lt;/p&gt;

&lt;p&gt;The second part of this three-part blog series will provide you with our recommendations on how to:
- Prepare for your talk, 
- Create slide decks, and 
- Host engaging developer events. &lt;/p&gt;

&lt;p&gt;For more guidance on finding the right topic, target audience, event title, and event description, &lt;a href="https://www.codementor.io/blog/developer-virtual-events-guide1-dgzxdgnfmf?ref=speaker_blog_2"&gt;check out the first article&lt;/a&gt;. In this post, we&amp;#39;ll cover:&lt;/p&gt;

&lt;p&gt;[[TOC]]&lt;/p&gt;

&lt;h2&gt;Pick a focused topic and virtual event format&lt;/h2&gt;

&lt;p&gt;The best virtual events for developers are well-planned and executed. But before you can think about hosting an event, there’s some groundwork to do. Two crucial aspects of planning out a well-structured talk: picking a focused topic and coming up with a high level structure.&lt;/p&gt;

&lt;h3&gt;Pick a narrow topic for your developer event&lt;/h3&gt;

&lt;p&gt;You probably already have some ideas about what you want to talk about for your virtual event. The key is to &lt;strong&gt;decide what angle you want to take&lt;/strong&gt;. &lt;/p&gt;

&lt;p&gt;For technical developer events, you can talk about tech stacks, libraries, tools, best practices, or even bad practices you’ve seen. Your talks can also be career-focused, where you share about non-technical skills that developers should have to further their career.&lt;/p&gt;

&lt;p&gt;Whether it’s programming-focused or career-related events, there are endless topics you can speak on. The key is to narrow your topic down so you can:
- Explain your point of view and/or technical concepts in depth.
- Keep your audience engaged by sticking to the time.
- Allow enough time for the attendees to ask questions.&lt;/p&gt;

&lt;p&gt;When in doubt, a good place to start is with what you know — and what you’re comfortable talking about. As &lt;a href="https://www.codementor.io/events/building-software-from-scratch-d4hc46c6og?ref=speaker_blog_2"&gt;Veerle&lt;/a&gt;, Managing Direct and Head of Data Science at Analytic Health, shared:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;If you choose a topic that you’re already busy with on a day-to-day basis you will be able to talk practical as well and give meaningful examples (and it requires less time preparing because you already know most of it 😉).&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h3&gt;Select a virtual format&lt;/h3&gt;

&lt;p&gt;Next up is choosing the format that suits your online event. Some common formats for developer virtual events include:
- Presentations
- Interviews
- Live coding sessions
- Workshops (e.g. debugging, code review, etc.)
- Discussions (e.g. two speakers sharing different sides of a topic)&lt;/p&gt;

&lt;p&gt;This is linked to topic selection: as you’re narrowing down the focus of your talk, the format of your talk should become clearer as well. &lt;/p&gt;

&lt;p&gt;To keep your audience interested and engaged, here are some common formats and how long online events should be:&lt;/p&gt;

&lt;p&gt;&lt;img src="https://ucarecdn.com/6c334413-65a1-4462-a6a4-c619d1b587f1/" alt="how long should virtual events be"&gt;&lt;/p&gt;

&lt;h2&gt;Come up with a high level structure&lt;/h2&gt;

&lt;p&gt;Now that you’ve picked your event topic and format, you can start forming your event’s high level structure and some details. Make sure the talk includes:&lt;br&gt;
- One overarching idea you want to share
- Three to four points to support the main idea
- Real-world examples (for both technical and career-related topics)&lt;/p&gt;

&lt;p&gt;Short stories and anecdotes can also help you convey your ideas better. One way to break the ice is to start your online events with a short story that demonstrates how you’ve experienced the problem you’ll address. You can also end with a story that sums up your talk. But remember: if the stories aren’t directly relevant, cut them out!&lt;/p&gt;

&lt;p&gt;To help you get started, we’ll use two examples — one technical and one career-related — to demonstrate the process of developing a high level structure. Feel free to treat the following examples as your event program template or virtual event planner.&lt;/p&gt;

&lt;h3&gt;Virtual events structure example: Technical topic&lt;/h3&gt;

&lt;p&gt;Let’s say you’re a front-end developer who works with JavaScript. You have come across dependency injection a few times and think that it’s a bad practice. Your point of view might be: &lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;“JavaScript is not a purely class based language and is flexible and dynamic. Dependency injection forces you to use a class in JavaScript when you don’t need to.” &lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;To help your audience understand your point of view and find better alternatives to dependency injection, the 3-4 main sections of your talk could be:
- &lt;strong&gt;Define:&lt;/strong&gt; What is dependency injection
- &lt;strong&gt;Use cases/examples:&lt;/strong&gt; What are some examples of dependency injection
- &lt;strong&gt;Argument:&lt;/strong&gt; Why you shouldn’t use dependency injection
- &lt;strong&gt;Solutions/conclusions:&lt;/strong&gt; What are the alternatives to dependency injection&lt;/p&gt;

&lt;h3&gt;Online events structure example: Career-related topic&lt;/h3&gt;

&lt;p&gt;If you want to tackle a broad topic like “&lt;a href="https://www.codementor.io/blog/improve-programming-skills-d2ymtec4cl?ref=speaker_blog_2"&gt;How to improve your programming skills&lt;/a&gt;,” you have to spend a bit more time deciding on what to focus on. For demonstration purposes, let’s say you want to focus on junior developers, and from what you’ve experienced and seen, you think: &lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;“As junior developers, ramping up our programming skills to fit the company’s needs is crucial. In addition to traditional class-based learning, finding mentors can help us significantly in our learning journey.” &lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;In this case, the title of your online event might be be “The fastest way to learn programming as a junior developer.” Once again, you want to provide some basic information before you jump in. You also want to make sure to use real-world examples and pull from your own experience to make your talk more relatable and authentic. Here’s how you might structure this talk:
- &lt;strong&gt;Opinion/examples:&lt;/strong&gt; Why you need to improve your programming skills as a junior developer
- &lt;strong&gt;Status quo:&lt;/strong&gt; Learning resources for junior developers
- &lt;strong&gt;Experience:&lt;/strong&gt; How mentors fast-tracked my learning experience
- &lt;strong&gt;Conclusion:&lt;/strong&gt; Mix and match learning methods to improve your programming skills&lt;/p&gt;

&lt;p&gt;Regardless of the topic you choose, it’s crucial to flesh out your experience with tangible real-world examples. A clear structure helps your audience to follow along. With 3-4 key points, you should spend no more than 5 minutes on each. If you’re unable to keep it under 5 minutes, cut down on the number of points you address. You can always host multiple online events and turn them into a series.&lt;/p&gt;

&lt;h2&gt;Put together great slide decks for virtual events&lt;/h2&gt;

&lt;h3&gt;Why do you need slide decks for developer online events?&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://slidemodel.com/templates/tag/slide-deck/"&gt;Slide decks&lt;/a&gt; are the main content that guides your audience through your online event. They serve multiple purposes:
- Helps you remember key points
- Provides visual cues for your presentation
- Keeps things concise and on schedule
- Delivers (only the) necessary information &lt;/p&gt;

&lt;p&gt;Additionally, developers who attend tech conferences and talks often ask for copies of speakers’ slide decks before or after the presentation. As the presenter, you can decide if you want to share your slide decks. We&amp;#39;ll walk through how to create a slide deck for developer online events in this section.&lt;/p&gt;

&lt;h3&gt;How to organize your slides&lt;/h3&gt;

&lt;p&gt;If you’re a veteran speaker or have attended a lot of developer conferences and online events, you&amp;#39;re probably already familiar with creating engaging slide decks. But if you’re not sure how to organize your slides, here’s a general guideline for how your slides can be organized:&lt;/p&gt;

&lt;h4&gt;Introduction slides&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;1st slide: Title of your talk &lt;/li&gt;
&lt;li&gt;2nd slide: Short self-introduction&lt;/li&gt;
&lt;li&gt;3rd slide: Agenda of the event&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;Main section slides&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;~3 slides for each main section &lt;/li&gt;
&lt;li&gt;First slide: Title page for each section of your talk&lt;/li&gt;
&lt;li&gt;The other 2~3 slides: 

&lt;ul&gt;
&lt;li&gt;Questions, statements, or definitions&lt;/li&gt;
&lt;li&gt;Technical concepts or supporting stats to build up your case&lt;/li&gt;
&lt;li&gt;Sample code with the important parts highlighted&lt;/li&gt;
&lt;li&gt;Memes, gifs, data visualizations, and illustrations that convey your point&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;Wrap up slides&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;~1-2 slides&lt;/li&gt;
&lt;li&gt;Bullet point summary of what was covered in the talk&lt;/li&gt;
&lt;li&gt;A list of resources for your audience&lt;/li&gt;
&lt;li&gt;A meme or gif to close up the talk (if relevant)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Here’s a short list of some do’s and don’ts for building a great slide deck:&lt;/p&gt;

&lt;p&gt;&lt;img src="https://ucarecdn.com/fc54ad11-190d-4abe-a58c-53ae37707b02/" alt="Do&amp;#39;s and Don&amp;#39;ts for slide decks"&gt;&lt;/p&gt;

&lt;p&gt;You can always find slide deck templates to help you spend less time on design and more on delivering quality content for your online events!&lt;/p&gt;

&lt;h2&gt;Create engaging online events experience&lt;/h2&gt;

&lt;p&gt;Now that you’re finished with all the prep work, it’s time to host your online event! Here are some tips for every step of your online event to help you succeed.&lt;/p&gt;

&lt;h3&gt;Before the virtual event starts&lt;/h3&gt;

&lt;p&gt;For your audience to be able to follow, see, and hear you throughout the entire duration of your event, make sure your environment is optimized for hosting online events:
- Your Internet connection is stable
- Your camera and mic work, and set at a suitable distance/angle
- You’re at a spot that’s well-lit and quiet 
- Your background isn’t distracting&lt;/p&gt;

&lt;p&gt;Before your online event officially starts, join the virtual event meeting room to test out the software to make sure everything runs smoothly. If possible, ask a friend to join you virtually to double check the video and sound quality. Additionally, feel free to share your slides with your audience ahead of time so they can familiarize themselves with your talk and come up with questions before the event. &lt;/p&gt;

&lt;h3&gt;Starting your online event&lt;/h3&gt;

&lt;p&gt;Before you officially start your talk, you might want to give the attendees 2-3 minutes to join. About half of the audience will join either early or on-time, while the other half will join within 3-5 minutes of the official start time. While you’re waiting for other attendees to join, here are some things you can do to keep your audience engaged:
- Play some background music to lighten up the mood
- Let your audience know you’ll start the event in 2-3 minutes
- Ask the attendees a question or two verbally and in the chat, some examples include:
   - Where is everyone joining from?
   - What do you hope to learn from this event? 
   - What is the biggest challenge you’re currently facing at work?
- Explain how you’ll run the event and Q&amp;amp;A to your attendees
- Post important information and announcements in chat (e.g. code of conduct, Q&amp;amp;A format, GitHub repo, links, etc.)&lt;/p&gt;

&lt;p&gt;Once you’re ready to start, turn off your background music and let the crowd know the online event will be starting soon.&lt;/p&gt;

&lt;h3&gt;During your virtual event&lt;/h3&gt;

&lt;p&gt;For the most part, you’ll be focused on presenting and speaking. But since you’ll also be answering questions and hosting the event, there are some additional things you want to keep in mind. &lt;/p&gt;

&lt;h4&gt;For presenting:&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;Be careful not to speak too fast&lt;/li&gt;
&lt;li&gt;Make sure you’re engaged and excited&lt;/li&gt;
&lt;li&gt;Avoid mic static but make sure your audience can hear you&lt;/li&gt;
&lt;li&gt;Try not to read off of your screen &lt;/li&gt;
&lt;li&gt;Speak to your audience like you would at in-person events&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;For hosting:&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;Admit attendees if your virtual meeting room is not public&lt;/li&gt;
&lt;li&gt;Keep an eye on the chat for incoming comments and questions&lt;/li&gt;
&lt;li&gt;Default your attendees to mute if you don’t want intrusions during your talk&lt;/li&gt;
&lt;li&gt;Use your phone’s timer to pace yourself&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;For Q&amp;amp;A:&lt;/h4&gt;

&lt;p&gt;If you’d like all questions to be answered at the end of the talk, remind your audience that you’ll address the questions at the end and ask them to add their questions to chat if they’d like to. If you want your virtual event to be more interactive, pause at the end of each section to ask the attendees if they have any questions.&lt;/p&gt;

&lt;p&gt;Regardless of the format you choose, when it’s time for the last question, remember to let the event attendees know.&lt;/p&gt;

&lt;h3&gt;Ending the online event&lt;/h3&gt;

&lt;p&gt;After you’ve answered the last question, you can naturally segue into the closing part of the virtual event. &lt;/p&gt;

&lt;p&gt;Thank the audience for joining and send them important links in the chat (e.g. social media, GitHub repos, future online events, etc.). If there are any unanswered questions, remind the attendee to post their questions in the event page comment section. Before you officially end the meeting, make sure to let the crowd know that the event is over. Here are some friendly phrases you can use to end the talk: 
- That’s all for today, thanks for joining me and feel free to comment on the event page with any questions! 
- That’s it for our event today, feel free to message me on Twitter if you have any questions!
- That’s a wrap for today! Thanks for joining and see you soon.&lt;/p&gt;

&lt;p&gt;Once attendees start leaving the virtual meeting room, you can end the meeting for all. There are some other follow ups to do after you finish your online events, but for now, take a break, go on a jog, or celebrate a bit for successfully hosting a great online event!&lt;/p&gt;

&lt;h2&gt;Wrap up &amp;amp; next steps&lt;/h2&gt;

&lt;p&gt;We’ve just walked you through preparing for and hosting a developer online event. By narrowing down your topic and setting the high-level structure, you’re able to focus your talk so it conveys your knowledge and sharing in the most effective way. You can also share the event recordings so other developers can continue to learn and be inspired by the event.&lt;/p&gt;

&lt;p&gt;In the next and last part of this three-part series, we’ll share more about promoting your online events and engaging with your audience after the event. If you’re not sure how you can promote your events to the right developers, the last blog post will provide you with some tips and walk you through how Codementor Events will help with that. &lt;/p&gt;

&lt;p&gt;If you’re ready to share your experience with other developers, create events and &lt;a href="https://www.codementor.io/events/create/about-the-event?ref=speaker_blog_2"&gt;become a Codementor Events speaker now&lt;/a&gt;!&lt;/p&gt;
</content>
    <description>Get hands on guidance on how to structure your developer talk, create great slide decks, and host engaging developer online events.</description>
  </entry>
  <entry>
    <title type="html">Hosting virtual events for developers pt.1: Audience, topic, event title, &amp; event description</title>
    <link rel="alternate" href="https://www.codementor.io/blog/developer-virtual-events-guide1-dgzxdgnfmf"/>
    <id>tag:www.codementor.io,2014:267</id>
    <updated>2022-01-06T12:13:19Z</updated>
    <published>2021-12-15T10:09:11Z</published>
    <pubDate>2021-12-15T10:09:11Z</pubDate>
    <author>
      <name>Jennifer Fu</name>
      <email>jennifer@codementor.io</email>
    </author>
    <dc:creator>Jennifer Fu</dc:creator>
    <enclosure url="https://ucarecdn.com/aea03492-7418-4248-b4e9-eaa03e559c83/"/>
    <content type="html">&lt;p&gt;Most developers have attended at least a few tech events or virtual conferences. Some of you may have sat in your seats and thought to yourself “I have the expertise to talk about this as well.” With the rise of virtual events, you can share your knowledge and experience more easily with more developers.&lt;/p&gt;

&lt;p&gt;Of course, not all virtual event platforms are created equal for developer events—before deciding where to host your virtual events, make sure the platform has your target audience. For instance, &lt;a href="https://www.codementor.io/events?ref=speaker_blog_1"&gt;Codementor Events&lt;/a&gt; has a vibrant developer community with 100K+ developers. If you’re looking for virtual events platform with developer audiences, this could be a great fit for you. You can do some research on which virtual events platforms are more suitable for your virtual event ideas.&lt;/p&gt;

&lt;p&gt;Before we dive into the details of planning your virtual event, let’s start by talking about why you may want to speak at virtual events. We’ll then walk through deciding on the right topic for the right audience and how you can make your event title and descriptions relatable and attention-grabbing. &lt;/p&gt;

&lt;p&gt;[[TOC]]&lt;/p&gt;

&lt;h2&gt;Why should I speak at developer virtual events?&lt;/h2&gt;

&lt;p&gt;Similar to writing blog posts or contributing to open source, speaking at online events is a way for you to share knowledge. Not only are developer virtual events great for knowledge sharing, they’re also great for community building and personal growth.&lt;/p&gt;

&lt;h3&gt;Own and reinforce your knowledge&lt;/h3&gt;

&lt;p&gt;Regardless of seniority and years of experience, every developer has something unique to offer. Whether it’s how you found a job after finishing a coding bootcamp or how your team uses microservices for back- and front-end, you’ll have unique perspectives, knowledge, and tips to share. The best way for you to validate what you know is to teach it to someone else. Preparing and speaking at virtual events give you the opportunity to articulate and solidify your knowledge.&lt;/p&gt;

&lt;h3&gt;Practice sharing your experience and knowledge with others&lt;/h3&gt;

&lt;p&gt;Some dev teams have regular sharings, where every developer is encouraged to share something new they’ve learned. However, not every developer has built-in communities to do so. The process of prepping, speaking, and getting feedback at your own virtual events gives you the opportunity to refine your knowledge and practice sharing concisely and effectively.&lt;/p&gt;

&lt;h3&gt;Help others learn from your experience via virtual events&lt;/h3&gt;

&lt;p&gt;No matter where you are in your programming journey, there are developers who are either in the same place as you or want to be where you are. Sharing what you know about technical tools, libraries, languages, and best practices can help other developers ramp up their technical skills exponentially. Sharing your career progression, blockers, and resources can help others grow in their careers and remove feelings of anxiety and uncertainty. Regardless of the nature of your virtual event topic, as long as you know who can benefit from your online event, there are no irrelevant experiences.&lt;/p&gt;

&lt;h3&gt;Build your personal brand and network&lt;/h3&gt;

&lt;p&gt;If you’re interested in broadening your network and building a more prominent online presence, hosting virtual events on reputable platforms can go a long way. You’re likely to gain a dozen or more LinkedIn, Twitter, and GitHub connections with other like-minded developers who have resources to share, common interests, or want to learn from you.&lt;/p&gt;

&lt;p&gt;Developer virtual events are one of the most accessible ways for developers to connect, learn, and share knowledge and experience. To maximize the benefits of virtual events for both you and your virtual attendees, identifying the right audience, topic, event title, and event descriptions is crucial. We’ll address each of these aspects in the following sections.&lt;/p&gt;

&lt;h2&gt;How do I choose the right topic for my virtual events?&lt;/h2&gt;

&lt;p&gt;While all experiences are valuable, your experience may speak to some more than others. As such, it’s important to identify the kinds of developer you think would benefit from your virtual events sharing the most. By narrowing down on your target audience, virtual event ideas, and cadence, you’ll be able to share your knowledge with the right group of developers.&lt;/p&gt;

&lt;p&gt;To help you narrow in on developers who will learn from your talk, here are some ways you can think about different groups of developers:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Career stage:&lt;/strong&gt; aspiring, junior, mid-level, senior developers, tech leads, etc.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Types of developer:&lt;/strong&gt; front-end, back-end, full stack, DevOps, Android, iOS, etc.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Industries &amp;amp; products:&lt;/strong&gt; B2B, B2C, fintech, e-commerce, healthcare, etc.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Let’s say you want to take the technical route and share about Node.js at virtual events. Front-end, back-end, and full stack developers could all benefit from this topic. With that said, it could be too ambitious and ineffective to try to capture front-end, back-end, and full stack developers’ pain points in one talk. As an example, let’s choose back-end developers as the focus for this topic. Here are some potential event topics that are focused:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;7 Steps to learn Node.js as a beginner&lt;/li&gt;
&lt;li&gt;Live coding: Build a chat app using Node.js&lt;/li&gt;
&lt;li&gt;Scaling enterprise software with Node.js&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The first topic could be helpful for aspiring and junior developers. The second and third topics could apply to junior, mid-level, or senior developers based on how you frame your talk. If you have more than one idea you&amp;#39;d like to share, try framing them into a series of talks rather than cramming it all into one. In the next section, we’ll talk about the steps to writing a clear and informative event title for event planning.&lt;/p&gt;

&lt;h2&gt;What does a good event title look like?&lt;/h2&gt;

&lt;p&gt;Depending on the nature of your topic, the title of your virtual events could vary widely. For instance, if you want to host a technical talk, your virtual event title should include the key technologies, concepts, or tech stacks you’ll share about. On the other hand, if you’re planning a more career-related talk, your title should address the issues, pain points, or challenges you’ll speak to.&lt;/p&gt;

&lt;p&gt;We’ll use a career-focused topic to illustrate how you might go from a general topic to a specific title for your talk. Let’s say you’re a tech lead and want to share insights on how to be a good tech lead. With “tech lead” as the central theme, here are a few virtual events titles that captures different facets of being a tech lead:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Effectively managing a 15+ people developer team&lt;/li&gt;
&lt;li&gt;How to interview and find the right developers for your team&lt;/li&gt;
&lt;li&gt;Personal time management for tech leads&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;While all three topics are relevant to tech leads and aspiring tech leads, focusing your talk on one specific topic will allow you to dig deeper into each pain point and deliver precise advice to your audience at virtual events.&lt;/p&gt;

&lt;p&gt;Regardless of the topic you choose, here are some tips on coming up with a relevant and eye-catching virtual event title when you&amp;#39;re doing event planning:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Clearly state the tech stacks (for technical events)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Highlight the problems you&amp;#39;ll provide solutions for&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Provide the concepts, tools, or solutions you’ll be sharing&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Concisely summarize what the audience can expect&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Google for title inspirations&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Now that you’ve caught the attention of your audiences’ eyes with the right event title, the next thing is to write a compelling event description to encourage attendees to join your virtual event.&lt;/p&gt;

&lt;h2&gt;How to write an event description for developer virtual events&lt;/h2&gt;

&lt;p&gt;Not many virtual event platforms provide structures for writing event descriptions. We&amp;#39;ve created the following structure to help you attract attendees effectively. To make your event description more scannable and enticing to potential event attendees, here’s the structure we suggest:&lt;/p&gt;

&lt;h4&gt;&lt;strong&gt;About the talk:&lt;/strong&gt;&lt;/h4&gt;

&lt;p&gt;The purpose of this section is to connect with potential virtual attendees by highlighting the problems they’re faced with and the solutions you’ll offer. 
- Present the problem you’ll address with a short anecdote in the first sentence.
- Use another 1-2 sentences to expand on the pain points, how you can help your audience tackle them, and who would benefit from the event.&lt;/p&gt;

&lt;h4&gt;This talk will cover&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;Use 3-4 bullet points to list out the agenda of your talk.&lt;/li&gt;
&lt;li&gt;Be specific about what each section will address&lt;/li&gt;
&lt;li&gt;Highlight unique formats you&amp;#39;ll use for your online event (e.g. live coding, code review, debugging, workshop)
#### &lt;strong&gt;About the speaker&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;Include your current role and company for your headline&lt;/li&gt;
&lt;li&gt;Highlight relevant work experience or other projects in your bio (e.g. open source advocate, career counselor, lecturer, etc.)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;From deciding your virtual events topic and target audience, to coming up with your event title and event description, the goal is to attract developers who would benefit from your knowledge and experience. The three different sections attract event attendees through stories and pain points, clear content of the talk, and the experience and passion you can bring them. In the next section, we&amp;#39;ll walk through two event description examples to help concretize event description writing more.&lt;/p&gt;

&lt;h2&gt;Event description examples for inspirations&lt;/h2&gt;

&lt;p&gt;To help you write the description for your talk, here are two virtual event description examples: &lt;/p&gt;

&lt;h3&gt;Tech talk event description example&lt;/h3&gt;

&lt;p&gt;&lt;img src="https://ucarecdn.com/db2eb1b7-2a47-42f5-a3b9-a2a803590da6/" alt="Codementor Events React and Typescript"&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Source: &lt;a href="https://www.codementor.io/events/react-with-typescript-ddzznxuno4?ref=speaker_blog1"&gt;Codementor Events - Best Virtual Events for Developers&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Sylvana’s virtual event description is a great example for a tech talk because it speaks to the challenges of adopting TypeScript as a React developer, flesh out the benefits of using TypeScript, and offers live coding as a solution to help React developers pick up TypeScript faster. Furthermore, the speaker’s bio makes her relatable and trustworthy. Get some inspiration from Sylvana&amp;#39;s event website &lt;a href="https://www.codementor.io/events/react-with-typescript-ddzznxuno4?ref=speaker_blog1"&gt;here&lt;/a&gt;.&lt;/p&gt;

&lt;details&gt;&lt;p style="font-family:open sans, sans-serif"&gt;&lt;summary&gt;Sylvana's virtual event description&lt;/summary&gt;&lt;/p&gt;



#### **About the talk**
When React developers first adopt TypeScript into their projects, it can feel more like a burden than a help. In this talk, we’ll break down the fundamentals of TypeScript and demonstrate how it can increase productivity, enforce self-documentation, encourage best practices, and help you refactor with confidence.



#### **This talk will cover**
- Basics like type inferences, type annotations, and interfaces

- How TypeScript catches bugs in your code and provides smart suggestions

- Live coding to demonstrate how to build out a React component using TypeScript



#### **About the speaker**
After a few years of working as a science teacher, Sylvana transitioned into web development in an effort to provide quality education to all learners. Following her graduation from a coding bootcamp, she began an apprenticeship at Codecademy and is now a full-time software engineer at the company.



#### **Speaker Headline**
Sylvana Santos: Software Engineer at Codecademy working to provide quality education to all.

&lt;/details&gt;

&lt;p&gt;&lt;br&gt;&lt;/p&gt;

&lt;h3&gt;Career talk virtual event description example&lt;/h3&gt;

&lt;p&gt;&lt;img src="https://ucarecdn.com/6cd146d7-2e64-4f8f-9d47-6132d0878188/" alt="Codementor Events Imposter Syndrome"&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Source: &lt;a href="https://www.codementor.io/events/overcome-imposter-syndrome-in-tech-da7rzauj6a?ref=speaker_blog1"&gt;Codementor Events - Best Virtual Events for Developers&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Rahul’s virtual event description is also a great example, especially for a career related talk. The “About the talk” section features anecdotes that speak to the challenges of imposter syndrome and ends with an encouragement. “The talk will cover” clearly presents what the audiences can expect. Rahul’s speaker bio also shows both his professional background and passion for helping people succeed in their careers. Combined, the event description is effective, short, and sweet. Visit the &lt;a href="https://www.codementor.io/events/overcome-imposter-syndrome-in-tech-da7rzauj6a?ref=speaker_blog1"&gt;event website&lt;/a&gt; to check out Rahul&amp;#39;s event description.&lt;/p&gt;

&lt;details&gt;&lt;p style="font-family:open sans, sans-serif"&gt;&lt;summary&gt;Rahul's virtual event description&lt;/summary&gt;&lt;/p&gt;


#### About the talk
Whether you've just joined a new company or have been in a company for years already, new people, tools, and code will continue to emerge. Every time something new pops up, you're faced with a new challenge. Are you really cut out to be a software engineer? The answer is yes, and the feeling of being lost is something that every engineer faces, regardless of years of experience.

  

#### This talk will cover
Tactical ways to mitigate the impacts of imposter syndrome, specifically:

- How to think about imposter syndrome in a new, or old, company

- The “cold-start algorithm” to quickly ramp up on a new role

- How to help others overcome imposter syndrome


#### About the speaker
Rahul Pandey is a Tech Lead at Facebook, Stanford Lecturer, and YouTuber with 24K+ subscribers who are accelerating their career in tech. He also runs a community called Tech Career Growth to help people succeed in the industry.

#### Speaker Headline

Tech Lead at Facebook, Stanford Lecturer, and YouTuber with 24K+ subscribers

&lt;/details&gt;

&lt;p&gt;&lt;br&gt;&lt;/p&gt;

&lt;h2&gt;Conclusion: What’s next?&lt;/h2&gt;

&lt;p&gt;There are many benefits to speaking at a developer virtual events, but the primary goal is to make programming knowledge more accessible to all. If you’ve never spoken at developer virtual conferences or virtual events before, the thought of public speaking may be a little daunting. However, with this blog series and some practice, you’ll be able to share your experience confidently and host successful online events in no time.&lt;/p&gt;

&lt;p&gt;If you’re ready to share your experience with others, and speak at an event virtually, &lt;a href="https://www.codementor.io/events/create/about-the-event?ref=speaker_blog_1"&gt;become a Codementor Events speaker now&lt;/a&gt;! If you’re not quite ready yet, we’ll walk you through preparing for your talk and hosting successful virtual events in the next part of this three-part series.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.codementor.io/events/create/about-the-event?ref=speaker_blog_1"&gt;Submit your virtual event ideas to Codementor Events →&lt;/a&gt;&lt;/p&gt;
</content>
    <description>Successful developer virtual events take planning. Gain insights on identifying the right audience and topic, and nailing your event title and description.</description>
  </entry>
  <entry>
    <title type="html">What Is Programmer Imposter Syndrome and How To Overcome It</title>
    <link rel="alternate" href="https://www.codementor.io/blog/imposter-syndrome-deypemtirw"/>
    <id>tag:www.codementor.io,2014:266</id>
    <updated>2021-12-13T06:03:03Z</updated>
    <published>2021-12-07T06:04:15Z</published>
    <pubDate>2021-12-07T06:04:15Z</pubDate>
    <author>
      <name>Christine Shu</name>
      <email>christineshu@codementor.io</email>
    </author>
    <dc:creator>Christine Shu</dc:creator>
    <enclosure url="https://ucarecdn.com/00b5a942-aed2-4709-80c3-9be3f45ad36b/"/>
    <content type="html">&lt;p&gt;Have you ever felt immense fear and doubt that your colleagues might find out you are just a fraud and you really have no idea what you are coding everyday? If you’ve ever doubted your own programming ability or performance at work, you are not alone. When &lt;a href="https://www.teamblind.com/blog/index.php/2018/09/05/58-percent-of-tech-workers-feel-like-impostors/"&gt;Blind&lt;/a&gt; surveyed over 10,000 participants they discovered 58% of tech employees experience imposter syndrome. As high as 73% of employees at &lt;a href="https://www.techrepublic.com/article/why-58-of-tech-employees-suffer-from-imposter-syndrome/"&gt;Expedia&lt;/a&gt; experience this at some point in their career. Let’s dig into why imposter syndrome is so prevalent in software development and the different ways you can tackle imposter syndrome. &lt;/p&gt;

&lt;p&gt;[[toc]]&lt;/p&gt;

&lt;h2&gt;Why is programmer imposter syndrome so common?&lt;/h2&gt;

&lt;p&gt;&lt;img src="https://ucarecdn.com/acfc5abc-a4b3-4931-a31a-bd7e16480e18/" alt="programmer_imposter_syndrome.gif"&gt;&lt;/p&gt;

&lt;p&gt;While imposter syndrome isn’t something only people in tech experience, it is amplified for programmers. Not only is the tech industry &lt;strong&gt;intensely fast paced&lt;/strong&gt;, software development is a field that is constantly expanding and evolving. New technologies and tools roll out by the day. As a software engineer, you feel pressure to keep up or even stay ahead. Another reason software developers experience imposter syndrome more intensely might be the &lt;strong&gt;unrealistic perception of people in tech&lt;/strong&gt;. Tech giants, star entrepreneurs, and key opinion leaders are often portrayed as brilliant, informed, and knowledgeable individuals. To fit the persona of someone working in tech, you need to appear extra smart and always on top of things to live up to the image. &lt;/p&gt;

&lt;p&gt;We interviewed fellow developers to find the most common imposter syndrome scenarios: &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Being promoted or leading a team/project&lt;/strong&gt;: I was asked to step up to lead the engineering team. As things go on and issues start appearing, I worry that I am underprepared and that I’m not living up to the expectations.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Non-traditional CS background&lt;/strong&gt;: I graduated from a coding bootcamp, before that I was in the finance sector. I worked really hard in putting my portfolio together and preparing for technical interviews, eventually landing a job as a junior developer at a major company. However, from the day I got hired, I’ve constantly been in self doubt and wondered if I’d ever be as good as my colleagues with proper computer science training.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Comparing with your peers&lt;/strong&gt;: I’m constantly playing catch up with my colleagues. They always seem to know how best to structure their code and the process goes smoothly for them in general. For me, I always get called out on issues during QA. I feel like I’ll always be a junior developer compared to them.&lt;br&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Staying relevant in the industry&lt;/strong&gt;: I attended a tech conference and learned about the latest updates and developments. Though it was very interesting, I worry that I don’t have the capacity to learn all the new tools and the tools I’m familiar with will eventually become irrelevant. &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If you’ve experienced a similar situation that made you feel you’re not skilled enough, don’t stress, the following few tips will help you manage imposter syndrome.&lt;/p&gt;

&lt;h2&gt;How to deal with programmer imposter syndrome&lt;/h2&gt;

&lt;p&gt;&lt;img src="https://ucarecdn.com/daa38cbb-7291-46f3-af3c-cce2d2558f6f/" alt="programmer_imposter_syndrome_comfort_zone.gif"&gt;&lt;/p&gt;

&lt;h3&gt;👉 You can never be an expert, be comfortable with the uncomfortable&lt;/h3&gt;

&lt;p&gt;Tech is a fast-changing industry. You might be learning Pycharm today just to learn that everyone else is switching over to Spyder. You mastered Angular, yet you’re still not quite a JavaScript expert because there’s also Node.js, Vue.js, React, and more frameworks that you’re unfamiliar with. New programming languages, frameworks, and tools evolve and pop up so quickly, it feels impossible to keep up.&lt;/p&gt;

&lt;p&gt;The reality is simple. It is &lt;strong&gt;impossible&lt;/strong&gt; to stay on top of everything. Techology evolves so quickly - no one can truly grasp all technologies and concepts. While some might be faster learners and experience flatter learning curves than others, it is impossible for everyone to master everything.&lt;/p&gt;

&lt;p&gt;You’re also not expected to keep up with everything. A good tip is to learn to filter out what updates you actually need for your work or side projects. That way you&amp;#39;ll stay informed but not overwhelmed. &lt;/p&gt;

&lt;p&gt;We all have comfort zones where we feel most safe and secure. When you’re in uncharted territory, it’s natural to feel overwhelmed. “Imposter syndrome happens when you’re in your comfort zone, and you’re picked up and placed in a ring that’s not adjacent to the inner circle,” says Mayuko, ex-Netflix software developer and full-time Youtuber. When you are outside of your comfort ring, that’s when imposter syndrome kicks in. &lt;/p&gt;

&lt;p&gt;&lt;img src="https://ucarecdn.com/83cc5c1e-9e77-49fe-9f28-3b5dded388a3/" alt="programmer_imposter_syndrome_confort_zone.png"&gt;&lt;em&gt;Source: PositivePsychology.com ‘&lt;a href="https://pro.positivepsychology.com/tools/leaving-the-comfort-zone/"&gt;Leaving The Comfort Zone&lt;/a&gt;’ Toolkit&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;As part of the age-old fight or flight process, if you let imposter syndrome scare you, you’ll likely avoid the situation instead of finding a solution. But if you get comfortable with the uncomfortable, and see the unfamiliar as challenges, you &lt;strong&gt;can and will&lt;/strong&gt; overcome the fear. You’ll eventually learn the new technology, get over the obstacles, acquire new knowledge, and meet new goals.&lt;/p&gt;

&lt;p&gt;How do I get comfortable with the uncomfortable though? Let’s break this down into a few simple steps: &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Accept and begin&lt;/strong&gt;: When you’re faced with a new tool or project, instead of panic and stress, take a deep breath and read through all the information and briefs available. Prepare your heart to accept the new challenge and begin to work on it. You are halfway there once you make the commitment to start. &lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Push through&lt;/strong&gt;: To not give up in the midst of learning something new could arguably be the hardest thing to do! Keep pushing through the learning curve and eventually push past your comfort zone, and everything will get easier from there. &lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Repeat the process&lt;/strong&gt;: The more you do it, the more you’ll be accustomed to the process. It’s uncomfortable to start anything new, it’s uncomfortable to push through, but your confidence can be built up through practice and repetition. &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Learning is a lifelong journey, consider it an opportunity to expand your comfort zone when you are presented with new challenges. Your ability to recognize your shortcomings or lack of technical skills is actually a good sign that you are driven to upskill and grow.&lt;/p&gt;

&lt;p&gt;As a software developer or someone working in tech, you will never be an expert of everything. Recognizing that discomfort and adaptability are the keys to growth can take you a long way in your personal and technical development.&lt;/p&gt;

&lt;h3&gt;👉 Identify your fears and doubts and make a plan to work on them&lt;/h3&gt;

&lt;p&gt;The hardest part of dealing with imposter syndrome is not knowing what’s triggering it. Was it when other developers on the team shared a recent discovery of a new tool? Or maybe you saw a side project your colleagues did for the company? Accumulated incidents could leave you sitting there, wondering what you’ve contributed lately, or even if you’re needed. &lt;/p&gt;

&lt;p&gt;To tackle the generic feeling of being an imposter, the first step is to identify what triggers the negative emotions. Try to pinpoint the specific projects, conversations, or maybe even the people who made you feel insecure. For example, you finished coding a new product feature and felt confident with the results. After a ruthless code review by a senior developer, the overwhelming feedback left you wondering how the code had such a large amount of flaws. If imposter syndrome takes over, you may question your competency, or worse, whether being a developer is the right career path for you.&lt;/p&gt;

&lt;p&gt;How did you go from being confident in your work to feeling like a fraud? Was it receiving feedback you weren’t expecting? Was it that you finally felt competent at work just to realize that there’s still a lot to learn? Or was it you felt like you still lack technical skills compared to your peers?&lt;/p&gt;

&lt;p&gt;If you can’t find specific instances that triggered the feeling of being an imposter, see if deeper insecurities such as fear of being judged by others, unhealthy comparisons, and unrealistic expectations are the root causes. &lt;/p&gt;

&lt;p&gt;Once you’ve identified the triggers, you can target them and learn how to deal with them:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Practice makes perfect, but no code will be perfect.&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The only way to continue to &lt;a href="https://www.codementor.io/blog/improve-programming-skills-d2ymtec4cl"&gt;improve your technical skills&lt;/a&gt; is with practice. Practice, receive feedback, iterate, and repeat. This is all part of the process to becoming a better programmer. If you feel like you failed a project, it may be a humbling experience to know that there is always room for growth, no matter how good you think your code is.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Understand that the feedback your peers and managers provide is constructive feedback and not judgmental.&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Your colleagues perform code reviews with the intention to help you improve instead of bringing you down. They want you to be able to pull your own weight and grow as a developer. It is good practice to receive feedback and is also something that you can do to help junior developers in the future. &lt;/p&gt;

&lt;p&gt;Once you are able to identify the fears, make a plan to tackle these insecurities. Try verbalizing your concerns and fears early so you won’t dwell in it for too long. Reflect on your past experience and take notes on what you can do next time when you encounter similar feelings. Proactively facing your fears helps you move forward without being hindered by the overwhelming sense of insecurity. &lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Verbalizing your fears makes it real but at least you are facing it - &lt;a href="https://www.youtube.com/watch?v=DYPdsCN69lc&amp;ab_channel=mayuko"&gt;Mayuko, Youtuber&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h3&gt;👉 Trust the decisions and positive feedback&lt;/h3&gt;

&lt;p&gt;&lt;img src="https://ucarecdn.com/e7d9c83b-9675-4219-bdea-5d010346ac74/" alt="programmer_imposter_syndrome_trust.gif"&gt;&lt;/p&gt;

&lt;p&gt;You recently got promoted to Engineering Manager. As you start in this new role, you feel overwhelmed by the increased responsibilities. Your work suddenly goes beyond writing code, you have to take into consideration hiring, prioritizing, assigning tasks, and building team culture, etc. You can’t help but question if you’re cut out for the managerial role.&lt;/p&gt;

&lt;p&gt;If your company decided to promote you or have you take on more responsibility, they’ve made this decision based on your previous experience, feedback from your peers, and the potential they see in you. These are not decisions that are made lightly. Trust that your company has systems in place to reward accomplishments and that they believe in your ability or have the vision for you to grow into the role. &lt;/p&gt;

&lt;p&gt;If you still feel like an imposter, one of the things you can look for and reflect on is how others see you at work. In any discussion, if your coworkers care and value your opinion, you can be certain that you are not only a valuable team member, but also someone others look up to. &lt;/p&gt;

&lt;p&gt;Trust that your company and colleagues have your best interest and are there to help and uplift you in your career. &lt;/p&gt;

&lt;h3&gt;👉 Check in with your peers or manager&lt;/h3&gt;

&lt;p&gt;Imposter syndrome doesn’t only hit when you get a promotion or when you’re in leadership. We asked our community if they still feel like an imposter even with years of experience under their belt, and based on this &lt;a href="https://twitter.com/CodementorIO/status/1463735447704670212"&gt;Twitter poll&lt;/a&gt;, &lt;strong&gt;80%&lt;/strong&gt; said that they still experience imposter syndrome. It could happen at the beginning of your developer career, in the middle of an ongoing project, or even after a successful project.&lt;/p&gt;

&lt;p&gt;&lt;img src="https://ucarecdn.com/8154f146-7d58-4c54-95f7-b326e84d8e72/" alt="imposter_syndrome_twitter_poll.png"&gt;&lt;/p&gt;

&lt;p&gt;As a junior developer that graduated from a bootcamp, you may feel less qualified than others because you don’t have a traditional computer science background. When you’re working on a project, you may fear that others will perceive you as a rookie. When your colleagues pass your desk, and you have tons of Stack Overflow tabs up, you may feel like you’re the only one who doesn’t understand everything. &lt;/p&gt;

&lt;p&gt;The truth is, you are your own worst enemy when it comes to feeling like an imposter. Other people may not view you that way at all. The fastest way to get yourself out of the negative mindset is to speak with trusted peers and managers. They might be able to offer encouragement from personal experience or provide constructive feedback on what you’ve done well and what you can continue to improve on. They may even be able to straight up tell you everyone thinks you’re doing a fantastic job already.&lt;/p&gt;

&lt;p&gt;Checking in with someone helps to free up this irrational thought and be able to carry on for what comes next with confidence. &lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;When you are unsure about your objective performance and are having self deprecating thoughts, it’s helpful to ask for feedback from your colleagues or manager. Their objective feedback would help stop the downward spiral. - Ting, Front-end Developer at Codementor.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;em&gt;Related article: &lt;a href="https://www.codementor.io/blog/first-dev-job-d4gnhyc0bp"&gt;4 Challenges You Might Face in Your First Developer Job and How to Overcome Them&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

&lt;h3&gt;👉 Give yourself the credit you deserve&lt;/h3&gt;

&lt;p&gt;&lt;img src="https://ucarecdn.com/54ad4264-f000-4f84-b8fd-6552699266d3/" alt="programmer_imposter_syndrome_deserve.gif"&gt;&lt;/p&gt;

&lt;p&gt;The level you have reached is because of the effort, passion, and hard work you’ve put into becoming the developer you are today. Regardless of years of experience, there will always be people more experienced than you and more things you don’t know. That doesn’t mean you’re not where you’re supposed to be. &lt;/p&gt;

&lt;p&gt;Take a deep breath and reflect on what you’ve accomplished so far as a software developer or list out what you’ve done in the past year. You will be surprised by how far you’ve come. Give yourself the credit you deserve and a pat on the back. &lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Go to your github. Find code you committed as close as possible to one year ago today. Marvel at the stupidity, and be proud of how far you&amp;#39;ve come. - &lt;a href="https://www.reddit.com/r/learnprogramming/comments/q88xvx/protip_to_fight_imposter_syndrome/"&gt;u/thumbtackthief, Reddit.&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;Conclusion&lt;/h2&gt;

&lt;p&gt;If you’re a software developer who is currently struggling to see your purpose or value at work, it is okay! There are many who experience programmer imposter syndrome just like you, even technical founders and CEOs. &lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;“You’d think I know what I am doing everyday when I go to work, but let me let you in on something, most days, I still feel like I often don’t know what I am doing. I’ve felt that way for 15 years. And I’ve since learnt that this feeling is called impost syndrome.” Mike Cannon-Brookes, co-founder of Atlassian (&lt;a href="https://tedxsydney.com/talk/imposter-syndrome-mike-cannon-brookes/"&gt;TEDxSydney&lt;/a&gt;).&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Keep an open mind and don’t let the feeling overtake your technical performance and personal emotion. Try to be comfortable with the uncomfortable, identify your fears and make a plan, trust the decisions and feedback of others, check in with your colleague or manager, and lastly, give yourself the credits you deserve. &lt;/p&gt;

&lt;p&gt;We want to hear about your experience. Do you still encounter imposter syndrome? What methods do you use to manage these feelings? Comment below! &lt;/p&gt;
</content>
    <description>The feeling of being an imposter is not uncommon for software developers. You are not alone in this journey. Let's look into how you can get a hold of this feeling! </description>
  </entry>
  <entry>
    <title type="html">Start your programming journey: Coding bootcamps vs. Self-learning</title>
    <link rel="alternate" href="https://www.codementor.io/blog/codingbootcamps-d57j2yakgb"/>
    <id>tag:www.codementor.io,2014:265</id>
    <updated>2021-12-09T03:08:34Z</updated>
    <published>2021-10-29T09:44:58Z</published>
    <pubDate>2021-10-29T09:44:58Z</pubDate>
    <author>
      <name>Christine Shu</name>
      <email>christineshu@codementor.io</email>
    </author>
    <dc:creator>Christine Shu</dc:creator>
    <enclosure url="https://ucarecdn.com/469fdebd-55eb-4d56-942b-f214947bbb4c/"/>
    <content type="html">&lt;p&gt;If you’re considering switching careers to become a developer, you’ve probably spent hours researching bootcamps and other learning options, such as online courses and various self-learning methods. At the core, what you may actually be asking is: are coding bootcamps worth it or is self-learning more suitable?&lt;/p&gt;

&lt;p&gt;In this article we’ll help you figure out if full-time onsite coding bootcamps or self-learning fit your learning needs better by comparing these five factors: 
- Structure and industry relevance
- Motivation
- Cost
- Flexibility
- Possibility of landing a job&lt;/p&gt;

&lt;p&gt;We’ll take a closer look at some of the pros and cons under each category. Hopefully we will get you one step closer to taking that first step in your programming journey! &lt;/p&gt;

&lt;p&gt;Short on time? 👉 &lt;a href="https://ucarecdn.com/051f2576-2add-4050-abd4-0f5436975d9c/"&gt;Jump to the summary table&lt;/a&gt;. &lt;/p&gt;

&lt;h2&gt;Structure &amp;amp; Industry Relevance&lt;/h2&gt;

&lt;p&gt;Full-time onsite bootcamps are a more organized style of learning whereas self-learning allows you freedom in building your own curriculum. In this section, we will compare the structured vs. unstructured aspect, and how easy it is to stay updated with the latest programming knowledge. &lt;/p&gt;

&lt;h3&gt;Bootcamps&lt;/h3&gt;

&lt;p&gt;Onsite coding bootcamps are structured classes with a set curriculum taught by a dedicated teacher and a few teaching assistants. Most coding bootcamps focus on web development holistically. This means you’ll learn a variety of technologies, including the latest industry knowledge. &lt;/p&gt;

&lt;p&gt;In the bootcamp, you likely have a daily planned module and weekly goals. Classes can range from learning the foundations to building your own web applications. It’s common to learn basic programming languages such as JavaScript, SQL, Python, and some common industry practices, such as unit testing and the agile methodology.&lt;/p&gt;

&lt;p&gt;Bootcamps are specifically designed to help you get a developer job after graduation. This means that the material will be tailored to the knowledge and skills that a software developer will need in the real world.&lt;/p&gt;

&lt;h3&gt;Self-learning&lt;/h3&gt;

&lt;p&gt;With self-learning, the structure is up to you. You can choose to set a strict schedule or give yourself more flexibility. You can also plan when, where, and how you want to acquire new programming knowledge. &lt;/p&gt;

&lt;p&gt;For example, if you are learning Javascript from scratch, this might be what your curriculum looks like:
- Take the &lt;a href="https://www.codecademy.com/learn/introduction-to-javascript"&gt;Javascript course on Codecademy&lt;/a&gt;
- Practice with &lt;a href="https://www.w3schools.com/js/default.asp"&gt;tutorials and practices on W3schools&lt;/a&gt;
- Find free videos on Youtube to dive deeper into specific concepts &lt;/p&gt;

&lt;p&gt;If you already know the basics and want someone more experienced to look through your projects or answer your questions, you can use platforms like &lt;a href="https://www.codementor.io/search/mentors"&gt;Codementor&lt;/a&gt; (hey, that’s us! 😉) 
to find mentors specialized in Javascript.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.codementor.io/blog/how-to-use-codementor-cu74d4twet"&gt;&lt;em&gt;9 Ways A Mentor Can Advance Your Programming Journey&lt;/em&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;The verdict 📣 : A tie&lt;/h3&gt;

&lt;p&gt;As long as you understand your goals, your availability, and your learning style, structured and unstructured learning can be equally powerful. While structured bootcamps may save you time and energy by providing you with a set curriculum and industry knowledge, there is less freedom in deciding what and how you want to learn. On the other hand, self-learning would give you more flexibility, but could lack the structure and boundaries that might be helpful.&lt;/p&gt;

&lt;p&gt;&lt;img src="https://ucarecdn.com/7e8d9aad-4ec8-4d8b-ae0c-f9774a16bce9/" alt="Coding Bootcamps or Self-learning? Structure and Relevance comparison.png"&gt;&lt;/p&gt;

&lt;h2&gt;Motivation&lt;/h2&gt;

&lt;p&gt;Learning to code can be overwhelming. How you keep up the momentum, stay curious and motivated, and continue to advance your knowledge is a skill in itself. As shown in the graph below, you are likely to build up a sense of confidence during the honeymoon phase, and just when you think you’ve gotten through the learning curve, you enter this cliff of confusion and go downhill from there. This is where many people give up, but once you push through, it’s uphill from there.&lt;/p&gt;

&lt;p&gt;&lt;img src="https://ucarecdn.com/4cc14df8-89dc-4ebe-9fbf-5fe519d53150/" alt="codingconfidence.png"&gt;&lt;em&gt;Image from &lt;a href="https://www.thinkful.com/blog/why-learning-to-code-is-so-damn-hard/"&gt;&lt;em&gt;Why learning to code is so damn hard&lt;/em&gt;&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;In this section, we will take a closer look at the motivation factor. &lt;/p&gt;

&lt;h3&gt;Bootcamps&lt;/h3&gt;

&lt;p&gt;With a set curriculum, full-time onsite coding bootcamps create a learning environment where everyone learns the same information and works on projects at the same time. You feel a strong sense of belonging to this community of peers as everyone works toward the same goal: to become a software developer.&lt;/p&gt;

&lt;p&gt;While your cohort and classroom can keep you accountable and motivated, it could also do the opposite. You could be distracted by the social environment, discouraged by others who seem to be ahead of you, or overwhelmed and drained by the heavy workload. While there are structures to help you stay motivated in bootcamps, it is not always a given.&lt;/p&gt;

&lt;h3&gt;Self-learning&lt;/h3&gt;

&lt;p&gt;For some, it is much easier to learn independently because you can set your own pace and not be bound by a structured curriculum and strict deadlines. &lt;/p&gt;

&lt;p&gt;However, the down side of teaching yourself is that you might lose motivation, feel isolated, or feel lost without a clear roadmap. One way around this is to find an accountability partner,  mentor, or peer to work with to stay motivated. As accountability is not inherently built into self-learning, staying motivated may be extra challenging. The journey for you to become a developer could take longer, and you may experience several dips throughout your learning journey.&lt;/p&gt;

&lt;h3&gt;The verdict 📣 : Coding bootcamps&lt;/h3&gt;

&lt;p&gt;Social interactions and the right amount of competition and mutual encouragement will help you thrive. Joining a cohort of students can keep you motivated and give you the push you need when you feel like giving up.&lt;/p&gt;

&lt;p&gt;&lt;img src="https://ucarecdn.com/b3c50aea-9ec1-4a3a-b45f-d1ef0a62b4f5/" alt="Coding Bootcamps or Self-learning? Motivation comparison.png"&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.codementor.io/blog/improve-programming-skills-d2ymtec4cl"&gt;&lt;em&gt;How To Improve Your Programming Skills As Developers and Non-Developers&lt;/em&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Flexibility&lt;/h2&gt;

&lt;p&gt;Who doesn’t love a flexible schedule? We all want to be able to work, rest, eat, and set our own schedule. If you attend an in person bootcamp, your schedule is set for you, whereas you can maintain a high level of freedom and flexibility with self-learning.&lt;/p&gt;

&lt;h3&gt;Bootcamps&lt;/h3&gt;

&lt;p&gt;With full-time onsite bootcamps, you set aside everything in your life and focus on the course for roughly 3.5 months. You have a fixed start and end date, and a set schedule for each day. You dedicate most of your time to the course and sacrifice flexibility. The guarantee is, at the end of the course, you should have the skills and a solid portfolio to prepare you for your first developer job.&lt;/p&gt;

&lt;h3&gt;Self-learning&lt;/h3&gt;

&lt;p&gt;Self-learning is considerably more flexible as you get to set your own schedule.  You aren’t bound by potential commute, class-attending, and group project time. You can set a learning schedule around your work hours. You are the main decision maker, and can decide on the topics you want to learn, how deep you want to go, the projects you want to work on, and adjust them at any time. &lt;/p&gt;

&lt;h3&gt;The verdict 📣 : Self-learning&lt;/h3&gt;

&lt;p&gt;Self-learning is the best learning option for you if you value and prioritize flexibility. Other than a flexible schedule, you also have the maximum flexibility to choose the material and people you want to learn from. &lt;/p&gt;

&lt;p&gt;&lt;img src="https://ucarecdn.com/c41a3b89-1d9a-412d-9973-6c233bbb310b/" alt="Coding Bootcamps or Self-learning?Flexibility comparison table.png"&gt;&lt;/p&gt;

&lt;h2&gt;Cost&lt;/h2&gt;

&lt;p&gt;In 2021, the &lt;a href="https://www.ziprecruiter.com/Salaries/Software-Developer-Salary"&gt;average annual salary&lt;/a&gt; of a software developer in the United States is $86,523, with the &lt;a href="https://www.payscale.com/research/US/Job=Software_Engineer/Salary"&gt;top 75th percentile&lt;/a&gt; making around $100k a year. How much are you willing to spend to have a career in software development?&lt;/p&gt;

&lt;p&gt;In this section, we’ll look at the cost of joining a bootcamp and self-directed learning. &lt;/p&gt;

&lt;h3&gt;Bootcamps&lt;/h3&gt;

&lt;p&gt;To join a full-time onsite coding bootcamp, you’re looking at around $13,500 (&lt;a href="https://www.bestcolleges.com/bootcamps/payment/bootcamp-cost/"&gt;median bootcamp tuition in 2020&lt;/a&gt;) for a roughly 14-week period. While it is more affordable than getting a 4-year or 2-year computer science degree, for some, this is a considerable sum of money and time invested into a career they’re not sure will work out for them. &lt;/p&gt;

&lt;h3&gt;Self-learning&lt;/h3&gt;

&lt;p&gt;With all the free resources online, such as courses, books, tutorials, or even talks, it’s possible to learn programming completely free of charge. You can also pay a few hundred dollars for an online course from platforms like &lt;a href="https://www.udemy.com/"&gt;Udemy&lt;/a&gt;, and &lt;a href="https://www.educative.io/"&gt;Educative&lt;/a&gt;, or for subscription-based learning options, such as &lt;a href="https://frontendmasters.com/"&gt;Frontend Masters&lt;/a&gt; and &lt;a href="https://teamtreehouse.com/"&gt;Treehouse&lt;/a&gt;. &lt;/p&gt;

&lt;h3&gt;The verdict 📣 : Self-learning&lt;/h3&gt;

&lt;p&gt;From fully free resources, to investing hundreds of dollars into resources of your choosing, self-learning is much more affordable. You can continue to learn at your own pace and pick up new skills according to your own financial ability. With coding bootcamps, you have to decide whether it is cost effective for you for the fixed price and timeframe. &lt;/p&gt;

&lt;p&gt;&lt;img src="https://ucarecdn.com/6d1cf759-6c29-470b-885b-55d805d55fb0/" alt="Coding Bootcamps or Self-learning? Cost comparison table.png"&gt;&lt;/p&gt;

&lt;h2&gt;Landing a job&lt;/h2&gt;

&lt;p&gt;If you’re learning programming to switch careers, you should consider how likely and how quickly you can find a developer job with bootcamps and self-learning.&lt;/p&gt;

&lt;h3&gt;Bootcamps&lt;/h3&gt;

&lt;p&gt;The goal of a coding bootcamp is to help you land a software developer job. Bootcamps will  require you to complete a resume and portfolio by the end of the program. They will also provide career-focused resources, such as career counselors. Some even have “hiring days” or similar events where students can present their portfolio and attend interviews with the bootcamp industry partners. &lt;/p&gt;

&lt;h3&gt;Self-learning&lt;/h3&gt;

&lt;p&gt;As career resources are not provided to self taught developers, you’d have to take on the sole responsibility of preparing for and finding your first developer job. There are plenty of resources online dedicated to helping people find their first developer job. For more personalized help, you can consult developers in the industry for tips on landing your first job.You can also connect with mentors or senior developers for portfolio feedback and mock interviews.&lt;/p&gt;

&lt;h3&gt;The verdict 📣: Bootcamp&lt;/h3&gt;

&lt;p&gt;A coding bootcamp is familiar with what the industry is looking for and has experience helping students switch careers. Naturally, they have a better idea of what portfolios would work, what your resume should include, and other career resources you might need to kickstart your developer career. The added guidance is especially helpful when you’re switching careers.&lt;/p&gt;

&lt;p&gt;&lt;img src="https://ucarecdn.com/f2b64b7c-be8c-4b66-9fd0-d8c11815fd15/" alt="Coding Bootcamps or Self-learning? Possibility of landing a job.png"&gt;&lt;/p&gt;

&lt;h2&gt;Conclusion&lt;/h2&gt;

&lt;p&gt;Hopefully we’ve given you a bit more insights on two of the methods you could choose from. There are many many different ways to learn programming, what’s most important is understanding your own needs and goals and choosing a learning style that suits you best. &lt;/p&gt;

&lt;p&gt;&lt;img src="https://ucarecdn.com/051f2576-2add-4050-abd4-0f5436975d9c/" alt="Coding Bootcamps or Self-learning? A Summary table.png"&gt;&lt;/p&gt;

&lt;p&gt;Regardless of which route you choose, you can always find an accountability partner or a &lt;a href="https://www.codementor.io/search/mentors"&gt;&lt;strong&gt;coding mentor&lt;/strong&gt;&lt;/a&gt; to support you through your journey. Not to mention, programming is a lifelong journey for all developers. A coding mentor can:
- Continue to encourage you even after you graduate from a coding bootcamp. 
- Provide you technical and career advice.
- Share their experience and the latest trends in the tech industry. &lt;/p&gt;

&lt;p&gt;Join discussion with other mentors and users on 👉 &lt;a href="https://github.com/CodementorIO/event-topics/discussions/4"&gt;Getting into tech without a Computer Science degree&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Have you gone through a coding bootcamp or are you a self-taught developer? We’d love to hear what worked for you and what didn’t. Comment below to let us know!&lt;/p&gt;
</content>
    <description>We'll look into two different methods for learning to program, joining a coding bootcamp or self-learning.</description>
  </entry>
  <entry>
    <title type="html">4 Challenges You Might Face in Your First Developer Job and How to Overcome Them</title>
    <link rel="alternate" href="https://www.codementor.io/blog/first-dev-job-d4gnhyc0bp"/>
    <id>tag:www.codementor.io,2014:264</id>
    <updated>2023-10-18T05:26:08Z</updated>
    <published>2021-10-26T09:15:53Z</published>
    <pubDate>2021-10-26T09:15:53Z</pubDate>
    <author>
      <name>Daphne </name>
      <email>daphne@codementor.io</email>
    </author>
    <dc:creator>Daphne </dc:creator>
    <enclosure url="https://ucarecdn.com/cd247779-2621-4342-8a69-498c7a15b042/"/>
    <content type="html">&lt;p&gt;Congratulations! You’ve gone through rounds of interviews and landed your first junior developer job! It’s a new and exciting start to your developer career path, but you’ll also be faced with a fair share of challenges in your first developer job. &lt;/p&gt;

&lt;p&gt;In this article, we’re going to talk about four common challenges junior developers face in their first developer job and how to overcome them. We’ve also included advice from senior developers who’ve overcome these challenges and mentored other developers through them. &lt;/p&gt;

&lt;h2&gt;You need to work with unfamiliar technologies&lt;/h2&gt;

&lt;p&gt;&lt;img src="https://i.imgur.com/YGvipUT.png" alt="dev-first job challege"&gt;&lt;/p&gt;

&lt;h3&gt;The Challenge&lt;/h3&gt;

&lt;p&gt;You were interviewed and hired based on your skills in JavaScript, but a couple of days into the job, you realize you’re only familiar with a fraction of the code you need to work with. There’s a mix and match of libraries and languages that you’re unfamiliar with. While all the code is JavaScript, a large section of it is beyond your skill set. Stress accumulates, and you start wondering if you’re good enough, if you can excel in this job. &lt;/p&gt;

&lt;h3&gt;How To Overcome It&lt;/h3&gt;

&lt;p&gt;Imposter syndrome can feel very real. But as you’ve passed all the interviews and landed the job, your hiring manager has thoroughly evaluated your technical (and soft) skills and decided you’re a good fit for the position. Your team and your manager don’t expect you, a junior developer, to be familiar with every technology used by the team. However, they do expect you to be able to learn and pick up new skills.&lt;/p&gt;

&lt;p&gt;When you encounter an unfamiliar technology or library, the first thing to do is to find and read the documentation. “No matter how unfamiliar you are with the library, you will at least get an understanding on how it works,” says &lt;strong&gt;&lt;a href="https://www.codementor.io/@johnnyb?ref=cm-blog"&gt;Johnny Bizău&lt;/a&gt;&lt;/strong&gt;, an experienced mentor. This will give you an overview of the technology and make it easier for you to know where to start. &lt;/p&gt;

&lt;p&gt;Unfortunately, some libraries and modules lack good documentation. There are still ways to work around this. One way is to look at similar open source projects people have built using the same library, ask questions along the way, and try to figure it out on your own. But this might take quite some time.&lt;/p&gt;

&lt;p&gt;To speed things up, an alternative approach is to work with a senior developer on your team or, if no one on the team is available, a &lt;a href="https://www.codementor.io?ref=cm-blog"&gt;mentor&lt;/a&gt; who is familiar with the technology you need to learn. They’ll be able to fast track your learning by leading you through the most important parts that you need for your job. They can also identify how your current skill set fits in with the new technology or library you need to get familiar with, and customize your learning to meet this goal.&lt;/p&gt;

&lt;h2&gt;You struggle to write code that fits in with the existing company code&lt;/h2&gt;

&lt;h3&gt;The Challenge&lt;/h3&gt;

&lt;p&gt;You’ve opened a pull request for &lt;a href="https://www.codementor.io/code-review?ref=cm-blog"&gt;code review&lt;/a&gt; and feel pretty confident about it. But it’s returned to you with more comments than you can count. Turns out, your code isn’t compatible with the company&amp;#39;s existing codebase. You’re feeling discouraged by the critiques on the code that you were confident about. &lt;/p&gt;

&lt;h3&gt;How To Overcome It&lt;/h3&gt;

&lt;p&gt;This is a common challenge that developers face when they join a new team with established conventions, regardless of their seniority. However, senior developers have accumulated more experience over the years and are usually more prepared for this kind of challenge.&lt;/p&gt;

&lt;p&gt;In an ideal world, your company would have a complete code style guide you can review and follow to make sure that your coding style aligns with the team’s style. However, in reality, not every company has comprehensive documentation. &lt;/p&gt;

&lt;p&gt;Regardless of whether your company has a style guide or not, almost every mentor gave us the same answer when we asked what advice they would give when junior developers are faced with this situation: ask questions. &lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;“I find the biggest hurdle for juniors, aside from a lack of skill and confidence, is the inability to communicate and ask the right questions because they are scared it will make them look bad,” - &lt;a href="https://www.codementor.io/@dominikseifert?ref=cm-blog"&gt;&lt;strong&gt;Dominik Seifert&lt;/strong&gt;&lt;/a&gt;, mentor at Codementor&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Ask developers who have more experience with the product and codebase a lot of (relevant) questions and things to look out for. By asking questions, you’re sharing what you don’t understand and letting other developers know how they can help you get on track more effectively. &lt;/p&gt;

&lt;p&gt;Then, take it a step further and document the findings and results. This growing documentation can be something you refer back to and, who knows, it might even be the start of the missing style guide (which might win you bonus points from your team and manager)! &lt;/p&gt;

&lt;p&gt;At the same time, be mindful and respectful of other people&amp;#39;s time. Even if your teammates are happy to help, they have limited time and their own responsibilities to fulfill too. Besides making sure you’re asking the right questions, your other priority is to “become more independent as quickly as you can, but don’t rush it. For example, if you’ve been stuck for 30 minutes, ask for help” advised &lt;strong&gt;&lt;a href="https://www.codementor.io/@bradleyculley?ref=cm-blog"&gt;Bradley Culley&lt;/a&gt;&lt;/strong&gt;, an experienced mentor. “In summary: seek assistance, but try to &lt;strong&gt;become more independent as quickly as you can&lt;/strong&gt;. You most likely can&amp;#39;t do it alone.”&lt;/p&gt;

&lt;p&gt;If you’re starting to get an idea of what the code style looks like, you can also streamline your coding process with “tools like &lt;a href="https://eslint.org/"&gt;ESLint&lt;/a&gt;,” suggested &lt;a href="https://www.codementor.io/@johnnyb?ref=cm-blog"&gt;Johnny&lt;/a&gt;, as they can “automate and format your code according to the rules.” To make this all happen quickly, you can clear the system memory on your device, thus, speeding up its performance (you can &lt;a href="https://cleanmymac.com/blog/clear-system-data-storage-mac"&gt;read more details&lt;/a&gt;).&lt;/p&gt;

&lt;h2&gt;You’re frustrated over the lack of project direction&lt;/h2&gt;

&lt;p&gt;&lt;img src="https://media.makeameme.org/created/i-am-completely-h0wuxj.jpg" alt="developer-problem"&gt;&lt;/p&gt;

&lt;h3&gt;The Challenge&lt;/h3&gt;

&lt;p&gt;You’ve spent hours coding a specific feature, only to be notified in the next meeting that the project is going to take on a new direction.You’ll need to go back to adjust your code or start from scratch again. “Fine”, you think, “hopefully it’ll be a one time thing.” Except it’s not. Over the next weeks and months, project directions keep changing, and it’s gotten to the point where you’re not sure why you’re doing what you’re doing anymore.&lt;/p&gt;

&lt;h3&gt;How To Overcome It&lt;/h3&gt;

&lt;p&gt;Unlike class assignments, where the end goal is certain, in a working environment, a lot of projects shift and adjust as they develop. If you’re feeling confused about the lack of clear project direction, one of the first steps is to check if you’ve been left out of the loop or don’t understand the overarching goal.&lt;/p&gt;

&lt;p&gt;Sometimes when you join a team mid-project, managers and other team members who already know the project goal may forget to update new members. In these situations, ask your team lead or manager about the main goal and project roadmap. This will give you the clearer big picture and provide an overview of how each decision fits into the long term goal. &lt;/p&gt;

&lt;p&gt;That said, the lack of a clear project direction isn’t always due to the lack of communication. Sometimes, it’s due to company shifts, client requirements, or other things that, simply put, are out of your control. As a junior developer, there’s unfortunately not much you can do about this. &lt;/p&gt;

&lt;p&gt;If you’re feeling particularly frustrated, don’t underestimate the power of “taking a break,” suggested &lt;a href="https://www.codementor.io/@johnnyb?ref=cm-blog"&gt;Johnny&lt;/a&gt;. By taking a walk or a coffee break, the time away from your code gives you time to recharge and readjust your mentality. You can also bring up your concerns or frustrations with your manager — but at the end of the day, it’s important to learn that these shifts and uncertainties are often “just a natural course of business,” says &lt;a href="https://www.codementor.io/@bradleyculley?ref=cm-blog"&gt;Bradley&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Asking questions and initiating conversations&lt;/strong&gt; with team members, managers, or clients, and staying informed on any directional changes can lessen the frustration as you’ll less likely be blindsided by a decision. &lt;/p&gt;

&lt;h2&gt;It’s hard to keep up with the new technologies&lt;/h2&gt;

&lt;p&gt;&lt;img src="https://c.tenor.com/GIvPVc8k0ckAAAAM/its-going-too-fast-man-i-cant-keep-up-preacher-lawson.gif" alt="first developer job challenge"&gt;&lt;/p&gt;

&lt;h3&gt;The Challenge&lt;/h3&gt;

&lt;p&gt;You’ve been at your job for a while now, and you no longer have to play catch up every day. Just when you’re starting to feel more settled, a new project comes your way and there’s a big update to the library. Unlike when you were a student, you can’t dedicate large chunks of time to learning new technologies. It seems like the senior developers on your team are taking the technology updates in stride, so how can you be like one of them? &lt;/p&gt;

&lt;h3&gt;How To Overcome It&lt;/h3&gt;

&lt;p&gt;Staying updated with the latest technology is part of your job as a developer. As a junior developer, you are essentially “learning the tech stack in a real-world setting from the ground up,” says &lt;a href="https://www.codementor.io/@dominikseifert?ref=cm-blog"&gt;Dominik&lt;/a&gt;. This may be extra stressful as you need to adjust your learning method with limited time. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Schedule time to learn the updates&lt;/strong&gt;. If it’s a new tool or update that you think you can pick up relatively quickly, dedicate 30 minutes or an hour in your day to researching and learning how to use the new technology. You can also ask senior developers on the team for guidance if this is a tool they’re familiar with. &lt;/p&gt;

&lt;p&gt;But what if it’s a larger update or a completely new tool that will take hours or days to learn? Between the workload and deadlines, it’s unrealistic to dedicate hundreds or even dozens of hours to learning. The senior developers on your team also won’t have the bandwidth to spend hours teaching you the technology.&lt;/p&gt;

&lt;p&gt;While you can spend weekends or pull an all nighter or two to teach yourself the technology, this method is not sustainable. There are several ways that you can &amp;quot;crash course&amp;quot;, including Youtube videos, or through communities such as GitHub or Dev.to. &lt;/p&gt;

&lt;p&gt;If you want more guidance, you can work with a senior developer or mentors outside of your organization. They can update you on the newest technology in the most efficient manner. Mentors can help you prioritize which technologies you need to learn based on your project or requirements, and guide you through the updates in a timely manner. &lt;/p&gt;

&lt;p&gt;As a developer, you should maintain the habit of &lt;strong&gt;staying updated with the latest developments&lt;/strong&gt; relevant to your tech stack. “We find out about new stuff from the developer news, GitHub trending repositories, etc.” says &lt;a href="https://www.codementor.io/@johnnyb?ref=cm-blog"&gt;Johnny&lt;/a&gt;, and “when the moment comes to use that technology, reading the documentation is one of the nicest ways to learn about it.” &lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.codementor.io/@bradleyculley?ref=cm-blog"&gt;Bradley&lt;/a&gt; has extra advice for junior developers who are just starting their software development career: &lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Be very deliberate in choosing the technical stack that you want to be your ‘wheelhouse’. Don&amp;#39;t believe people who say it&amp;#39;s easy to learn another one. It&amp;#39;s easy to learn the basics. You need to go far, far beyond the basics if you want to gain seniority and produce software efficiently and effectively.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;Final Thoughts&lt;/h2&gt;

&lt;p&gt;The changes that come with going from a student to a working developer isn’t just a change in title. To overcome the challenges you face in new working environments and thrive as a developer, you’ll need to shift your mindset, approach, and learning style. Every new roadblock is an opportunity for you to grow more technically adept and professionally mature. Learning when to get help, asking the right questions, and finding the right resources will become easier as you grow as a developer. &lt;/p&gt;

&lt;p&gt;What are some other challenges that you’re facing in your first developer job? What are some tips you’ve picked up that might be helpful for other developers? Leave a comment below!&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Mentor Profiles (in order of appearance)&lt;/strong&gt;
- &lt;em&gt;&lt;a href="https://www.codementor.io/@johnnyb?ref=cm-blog"&gt;Johnny Bizău&lt;/a&gt;&lt;/em&gt;: An experienced full-stack developer with over 1400 5-star sessions. Johnny can help you with JavaScript, Node.js, HTML &amp;amp; CSS, code review, etc. 
- &lt;em&gt;&lt;a href="https://www.codementor.io/@dominikseifert?ref=cm-blog"&gt;Dominik Seifert&lt;/a&gt;&lt;/em&gt;: An experienced mentor with hundreds of 5-star sessions, Dominik&amp;#39;s expertise lies in JavaScript, React, C#, Unity3D, Python, etc. 
- &lt;em&gt;&lt;a href="https://www.codementor.io/@bradleyculley?ref=cm-blog"&gt;Bradley Culley&lt;/a&gt;&lt;/em&gt;: With thousands of mentoring hours under his belt, Bradley is a teacher and 5-star mentor that has experience as a front-end and full-stack developer. He&amp;#39;s an expert in JavaScript, SQL, PHP, Docket, etc.&lt;/p&gt;
</content>
    <description>From writing code compatible with the company database to keeping up with the latest tech, here's how you can thrive in your first dev job!</description>
  </entry>
  <entry>
    <title type="html">How To Improve Your Programming Skills As Developers and Non-Developers</title>
    <link rel="alternate" href="https://www.codementor.io/blog/improve-programming-skills-d2ymtec4cl"/>
    <id>tag:www.codementor.io,2014:263</id>
    <updated>2021-11-01T19:33:00Z</updated>
    <published>2021-10-20T09:12:36Z</published>
    <pubDate>2021-10-20T09:12:36Z</pubDate>
    <author>
      <name>Jennifer Fu</name>
      <email>jennifer@codementor.io</email>
    </author>
    <dc:creator>Jennifer Fu</dc:creator>
    <enclosure url="https://ucarecdn.com/4cae6e24-8fec-4b14-b93e-8b8371adc5f1/"/>
    <content type="html">&lt;p&gt;Whether you’re a developer, designer, or even a marketing specialist, learning how to code and improving your programming skills can be critical to your career growth. With that said, the path you take to improve your technical knowledge will differ based on your background and familiarity with programming. &lt;/p&gt;

&lt;p&gt;In this blog post, we&amp;#39;ll dig into why people from all sorts of backgrounds—especially developers—want to get better at programming and what “getting better at programming” means. We’ll then outline the best ways to learn programming depending on your backgrounds and goals.&lt;/p&gt;

&lt;p&gt;[[TOC]]&lt;/p&gt;

&lt;h2&gt;Why improve your programming skills? What does that mean?&lt;/h2&gt;

&lt;p&gt;From personal to work projects, from passion to career, from curiosity to practicality, there are many reasons why you may want to improve your programming skills. While a common reason people choose to learn programming is to become a developer, that is not the only reason. Non-developers, such as designers and business owners, might also want to learn programming to add to their skill set. &lt;/p&gt;

&lt;p&gt;In this article, we’ll look at three groups of people who may want to improve their programming skills:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Developers from all levels of seniority&lt;/li&gt;
&lt;li&gt;Students and aspiring developers&lt;/li&gt;
&lt;li&gt;Non-developers (e.g. designers, marketers, business analysts, etc.).&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;To help you figure out how to improve your skills, we want to expand on what improving your programming skills might mean. We ran a survey to better understand what people mean when they say they want to “improve their programming skills” and will use that as a starting point. &lt;/p&gt;

&lt;p&gt;&lt;img src="https://ucarecdn.com/b4950714-54bd-49f1-b3ed-7cd1fe861e5d/" alt="improve programming skills"&gt;&lt;/p&gt;

&lt;p&gt;As shown above, the top three scenarios people need help with to get better at programming are: &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Get hands-on guidance to solve specific tasks or eliminate blockers&lt;/li&gt;
&lt;li&gt;Learn basic programming skills&lt;/li&gt;
&lt;li&gt;Deepen my understanding of technical concepts&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The first scenario applies to &lt;em&gt;both developers and non-developers&lt;/em&gt;, the second scenario to &lt;em&gt;students, aspiring developers, and non-developers&lt;/em&gt;, and the third scenario to &lt;em&gt;mid-level and senior developers&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;Let&amp;#39;s dig deeper into each scenario to see which scenario fits your needs best.&lt;/p&gt;

&lt;h3&gt;Get hands-on guidance to help me solve specific tasks or eliminate blockers&lt;/h3&gt;

&lt;p&gt;Developers, regardless of seniority, usually look for targeted learning that caters to specific problems or blockers they’re facing. They seek out coding mentors to &lt;strong&gt;show them how to identify and solve problems so that they can do it themselves in the future.&lt;/strong&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;I can watch how they solve my issue and then when I have a similar issue I can solve it by myself. - Robert, bachelor’s student in Computer Science&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;What about non-developers? Their intentions are almost identical to that of developers, regardless of whether they’re business analysts, marketing specialists, UX designers, or even CEOs. They have specific projects they’re working on and the project requires programming skills that are beyond their current abilities. Rather than simply outsourcing their projects, these users want to learn programming languages that’ll give them more autonomy and power to deliver  projects and strengthen their careers.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;By working with my mentors I learned how to approach the problems and find solutions to them. - Philip, Founder and Product Manager&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h3&gt;Learn basic coding skills&lt;/h3&gt;

&lt;p&gt;Another major user group is aspiring programmers who identify as students, at the beginning of their coding journey. Oftentimes, these are students who are:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;getting a Bachelor’s or Master’s degree in Computer Science&lt;/li&gt;
&lt;li&gt;taking online classes, or &lt;/li&gt;
&lt;li&gt;in coding bootcamps.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;All of the above provide coding lessons and coding training. However, many students still look for mentor, despite having professors, peers, and sometimes, even mentors to assist them in their coding bootcamps. Jared, a current coding bootcamp student, explained why he sought mentorship outside of his bootcamp:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;We’re assigned a mentor but we’re usually only able to talk with them once a week. It’s hard to get help immediately when I’m stuck. Another thing is that my mentor doesn’t always know what I’m struggling with and they only assist with projects and concepts that are taught in the syllabus. I feel like mentors here can identify what I &lt;strong&gt;really really need to know&lt;/strong&gt; to be able to become a good developer in the real world.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;What &lt;a href="https:www.codementor.io?ref=ImproveProgrammingBlog"&gt;1-on-1 mentorships&lt;/a&gt; provide that other structured courses don’t provide include:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Personalized diagnoses from senior developers&lt;/li&gt;
&lt;li&gt;Individualized coding training based on one’s existing knowledge&lt;/li&gt;
&lt;li&gt;Track your progress, provide you with extra resources, and tailor your learning experience as you grow&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;In other words, students use mentorship as an additional resource to enhance their learning experience. The mentorship relationship often extends beyond their programs as students eventually become developers, and continue to grow and learn through &lt;a href="https://www.codementor.io/long-term-experts?ref=ImproveProgrammingBlog"&gt;long-term mentorships&lt;/a&gt;.&lt;/p&gt;

&lt;h3&gt;Deepen my understanding of technical concepts&lt;/h3&gt;

&lt;p&gt;Last but not least, a lot of developers want to deepen their understanding of technical concepts. Some of the questions and requests developers post include:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Would like to meet weekly to discuss process in iOS dev, clarifying principles in Swift&lt;/li&gt;
&lt;li&gt;Help learning Vue.js and advanced JavaScript, also help with backend&lt;/li&gt;
&lt;li&gt;Need someone to personally coach me DS Algorithms in Java&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;As you can see, many programmers in this category already have some understanding of the tech stacks and technology they’re working with but want to take their skills to the next level. &lt;/p&gt;

&lt;p&gt;For mid-level developers, structured courses are unhelpful as they’re looking to dive deep into specific areas not typically covered by online classes or bootcamps. Through working directly with coding mentors, the learning process can be tailored to each developer’s needs.&lt;/p&gt;

&lt;p&gt;With all that said, we want to highlight some ways to help you improve your programming skills, depending on which stage of the coding journey you’re at and what your goals are.&lt;/p&gt;

&lt;h2&gt;Overview of different ways to improve your programming skills&lt;/h2&gt;

&lt;p&gt;Different people learn differently. Depending on your skill level, goals, and availability, you may want to consider coding training that is structured, semi-structured, or unstructured. Generally speaking, structured learning is most suitable for aspiring developers, semi-structured learning is more fitting for non-developers, and unstructured learning is more effective for mid to senior level developers. We’ll talk more about which approach may fit you better and what resources are available to you.&lt;/p&gt;

&lt;h3&gt;Structured Learning&lt;/h3&gt;

&lt;p&gt;If you don’t have any coding foundation and want to become a developer, structured and comprehensive coding training that has dedicated instructors, detailed projects, and hard deadlines may be the most effective for you. These programs are highly intensive, require high levels of commitment, and can be quite pricey. Your options include:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Four-year or two-year degrees from universities and community colleges&lt;/li&gt;
&lt;li&gt;Coding certification programs&lt;/li&gt;
&lt;li&gt;Online or in-person coding bootcamps. Some examples include:

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Software Development (Web Development)&lt;/strong&gt;

&lt;ul&gt;
&lt;li&gt;Codesmith: Full-time Software Engineering Immersive (USD $19,350)&lt;/li&gt;
&lt;li&gt;Tech Elevator: Coding Bootcamp Program (USD $15,950)&lt;/li&gt;
&lt;li&gt;Hack Reactor: Coding Bootcamp (USD $17,980)&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Mobile Applications Development&lt;/strong&gt;

&lt;ul&gt;
&lt;li&gt;The Tech Academy: Mobile App Developer Bootcamp ($9,540 - $11,900)&lt;/li&gt;
&lt;li&gt;Devmountain: iOS Development Course ($7,900)&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If becoming a software developer and pursuing full-time programming careers are not your goals, a comprehensive bootcamp may be an overkill. Instead, you can choose semi-structured learning that aligns with your needs and goals. &lt;/p&gt;

&lt;h3&gt;Semi-Structured Learning&lt;/h3&gt;

&lt;p&gt;If you simply want to learn one or two programming languages or tech stacks, online courses are a good alternative as they often focus on specific topics and languages. Most online courses are semi-structured, meaning you will be given a syllabus and structured lessons, but no dedicated instructors, hard deadlines, and sometimes, not even hands-on projects. You’ll have more freedom but less guidance and built-in accountability. If this sounds like something you prefer, here are some examples:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Data Science&lt;/strong&gt;
- Harvard University’s online courses
- Udacity
- Datacamp&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Frontend Development&lt;/strong&gt;
- Udemy
- FreeCodeCamp
- Khan Academy&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Backend Development&lt;/strong&gt;
- FreeCodeCamp 
- University of Michigan’s online courses&lt;/p&gt;

&lt;p&gt;Coding courses online are accessible and flexible. However, there are some possible downsides:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The courses can sometimes be outdated&lt;/li&gt;
&lt;li&gt;There is little to no accountability &lt;/li&gt;
&lt;li&gt;May be too theory-heavy with little focus on application&lt;/li&gt;
&lt;li&gt;No available mentors to reach out to when questions arise&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If you do choose semi-structured courses, we’d suggest &lt;a href="https:www.codementor.io?ref=ImproveProgrammingBlog"&gt;finding a mentor&lt;/a&gt; to help guide you along the way. You can take full control over your learning by asking a coding mentor to explain concepts that are hard to grasp, keep you accountable, and provide you with hands-on guidance on how to apply the theories in real-world settings.&lt;/p&gt;

&lt;h3&gt;Unstructured Learning&lt;/h3&gt;

&lt;p&gt;If you’re starting from scratch, we wouldn’t suggest going the unstructured route. While there is a plethora of coding resources available, it can be hard to know where to start. Without a solid foundation or a good grasp of the help or answer you’re looking for, finding the right books, blog posts, and YouTube videos can be like searching for a needle in a haystack. Even worse, you could go down a rabbit hole that may be misleading.&lt;/p&gt;

&lt;p&gt;With that said, unstructured learning is the most common way experienced developers continue to grow their programming skills. Developers are known to be resourceful, community-oriented, and driven learners. If you already have the foundations you need and know what you’re looking for, here are some generic resources you may find useful:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Stack Overflow&lt;/li&gt;
&lt;li&gt;GitHub

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/lauragift21/awesome-learning-resources"&gt;Awesome Learning Resources&lt;/a&gt; (lauragift21)&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/GDGAhmedabad/Awesome-Learning-Resources"&gt;Awesome Learning Resources&lt;/a&gt; (GDGAhmedabad)&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/ashleymcnamara/learn_to_code"&gt;Learn to code&lt;/a&gt; (ashleymcnamara)&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/Xtremilicious/projectlearn-project-based-learning"&gt;ProjectLearn: Project Based Learning&lt;/a&gt; (Xtremilicious)&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;Reddit

&lt;ul&gt;
&lt;li&gt;r/learnprogramming&lt;/li&gt;
&lt;li&gt;r/ProgrammingBuddies&lt;/li&gt;
&lt;li&gt;r/cscareerquestions&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;YouTube&lt;/li&gt;
&lt;li&gt;Projects &amp;amp; games

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.codementor.io/projects?ref=ImproveProgrammingBlog"&gt;DevProjects&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;Conferences and webinars&lt;/li&gt;
&lt;li&gt;Meetups&lt;/li&gt;
&lt;li&gt;Book Clubs&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;With a solid enough foundation, you can find any resource that’ll help you learn. However, as you grow as a developer, you&amp;#39;ll also have less time dedicated to learning new technologies. This is where coding mentors could be helpful. &lt;/p&gt;

&lt;p&gt;Richa, a senior developer with 13+ years of experience said:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;I am a developer and trying to learn more tech stacks. Now there&amp;#39;s just not enough time to schedule a time for dedicated learning like I used to do during my learning days 13 years ago. Pair programming sessions at Codementor have reduced that learning time dramatically for me. &lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Communities like Stack Overflow, dev.to, and GitHub are crucial to the continuous growth of every developer and coding mentors can help you navigate through the programming knowledge shared in these communities.&lt;/p&gt;

&lt;h2&gt;Will working with a mentor help improve my programming skills?&lt;/h2&gt;

&lt;p&gt;We’ve briefly discussed the benefits of having a coding mentor in your coding journey throughout the process but what is coding mentorship? Coding mentors are senior developers who act as your advisor and coach to help you learn new technologies, personal skills, and career guidance.&lt;/p&gt;

&lt;p&gt;Here are some hard and soft skills that coding mentors can provide:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Help kickstart your programming professional development &lt;/li&gt;
&lt;li&gt;Understand your unique pain points and cater to your individual needs&lt;/li&gt;
&lt;li&gt;Impart knowledge and wisdom through their working and coding experience&lt;/li&gt;
&lt;li&gt;Hold you accountable to achieve your goals&lt;/li&gt;
&lt;li&gt;Discover and hone your leadership skills&lt;/li&gt;
&lt;li&gt;Boost your confidence and problem-solving abilities&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Regardless of whether you decide to take the structured, semi-structured, or unstructured route to learn how to code and reach your goals, having a &lt;a href="https:www.codementor.io?ref=ImproveProgrammingBlog"&gt;coding mentor&lt;/a&gt; (or two!) can help you grow technically, personally, and professionally.&lt;/p&gt;

&lt;h2&gt;Conclusion&lt;/h2&gt;

&lt;p&gt;There is no right way to go about learning how to code just as there is also no right track for those who choose to learn to code. &lt;/p&gt;

&lt;p&gt;If you’re figuring out which learning style is the best for you, one of the most important things is to identify what your goal is. Once you’ve identified your short term and long term goals, you can mix and match the learning styles that fit your needs the best.&lt;/p&gt;

&lt;p&gt;If you’re unsure what you need to achieve your goals, finding a mentor is a great place to start. Mentors can help you identify and clarify your goals. They would also provide you with the best resource to help you learn according to your skill level and learning style. &lt;/p&gt;

&lt;p&gt;There is no cookie cutter approach and no shortcut to improve your programming skills. Getting the results and reaching the goals you have takes strategizing and the right kind of help. We hope this article will help you find what suits you best.&lt;/p&gt;

&lt;p&gt;If you have any questions, thoughts, or experience to share about honing your programming skills, leave a comment below!&lt;/p&gt;
</content>
    <description>Find out the best ways for you to improve your programming skills regardless of whether you’re a developer, designer, or a marketing specialist!</description>
  </entry>
  <entry>
    <title type="html">From Learning to Career: 9 Ways A Mentor Can Advance Your Programming Journey</title>
    <link rel="alternate" href="https://www.codementor.io/blog/how-to-use-codementor-cu74d4twet"/>
    <id>tag:www.codementor.io,2014:262</id>
    <updated>2021-09-30T04:02:11Z</updated>
    <published>2021-09-16T08:40:46Z</published>
    <pubDate>2021-09-16T08:40:46Z</pubDate>
    <author>
      <name>Codementor Team</name>
      <email>support@codementor.io</email>
    </author>
    <dc:creator>Codementor Team</dc:creator>
    <enclosure url="https://ucarecdn.com/ecc92100-c38d-473e-b77f-a94f25dbbfa1/"/>
    <content type="html">&lt;p&gt;Coding is a lifelong journey. As exciting as the journey might be, sometimes the challenges can be a tough nut to crack. Without timely and accurate help, your &lt;a href="(#understanding-the-basics?ref=learn-intro)"&gt;learning&lt;/a&gt;, &lt;a href="#troubleshooting?ref=project-intro"&gt;project&lt;/a&gt;, and &lt;a href="#looking-for-portfolio-review-or-resume-feedback?ref=career-intro"&gt;career progress&lt;/a&gt; can be seriously hindered.&lt;/p&gt;

&lt;p&gt;There are many ways you can overcome the challenges. One of the best ways is to work with developers with extensive technical experience, knowledge, and a knack for teaching. In this article, we’ll look at common scenarios you might encounter in your coding journey, and how working with a mentor might be the difference you’re looking for. Users also shared how their&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Codementor is a platform where you can connect with over 10,000 vetted mentors for 1:1 mentorship, pair programming, code review, and freelance jobs.&lt;/em&gt;
[[toc]]&lt;/p&gt;

&lt;h2&gt;Understanding the basics 🤔&lt;/h2&gt;

&lt;blockquote&gt;
&lt;p&gt;Scenario: I recently started learning JavaScript through online tutorials and Udemy courses, and just finished the section on strings. I’ve gone through several tutorials but still don’t have a firm grasp on the concept. I need someone to clearly explain and help me understand JavaScript strings and how to use them.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;iframe src="https://giphy.com/embed/WVAP0Z0Ue0UA64FNN7" width="480" height="270" frameBorder="0" class="giphy-embed" allowFullScreen&gt;&lt;/iframe&gt;

&lt;p&gt;Having a firm understanding of fundamental concepts is critical to your learning journey. But the beginning parts of your journey may be some of the trickiest parts. Why? You may not even be sure of what you already understand, what more you need to grasp, and what simply flew over your head. You may have some basic concepts down, but not enough to move forward. In such cases, it’s normal to not be able to pinpoint exactly what you need help on. That’s where mentors come in.&lt;/p&gt;

&lt;p&gt;Unlike courses and tutorials, which provide an overview of the concepts, mentors can speed up your learning process and provide you with personalized recommendations and guidance. Between their technical fluency and experience coaching others, mentors are able to identify your knowledge gap and work with you to figure out what you need. As mentors tailor the learning experience to your learning style and journey, they’re able to identify what you don’t know, help you build a solid foundation, and walk with you as you move to the next level with more efficiency and ease. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Sounds like the situation you&amp;#39;re in? &lt;a href="https://www.codementor.io/mentorship/new?ref=learn-basics"&gt;Just post a question&lt;/a&gt;!&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;Learning with long-term mentorship 📚&lt;/h2&gt;

&lt;blockquote&gt;
&lt;p&gt;Scenario: I’m currently teaching myself how to code with online resources, but I learn better through interactive 1:1 sessions where the mentor is able to answer my questions and help me work through roadblocks. I would like to find a long-term mentor to have weekly sessions with me as I learn programming.  &lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;By having weekly or regular sessions with mentors, you can regularly share your struggles and eliminate your roadblocks. For example, one user had prior knowledge of PowerShell, and shared: “[my mentors] have helped me by explaining things in ways I can understand and will adapt their approach to cater for my PowerShell understanding [...] and will take steps to fill in the blanks in my CS understanding.”  &lt;/p&gt;

&lt;p&gt;With long-term mentorships, mentors can gain a better understanding of your past experience, track your progress, and tailor your sessions as you grow. Additionally, you’d have someone to hold you accountable in your learning process. This motivates you to move forward, knowing that someone’s got your back and is rooting for your success. &lt;/p&gt;

&lt;iframe src="https://giphy.com/embed/f8PtqOh2gMGEZ9lvdF" width="480" height="269" frameBorder="0" class="giphy-embed" allowFullScreen&gt;&lt;/iframe&gt;

&lt;p&gt;&lt;strong&gt;Does this sound like you? That&amp;#39;s the sign to &lt;a href="https://www.codementor.io/mentorship/new?ref=learn-longterm"&gt;post a request&lt;/a&gt;!&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;Troubleshooting 😵‍💫&lt;/h2&gt;

&lt;blockquote&gt;
&lt;p&gt;Scenario: I’m running into trouble at work as the JavaScript code isn’t running properly on Safari mobile. We’ve tested it on other browsers, and they work fine. I need a developer to help me to debug and refactor the code so it runs properly.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;We’ve all been in situations, where, whatever we do, our code just won’t run right.&lt;/p&gt;

&lt;iframe src="https://giphy.com/embed/d5vu4J2bzzInfzHKvy" width="480" height="270" frameBorder="0" class="giphy-embed" allowFullScreen&gt;&lt;/iframe&gt;&lt;p&gt;

In straightforward cases, experienced developers can quickly pinpoint where the errors are and fix them in minutes. But not all cases are straightforward. Sometimes, the problem isn’t in the code snippet you provided, but in another section, or even in the structure. Not only can mentors help pinpoint and fix the issue, they can also teach you how to spot, avoid, and fix similar errors in the future. As one of our users eloquently put it, “Instead of endless searching on Stack Overflow. They can see what I'm working on and have the experience to know where I should look and how I should proceed.”

[![learn-banner.png](https://ucarecdn.com/5293bb38-0881-42cf-89df-c61884c15630/)](https://codementor.io/?ref=learn-banner)

## Needing code review for project 📋
&gt;Scenario: I just completed my first React-based webpage, but would like to hire a developer for code review: specifically on debugging, clean code suggestions, and best practices.

 &lt;iframe src="https://giphy.com/embed/TilmLMmWrRYYHjLfub" width="480" height="270" frameBorder="0" class="giphy-embed" allowFullScreen&gt;&lt;/iframe&gt;

&lt;p&gt;Getting constructive feedback is always helpful, especially when it’s from someone experienced. Code reviews are something that developers regularly perform, and it can be especially helpful when you’re just starting out. While you’ve finished building a project that’s up and running, chances are, there are improvements to be made: debugging, ensuring clean code, and optimizing for maintainability and scalability. Mentors who’ve written and read lots of code are able to review your code, provide constructive feedback on how to improve code performance, and impart practical tips for future references. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Thinking of code that needs reviewing? Good thing you can &lt;a href="https://www.codementor.io/mentorship/new?ref=project-review"&gt;request for help&lt;/a&gt;!&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;Need help completing a half-finished project ⚙️&lt;/h2&gt;

&lt;blockquote&gt;
&lt;p&gt;Scenario: I’m working on a project with React and Django REST. I’m new to Python and Django, so while I’ve finished the front-end, I need help with the server side data processing. &lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;While there are some fullstack developers out there, you don’t have to become one to successfully build a project. &lt;/p&gt;

&lt;p&gt;Unlike starting a project from scratch, the tricky part to filling in the missing gaps in an existing project is making sure that the missing code performs properly and works with the existing code. In these circumstances, working with a developer who’s fluent in the technology you used and need is helpful, as they’ll be able to review your existing code, your end goal, and the code you need to streamline your project. As they guide you through the learning process, either through mentorship sessions or pair programming, you’ll be able to expand your knowledge while completing your project. Win-win! 
  &lt;iframe src="https://giphy.com/embed/Rm2jc8O83Uc3qRRjYW" width="480" height="267" frameBorder="0" class="giphy-embed" allowFullScreen&gt;&lt;/iframe&gt;&lt;p&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://codementor.io/?ref=project-banner"&gt;&lt;img src="https://ucarecdn.com/ec56bd1d-d45a-4b22-91de-17fff80a8988/" alt="project-banner.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Looking for portfolio review or resume feedback 🪜&lt;/h2&gt;

&lt;blockquote&gt;
&lt;p&gt;Scenario: I’m looking for my first React developer job and would like to get feedback on my resume and portfolio. Specifically to flesh out sections of my portfolio, incorporating animated transitions and making it responsive, and to help identify if there’s anything that I should add to make it more comprehensive. &lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Finding a job is already daunting enough, nevermind your first developer job. You’ve spent hours perfecting your portfolio, deciding which projects to include to best demonstrate your skill sets, still, there’s this nagging sense of insecurity - is my portfolio good enough? &lt;/p&gt;

&lt;p&gt;&lt;iframe src="https://giphy.com/embed/KM9Oag1SJ7PiyoWUEW" width="480" height="270" frameBorder="0" class="giphy-embed" allowFullScreen&gt;&lt;/iframe&gt;&lt;/p&gt;

&lt;p&gt;Having a mentor who’s reviewed hundreds of portfolios and resumes, and interviewed dozens of developers can be reassuring when you’re preparing for your interviews. They can also suggest projects and work with you to complete the projects for you to add to your portfolio. See your mentors as your career coach and counsellor — with their years of working experience, senior devs will help you highlight your strengths and help you land your dream job.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Still struggling with your porfolio or resume? Stop stressing and &lt;a href="https://www.codementor.io/mentorship/new?ref=career-portfolio"&gt;ask for help now&lt;/a&gt;!&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;Switching careers 🔀&lt;/h2&gt;

&lt;blockquote&gt;
&lt;p&gt;Scenario: I am trying to switch careers to become a developer. So far, I’ve worked on interview questions, NodeJS, React JS, but would like help in figuring out how to prioritize my time and energy. For example: should I work on personal or open-source projects? How should I balance my time between studying, projects, networking, and applying? It would be helpful to have someone answer these questions and help me navigate the job search and interviewing process.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;iframe src="https://giphy.com/embed/ZDtmE6Sk2EoUFhDgRa" width="480" height="270" frameBorder="0" class="giphy-embed" allowFullScreen&gt;&lt;/iframe&gt;

&lt;p&gt;Whether you’ve left the field for a while, or you’re in the process of switching careers, having a mentor can be extremely helpful to make sure you’re on the right track. Even more, experienced devs can give you advice on how to properly frame your previous work experience to give you an upper hand. This will lessen the feeling of anxiety that comes with uncertainties.. &lt;/p&gt;

&lt;p&gt;To quote one of our users: “My mentor has helped me stay focused, organized, and accountable with this process of refreshing my coding skills and prepping to apply for jobs. I&amp;#39;ve become more proficient and confident while working with my mentor.&amp;quot;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Are you hitting a wall with your career? Time to &lt;a href="https://www.codementor.io/mentorship/new?ref=career-switch"&gt;ask a mentor for some guidance&lt;/a&gt;!&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;Learning new skills to strengthen your career 🎉&lt;/h2&gt;

&lt;blockquote&gt;
&lt;p&gt;Scenario: I need help building reports in PowerBI. I&amp;#39;ve been working with data a lot recently, and would like to be able to generate reports without having to consult the data team every time. &lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;iframe src="https://giphy.com/embed/9541eIHk1MNLa" width="480" height="270" frameBorder="0" class="giphy-embed" allowFullScreen&gt;&lt;/iframe&gt;&lt;/p&gt;

&lt;p&gt;You’re thriving in your role as a developer, but as your responsibilities increase, or as you take on different projects, maybe you’re realizing that you’re lacking some skills. Some of these skills may simply be good-to-haves, but having them would certainly help you advance your career. &lt;/p&gt;

&lt;p&gt;Between the lack of time, and the fact that you need to pick up these new skills fast, working with a mentor would be the most efficient way to enhance your skills. Mentors are able to help prioritize the skill sets you should learn first depending on your needs, adapt how you learn based on your existing skills, and help you gain new skills fast. As one of our users, who’s a senior developer puts it, “Now there&amp;#39;s just not enough time to schedule a time for dedicated learning like I used to do [...], Codementor has reduced that learning time dramatically for me.”&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Are you reminded of that skill that you&amp;#39;ve always wanted to learn but never got around to? It&amp;#39;s time to &lt;a href="https://www.codementor.io/mentorship/new?ref=career-portfolio"&gt;pick it up with a mentor&lt;/a&gt;.&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;Becoming the senior dev you can be 👑&lt;/h2&gt;

&lt;blockquote&gt;
&lt;p&gt;Scenario: I’ve been a mid-level developer for the last five years and would like to move into a more senior role. I’m quite confident in my current skills, but would like to work with a mentor long term for career advancement advice. &lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;You’re a couple of years into being a developer and you’re ready to take your dev career to the next level. What’s stopping you might be a mental block, technical setbacks, or a lack of negotiation tactics. Working with a mentor who’s advanced from junior all the way to senior, maybe even CTO, can provide the clarity you need. They have first hand experience of the situation you’re in, which means they can identify what you need in order to advance your career and provide practical advice to help you maximize your potential. &lt;/p&gt;

&lt;iframe src="https://giphy.com/embed/YqR8igkpXdtJKobl6f" width="480" height="237" frameBorder="0" class="giphy-embed" allowFullScreen&gt;&lt;/iframe&gt;

&lt;p&gt;&lt;a href="https://codementor.io/?ref=career-banner"&gt;&lt;img src="https://ucarecdn.com/a5189d83-a38e-4614-83e3-35375fc50e66/" alt="career-banner.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;There are many ways that working with a senior developer will help you grow. Especially when they&amp;#39;re someone who takes time to understand your situation and tailor their mentorship to fit your learning style and career stage. Ready to see how much you can gain from Codementor? Just &lt;a href="https://www.codementor.io/mentorship/new?ref=use-cm-blog"&gt;post a request&lt;/a&gt; today and see where our mentors take you! &lt;/p&gt;
</content>
    <description>From understanding the basics to career advancement, working with a mentor can help you advance in ways you didn't realize! </description>
  </entry>
  <entry>
    <title type="html">A Step-by-step Tutorial for Building a Temperature Converter Website</title>
    <link rel="alternate" href="https://www.codementor.io/blog/temperature-converter-cpcfuc9e14"/>
    <id>tag:www.codementor.io,2014:261</id>
    <updated>2021-09-22T08:48:22Z</updated>
    <published>2021-08-31T08:13:11Z</published>
    <pubDate>2021-08-31T08:13:11Z</pubDate>
    <author>
      <name>Codementor Team</name>
      <email>support@codementor.io</email>
    </author>
    <dc:creator>Codementor Team</dc:creator>
    <enclosure url="https://ucarecdn.com/0f1774ec-5e5f-48cd-bf23-8a5e18c19933/"/>
    <content type="html">&lt;p&gt;Building coding projects is one of the best ways to learn coding and build your portfolio. However, sometimes a simple project spec may not be enough to help you build your project. This tutorial will walk you through how to build a &lt;a href="https://www.codementor.io/projects/web/temperature-converter-website-atx32dy7mf?ref=tempconvertblog"&gt;Temperature converter website&lt;/a&gt;, one of the most popular projects on &lt;a href="https://www.codementor.io/projects?ref=tempconvertblog"&gt;DevProjects&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;You’ll build a simple tool to convert between different temperature units. To follow along, check out the &lt;a href="https://www.codementor.io/projects/web/temperature-converter-website-atx32dy7mf?ref=tempconvertblog"&gt;project spec on DevProjects&lt;/a&gt;! &lt;/p&gt;

&lt;p&gt;Overview of this tutorial:
[[toc]]&lt;/p&gt;

&lt;h2&gt;Introduction&lt;/h2&gt;

&lt;p&gt;While Kelvin is the SI Unit of temperature, people generally prefer Fahrenheit or Celsius unit type to measure temperature. We&amp;#39;re going to build a temperature converter that will convert Fahrenheit, Celsius, and Kelvin units to each other, using the most popular CSS framework called &lt;a href="https://getbootstrap.com/docs/4.6/getting-started/introduction/"&gt;Bootstrap 4.6&lt;/a&gt; and JavaScript library - &lt;a href="https://jquery.com/"&gt;jQuery&lt;/a&gt;. &lt;/p&gt;

&lt;p&gt;Here is the live demo of &lt;a href="https://karan-kmr.github.io/temperature-converter/"&gt;Temperature converter website&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;Project Overview&lt;/h2&gt;

&lt;p&gt;In this tutorial, we will create a temperature converter and walk through how the website works. We will deploy this project on GitHub using GitHub pages, a hosting service by GitHub that allows you to publish static websites online directly from repositories. The tutorial will guide you through the step-by-step process of setting up the GitHub repositories before publishing the website. The suggested text editor is VScode, but you can choose any other text editor you like.&lt;/p&gt;

&lt;p&gt;⭐ &lt;strong&gt;Why&lt;/strong&gt; &lt;strong&gt;Bootstrap&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;We are using this library because of its variety of components. Additionally, the bootstrap grid system is based on Flex, which provides us with full responsive support for any website. You can read more about it on its official website.&lt;/p&gt;

&lt;p&gt;⭐ &lt;strong&gt;Why&lt;/strong&gt; &lt;strong&gt;jQuery&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;While other powerful libraries and frameworks have emerged, jQuery is very beginner friendly and is the best library for practicing and getting started in JavaScript libraries.&lt;/p&gt;

&lt;p&gt;jQuery is a small, fast, and feature-rich library. It saves developers a lot of time by completing complicated tasks with just a few lines of code.&lt;/p&gt;

&lt;p&gt;⭐ &lt;strong&gt;What you need&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;VSCode or any other text editor&lt;/li&gt;
&lt;li&gt;Any browser of your choice&lt;/li&gt;
&lt;li&gt;Basics knowledge of jQuery and Bootstrap&lt;/li&gt;
&lt;li&gt;A GitHub Account for deployment&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://www.codementor.io/projects/web/temperature-converter-website-atx32dy7mf?ref=temperatureconverter"&gt;Recreate this project on DevProjects. Try it now!&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Setting up the project environment&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Create a new folder named Temperature Converter and open the folder in VScode. Initially, our workspace will look like this:
&lt;img src="https://ucarecdn.com/1a975794-634b-4e84-b03a-e42e7897d594/" alt="image1.png"&gt;&lt;/p&gt;

&lt;p&gt;Hover the mouse on the sidebar to find the icon for creating new files or folders
&lt;img src="https://ucarecdn.com/c36c9f8d-07bf-4cf5-9cea-9c442b81f59b/" alt="image2.png"&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Create a sub-folder named assets and the following files: index.html, style.css, and script.js.&lt;/p&gt;

&lt;p&gt;&lt;img src="https://ucarecdn.com/54828960-0022-4f60-8f67-0b54f2ac01e9/" alt="fileDirectory.png"&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;pre&gt;&lt;code&gt;- **Assets**

In this folder, we&amp;#39;ll store all icons and any other media used in our project.

- **Index.html**

To create the structure of the website.

- **Style.css**

To add custom CSS styling in our project.

- **Script.js**

This is like the brain of our project, In which we write JavaScript code to make our website work.
&lt;/code&gt;&lt;/pre&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Open the index.html type doc then press enter, A boilerplate will appear as shown below:
&lt;img src="https://ucarecdn.com/8c866a09-7ceb-4816-82aa-d1d338b9ab99/" alt="image3.png"&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Open the index.html type doc then press enter, A boilerplate will appear as shown below:&lt;/p&gt;

&lt;p&gt;a. Set up Bootstrap 4.6 CSS
   &lt;img src="https://ucarecdn.com/1b50054e-8df3-4cb1-b5fd-8214a7c577fa/" alt="image4.png"&gt;&lt;/p&gt;

&lt;p&gt;Visit Official Bootstrap 4.6.0 Documentation and copy the CDN link of the CSS and JS Bundle. Alternatively, you can also use this Boilerplate in your index.html
```
&lt;html lang="en"&gt;
&lt;head&gt;
  &lt;meta charset="UTF-8"&gt;
  &lt;meta http-equiv="X-UA-Compatible" content="IE=edge"&gt;
  &lt;meta name="viewport" content="width=device-width, initial-scale=1.0"&gt;
  &lt;title&gt;Tempreature Unit Converter&lt;/title&gt;
  &amp;lt;!-- ---------------Bootstrap 4.6-------------------------------------- --&amp;gt;
  &lt;link rel="stylesheet"
     href="https://cdn.jsdelivr.net/npm/bootstrap@4.6.0/dist/css/bootstrap.min.css"
     integrity="sha384-B0vP5xmATw1+K9KRQjQERJvTumQW0nPEzvF6L/Z6nronJ3oUOFUFpCjEUQouq2+l"
     crossorigin="anonymous"&gt;
  &amp;lt;!-- ---------------Custom CSS-------------------------------------- --&amp;gt;
  &lt;link rel="stylesheet" href="style.css"&gt;
&lt;/head&gt;
&lt;body class="d-flex align-items-center"&gt;&lt;/p&gt;

&lt;p&gt;&amp;lt;!-- All body content will come here --&amp;gt;&lt;/p&gt;

&lt;p&gt;&amp;lt;!-- ---------------jQery-------------------------------------- --&amp;gt;
  &lt;script src="https://code.jquery.com/jquery-3.5.1.slim.min.js"
     integrity="sha384-DfXdz2htPH0lsSSs5nCTpuj/zy4C+OGpamoFVy38MVBnE+IbbVYUew+OrCXaRkfj"
     crossorigin="anonymous"&gt;&lt;/script&gt;
  &lt;script
     src="https://cdn.jsdelivr.net/npm/bootstrap@4.6.0/dist/js/bootstrap.bundle.min.js"
     integrity="sha384-Piv4xVNRyMGpqkS2by6br4gNJ7DXjqk09RmUpJ8jgGtD7zP9yug3goQfGII0yAns"
     crossorigin="anonymous"&gt;&lt;/script&gt;
  &amp;lt;!-- ---------------Custom JS-------------------------------------- --&amp;gt;
  &lt;script src="script.js"&gt;&lt;/script&gt;
&lt;/body&gt;
&lt;/html&gt;
```&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://www.codementor.io/projects/web/temperature-converter-website-atx32dy7mf?ref=temperatureconverter"&gt;Why not build this project yourself? Build this project for free.&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Let&amp;#39;s Start Building&lt;/h2&gt;

&lt;p&gt;The project will be divided into 5 steps:
&lt;img src="https://ucarecdn.com/275da153-8dcc-4767-ade3-b88f100caa20/" alt="steps.png"&gt;&lt;/p&gt;

&lt;h3&gt;Step 0 : Create HTML structure with Bootstrap classes&lt;/h3&gt;

&lt;p&gt;&lt;img src="https://ucarecdn.com/a7ca8c5b-c4d6-4028-a317-89f9a956673e/" alt="image5.png"&gt;
1. Create the container, then make our card-group. The card-group will contain both input-card and result-card. The structure code will look something like this:
&lt;code&gt;
&amp;lt;div class=&amp;quot;container&amp;quot;&amp;gt;
  &amp;lt;div class=&amp;quot;row&amp;quot;&amp;gt;
    &amp;lt;div class=&amp;quot;card-group col-12 col-md-10 offset-md-1 my-md-auto&amp;quot;&amp;gt;
      &amp;lt;!-- Input and Result Section will come here--&amp;gt;
    &amp;lt;/div&amp;gt;
  &amp;lt;/div&amp;gt;
&amp;lt;/div&amp;gt;
&lt;/code&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Add the input &amp;amp; result card section with custom CSS class &lt;code&gt;inputSection&lt;/code&gt; to enter input values, and &lt;code&gt;resultSection&lt;/code&gt; to display the result value.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;code&gt;html
&amp;lt;div class=&amp;quot;card inputSection col-12 col-md-6&amp;quot;&amp;gt;
  &amp;lt;div class=&amp;quot;card-body&amp;quot;&amp;gt;
    &amp;lt;form&amp;gt;
      &amp;lt;div class=&amp;quot;row px-3&amp;quot;&amp;gt;
        &amp;lt;div class=&amp;quot;col-12 col-md-11 px-4&amp;quot;&amp;gt;
          &amp;lt;span class=&amp;quot;card-title d-block&amp;quot;&amp;gt;Enter Temperature&amp;lt;/span&amp;gt;
          &amp;lt;label for=&amp;quot;degreeInput&amp;quot; class=&amp;quot;py-sm-2&amp;quot;&amp;gt;Degree&amp;lt;/label&amp;gt;
          &amp;lt;div class=&amp;quot;input-group&amp;quot;&amp;gt;
            &amp;lt;input type=&amp;quot;number&amp;quot; class=&amp;quot;form-control&amp;quot; id=&amp;quot;inputDegree&amp;quot; name=&amp;quot;inputDegree&amp;quot; placeholder=&amp;quot;Enter Degree&amp;quot; value=&amp;quot;0&amp;quot; /&amp;gt;
            &amp;lt;div class=&amp;quot;input-group-append&amp;quot;&amp;gt;
              &amp;lt;select class=&amp;quot;form-control&amp;quot; id=&amp;quot;selectInputDegreeType&amp;quot;&amp;gt;
                &amp;lt;option value=&amp;quot;C&amp;quot; selected&amp;gt;&amp;amp;deg;C&amp;lt;/option&amp;gt;
                &amp;lt;option value=&amp;quot;F&amp;quot;&amp;gt;&amp;amp;deg;F&amp;lt;/option&amp;gt;
                &amp;lt;option value=&amp;quot;K&amp;quot;&amp;gt;K&amp;lt;/option&amp;gt;
              &amp;lt;/select&amp;gt;
            &amp;lt;/div&amp;gt;
          &amp;lt;/div&amp;gt;
          &amp;lt;label for=&amp;quot;selectConversionType&amp;quot; class=&amp;quot;py-sm-2&amp;quot;&amp;gt;Convert In&amp;lt;/label&amp;gt;
          &amp;lt;div class=&amp;quot;input-group d-inline-block&amp;quot;&amp;gt;
            &amp;lt;div class=&amp;quot;input-group-append&amp;quot;&amp;gt;
              &amp;lt;select class=&amp;quot;form-control&amp;quot; id=&amp;quot;selectConversionType&amp;quot;&amp;gt;
                &amp;lt;option value=&amp;quot;F&amp;quot; selected&amp;gt; Fahrenheit (&amp;amp;deg;F) &amp;lt;/option&amp;gt;
                &amp;lt;option value=&amp;quot;C&amp;quot;&amp;gt;Celcius (&amp;amp;deg;C)&amp;lt;/option&amp;gt;
                &amp;lt;option value=&amp;quot;K&amp;quot;&amp;gt;Kelvin (K)&amp;lt;/option&amp;gt;
              &amp;lt;/select&amp;gt;
            &amp;lt;/div&amp;gt;
          &amp;lt;/div&amp;gt;
          &amp;lt;button type=&amp;quot;submit&amp;quot; class=&amp;quot;convertBtn
                                btn btn-lg
                                col-12 col-md-6
                                offset-md-3
                                mt-4
                                rounded-pill
                                d-flex
                                justify-content-center
                                align-items-center
                                text-white&amp;quot;&amp;gt; Convert&amp;amp;emsp; &amp;lt;svg class=&amp;quot;mt-1&amp;quot; xmlns=&amp;quot;http://www.w3.org/2000/svg&amp;quot; width=&amp;quot;15px&amp;quot; height=&amp;quot;15px&amp;quot; viewBox=&amp;quot;0 0 21.367 20.826&amp;quot;&amp;gt;
              &amp;lt;path id=&amp;quot;Icon_awesome-arrow-right&amp;quot; data-name=&amp;quot;Icon awesome-arrow-right&amp;quot; d=&amp;quot;M9.085,4.042l1.059-1.059a1.14,1.14,0,0,1,1.617,0l9.271,9.266a1.14,1.14,0,0,1,0,1.617L11.76,23.137a1.14,1.14,0,0,1-1.617,0L9.085,22.078A1.146,1.146,0,0,1,9.1,20.443l5.747-5.475H1.145A1.142,1.142,0,0,1,0,13.823V12.3a1.142,1.142,0,0,1,1.145-1.145H14.85L9.1,5.678A1.138,1.138,0,0,1,9.085,4.042Z&amp;quot; transform=&amp;quot;translate(0 -2.647)&amp;quot; fill=&amp;quot;#fff&amp;quot; /&amp;gt;
            &amp;lt;/svg&amp;gt;
          &amp;lt;/button&amp;gt;
        &amp;lt;/div&amp;gt;
      &amp;lt;/div&amp;gt;
    &amp;lt;/form&amp;gt;
  &amp;lt;/div&amp;gt;
&amp;lt;/div&amp;gt;
&amp;lt;div class=&amp;quot;card resultSection col-12 col-md-6&amp;quot;&amp;gt;
  &amp;lt;div class=&amp;quot;card-body d-flex justify-content-center
                align-items-center&amp;quot;&amp;gt;
    &amp;lt;div id=&amp;quot;resultValueSection&amp;quot;&amp;gt;
      &amp;lt;div id=&amp;quot;convertedDegree&amp;quot;&amp;gt;32&amp;lt;/div&amp;gt;
      &amp;lt;h3 id=&amp;quot;degree&amp;quot;&amp;gt;&amp;amp;deg;&amp;lt;/h3&amp;gt;
      &amp;lt;h3 id=&amp;quot;convertedUnit&amp;quot;&amp;gt;F&amp;lt;/h3&amp;gt;
    &amp;lt;/div&amp;gt;
  &amp;lt;/div&amp;gt;
&amp;lt;/div&amp;gt;
&lt;/code&gt;&lt;br&gt;
By finishing the two steps above, we’ve completed the structure part.. Your output will look something like this:
&lt;img src="https://ucarecdn.com/ff80e28b-3d97-4aae-879f-7a757a6d346f/" alt="demo1.jpeg"&gt;&lt;/p&gt;

&lt;p&gt;Doesn’t look like our final design? Don’t worry. In the next step, we use custom CSS to style and design our website.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Useful references&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://getbootstrap.com/docs/4.6/layout/overview/"&gt;Bootstrap Layout&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://getbootstrap.com/docs/4.6/components/card/"&gt;Bootstrap Cards&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://getbootstrap.com/docs/4.6/components/input-group/"&gt;Bootstrap Input-Groups&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://getbootstrap.com/docs/4.6/components/forms/"&gt;Bootstrap Forms&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;Step 1: Add custom CSS styling&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Use the &lt;a href="https://www.notion.so/472681e481af54f417febc5fc8bbee65"&gt;reference code&lt;/a&gt; to add styling or add your own custom styles.&lt;/p&gt;

&lt;p&gt;Your result will look something like this: &lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;pre&gt;&lt;code&gt;- **On small screens or mobile:**

![image6.png](https://ucarecdn.com/d84004e0-0e56-4b1b-86d6-47bd124f3358/)

- **On medium to large screen or PC:**
![image7.jpeg](https://ucarecdn.com/f7f9db4f-1970-421e-a8b4-4adb5c99dda8/)
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Now that we&amp;#39;ve completed all our styling work at this stage, simply add JS functionality and then the project is ready to deploy.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.codementor.io/projects/web/temperature-converter-website-atx32dy7mf?ref=temperatureconverter"&gt;You can build this project yourself! Start the project now.&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;Step 2: Create convert functions for all three units&lt;/h3&gt;

&lt;p&gt;It&amp;#39;s time to create the functions that will convert our input degree to the desired unit. First, let&amp;#39;s understand how this works.
&lt;img src="https://ucarecdn.com/e9796b80-270f-47b0-9780-e4c27d7f3ca2/" alt="Diagram.png"&gt;&lt;/p&gt;

&lt;p&gt;Our function will take two arguments: &lt;code&gt;input temperature value&lt;/code&gt; and &lt;code&gt;output temperature unit type&lt;/code&gt;. The function will check the output unit type, apply the formula according to the &lt;code&gt;output temperature unit type&lt;/code&gt;, and return the converted value.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Fahrenheit Converter ( °F  ⇒&lt;/strong&gt; °C or K &lt;strong&gt;)&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This function will only convert the Fahrenheit temperature value into Celsius or Kelvin. So whenever the user enters a °F value, we have to call this function. The reference code is shown below:&lt;/p&gt;

&lt;p&gt;```jsx
// Fahrenheit Converter
function fTo(inputDegreeValue, conversionDegreeType) {&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;let temperature = &amp;#39;&amp;#39;;

switch (conversionDegreeType) {
    case &amp;#39;F&amp;#39;:
        temperature = inputDegreeValue;
        break;
    case &amp;#39;C&amp;#39;:
        temperature = eval((inputDegreeValue - 32) * (5 / 9));
        break;
    case &amp;#39;K&amp;#39;:

        temperature = eval((inputDegreeValue + 459.67) * (5 / 9));
        break;

}
return temperature;
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;}
```&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Celsius&lt;/strong&gt; &lt;strong&gt;Converter ( °C  ⇒&lt;/strong&gt; °F or K &lt;strong&gt;)&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This function will only convert the Celsius temperature value into Fahrenheit or Kelvin. So whenever the user enters a °C value, we have to call this function. The reference code is shown below:&lt;/p&gt;

&lt;p&gt;```jsx
// Celcius Converter&lt;/p&gt;

&lt;p&gt;function cTo(inputDegreeValue, conversionDegreeType) {&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;let temperature = &amp;#39;&amp;#39;;

switch (conversionDegreeType) {

    case &amp;#39;C&amp;#39;:
        temperature = inputDegreeValue;
        break;
    case &amp;#39;F&amp;#39;:
        temperature = eval((inputDegreeValue * (9 / 5)) + 32);
        break;
    case &amp;#39;K&amp;#39;:
        temperature = eval(inputDegreeValue + 273.15);
        break;

}

return temperature;
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;}
```&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Kelvin&lt;/strong&gt; &lt;strong&gt;Converter ( K  ⇒&lt;/strong&gt; °F or °C &lt;strong&gt;)&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This function will only convert Kelvin temperature value into Fahrenheit or Celsius. When a user enters a K value, we have to call this function. The reference code is shown below:
```
// Kelvin Converter&lt;/p&gt;

&lt;p&gt;function kTo(inputDegreeValue, conversionDegreeType) {&lt;/p&gt;

&lt;p&gt;let temperature = &amp;#39;&amp;#39;;&lt;/p&gt;

&lt;p&gt;switch (conversionDegreeType) {
    case &amp;#39;K&amp;#39;:
        temperature = inputDegreeValue;
        break;
    case &amp;#39;F&amp;#39;:
        temperature = eval((inputDegreeValue - 273.15) * (9 / 5) + 32);
        break;
    case &amp;#39;C&amp;#39;:
        temperature = eval((inputDegreeValue - 273.15));
        break;&lt;/p&gt;

&lt;p&gt;}
return temperature;
}
```
&lt;a href="https://www.codementor.io/search/mentors?q=javascript?ref=temperatureconverter"&gt;Got stuck on the project? Find a Javascipt expert here!&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;Step 3: Receive user input and send output on webpage&lt;/h3&gt;

&lt;p&gt;This is where DOM comes in. Whenever user click submit button, the output should appear in the results section. We&amp;#39;ll do this by creating a function, &lt;code&gt;convertInputDegree()&lt;/code&gt;. This function will take the user inputs, check the type of input degree unit, and call the function we created in step 2.&lt;/p&gt;

&lt;p&gt;If the user has entered a Celsius degree unit and wants to convert it into Kelvin, the function will take the &lt;code&gt;input degree value&lt;/code&gt; and &lt;code&gt;input degree unit&lt;/code&gt; and call the &lt;code&gt;cTo()&lt;/code&gt; function. Then the &lt;code&gt;cTo()&lt;/code&gt; function will check the &lt;code&gt;output unit type&lt;/code&gt; and returns the appropriate result. The result will be stored in a variable &lt;code&gt;resultValue&lt;/code&gt; and the value will be pushed into the result section.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;As we want the &lt;code&gt;input value&lt;/code&gt; when user submit the form but default behavior of form after submit button is clicked to take the input values from user level to server level and page will be redirect to the current URL by appending the input values as query string parameters and value of the input field will revert back to &lt;strong&gt;0&lt;/strong&gt;. &lt;/p&gt;

&lt;p&gt;That&amp;#39;s why on form submission we are calling &lt;code&gt;convertInputDegree()&lt;/code&gt;  instead of it&amp;#39;s default action.&lt;/p&gt;

&lt;p&gt;```jsx
// On Form submission prevent the default action and call the function to update the result&lt;/p&gt;

&lt;p&gt;$(&amp;#39;form&amp;#39;).submit(function (event) {
    event.preventDefault(); // to prevent the default action
    convertInputDegree()
});
```&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Create &lt;code&gt;convertInputDegree()&lt;/code&gt; function to update results.&lt;/p&gt;

&lt;p&gt;```jsx
function convertInputDegree() {&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;let inputDegree = parseInt($(&amp;#39;#inputDegree&amp;#39;).val());
let selectInputDegreeType = $(&amp;#39;#selectInputDegreeType&amp;#39;).val();
let conversionType = $(&amp;#39;#selectConversionType&amp;#39;).val();

let resultValue = &amp;quot;&amp;quot;;

switch (selectInputDegreeType) {

    case &amp;quot;C&amp;quot;:
        resultValue = cTo(inputDegree, conversionType);
        break;

    case &amp;quot;F&amp;quot;:
        resultValue = fTo(inputDegree, conversionType);
        break;

    case &amp;quot;K&amp;quot;:
        resultValue = kTo(inputDegree, conversionType);
        break;

}

// To prevent NaN
if (isNaN(inputDegree)) {
    $(&amp;#39;#convertedDegree&amp;#39;).text(&amp;#39;&amp;#39;);
    return;
}

// To update the Degree Unit
$(&amp;#39;#convertedUnit&amp;#39;).text(conversionType)

// To update the Degree Value
if (conversionType === selectInputDegreeType) {

    $(&amp;#39;#convertedDegree&amp;#39;).text(inputDegree);
} else {

    return $(&amp;#39;#convertedDegree&amp;#39;).text(resultValue.toFixed(2));

}
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;}
```&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://www.codementor.io/search/mentors?q=javascript?ref=temperatureconverter"&gt;Got questions? Find a Javascipt expert to help you.&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;Step 4: &lt;strong&gt;Update results in real-time&lt;/strong&gt;&lt;/h3&gt;

&lt;p&gt;We’re almost finished building our temperature converter! However, there’s one but if the users have to click the submit button again and again, it will provide a bad user experience. We can fix this by updating the output value in real-time. To do this, we can call the function &lt;code&gt;convertInputDegree()&lt;/code&gt; when users select a different input or output unit. The code should look like this:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;jsx
// Realtime Update
$(&amp;#39;#inputDegree&amp;#39;).on(&amp;#39;input&amp;#39;, () =&amp;gt; convertInputDegree());
$(&amp;#39;#selectInputDegreeType&amp;#39;).change(() =&amp;gt; convertInputDegree());
$(&amp;#39;#selectConversionType&amp;#39;).change(() =&amp;gt; convertInputDegree());
&lt;/code&gt;&lt;/p&gt;

&lt;h2&gt;Result&lt;/h2&gt;

&lt;p&gt;Once we&amp;#39;ve completed all of the above steps, this is what the final preview will look like:
&lt;img src="https://ucarecdn.com/891c854f-e22b-4dd9-9d9f-98b66a9e217e/" alt="result.gif"&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.codementor.io/projects/web/temperature-converter-website-atx32dy7mf?ref=temperatureconverter"&gt;Want to build this project? Start building now!&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Time to deploy&lt;/h2&gt;

&lt;p&gt;The last thing to do is to deploy the website using GitHub pages. In order to use GitHub pages, we have to make a GitHub repository for this project first.&lt;/p&gt;

&lt;h3&gt;1. &lt;strong&gt;Create a GitHub repository&lt;/strong&gt;&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;Open your browser and go to &lt;a href="https://github.com/"&gt;https://github.com/&lt;/a&gt; and make sure you&amp;#39;re logged In. &lt;/li&gt;
&lt;li&gt;&lt;p&gt;Click on the &lt;code&gt;+&lt;/code&gt; icon on the navbar in the top right corner:
&lt;img src="https://ucarecdn.com/a9609733-47e2-4c60-9bea-06314902c7b9/" alt="deploy1.png"&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Click on &lt;code&gt;New repository&lt;/code&gt; in the drop-down box:&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;img src="https://ucarecdn.com/65b7653d-4af0-4133-b528-4cfd7175b3e6/" alt="deploy2.png"&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Enter the name of the repository, keep everything default, and click &lt;code&gt;Create repository&lt;/code&gt; on the new page:&lt;/p&gt;

&lt;p&gt;&lt;img src="https://ucarecdn.com/e3cf09b3-d6d3-4fb4-9c4d-21eeca557bbd/" alt="deploy3.png"&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Our repository has been created. Copy the highlighted line to VSCode:&lt;/p&gt;

&lt;p&gt;&lt;img src="https://ucarecdn.com/8567e0a0-0da0-4675-bab7-f741bc51d473/" alt="deploy4.png"&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;2. &lt;strong&gt;Initialize Git in your project&lt;/strong&gt;&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Open a new terminal in VSCode and type this command. This command will:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;bash
git init
git add .
git branch -M master
git commit -m &amp;quot;Your message&amp;quot;
&lt;/code&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Sync our online GitHub repository with local repository &lt;/p&gt;

&lt;p&gt;&lt;code&gt;bash
git remote add origin https://github.com/karan-kmr/Temperature-unit-converter.git
&lt;/code&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Command to push or send your files to the online repository:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;bash
git push -u origin master
&lt;/code&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Refresh the GitHub repository page:&lt;/p&gt;

&lt;p&gt;&lt;img src="https://ucarecdn.com/0bba6f62-0fa3-4e0e-b2f3-a683400c2e29/" alt="deploy5.png"&gt;&lt;/p&gt;

&lt;p&gt;All of our project files have been pushed to our GitHub repo. &lt;/p&gt;

&lt;p&gt;There are only two more steps to making our website live! 💪🏼&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;3. &lt;strong&gt;Setup GitHub Pages&lt;/strong&gt;&lt;/h3&gt;

&lt;p&gt;Here are the steps to setup GitHub pages for your project:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Go to &lt;code&gt;Settings&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Scroll down and click on &lt;code&gt;pages&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Change branch from &lt;code&gt;none&lt;/code&gt; to &lt;code&gt;master&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Click on &lt;code&gt;Save&lt;/code&gt; button&lt;/li&gt;
&lt;li&gt;Our site is live 🎉&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;If the steps above aren&amp;#39;t clear enough, here&amp;#39;s a video to help you out:&lt;/p&gt;

&lt;p&gt;@&lt;a href="https://youtu.be/bK5s0HhiORI"&gt;Demo&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Here is the &lt;a href="https://www.codementor.io/project-solutions/cq6kpyhvu9?ref=tempconvertblog"&gt;Project Demo&lt;/a&gt; and &lt;a href="https://github.com/karan-kmr/temperature-converter"&gt;Source Code&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;Recap&lt;/h2&gt;

&lt;p&gt;Here are some of the things we created in this tutorial:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A full structure using Bootstrap classes.&lt;/li&gt;
&lt;li&gt;A fully responsive website.&lt;/li&gt;
&lt;li&gt;A temperature converter that allows users to cover from Fahrenheit, Celsius, and Kelvin to each other.&lt;/li&gt;
&lt;li&gt;A website that updated the output in real time&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Congratulations! 🎉 You&amp;#39;ve successfully created a temperature converter website.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Written by Karan Kumar&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.codementor.io/projects?ref=tempconvertblog"&gt;&lt;img src="https://ucarecdn.com/82725990-3199-485a-a2d1-3b85aed0479d/" alt="alpaca.gif"&gt;&lt;/a&gt;&lt;/p&gt;
</content>
    <description>This tutorial will take you step-by-step to build a temperature converter website. For the full project spec, you can check it out on DevProjects!</description>
  </entry>
  <entry>
    <title type="html">Guest post: Mobile App Development Process [9 Steps Detailed Guide]</title>
    <link rel="alternate" href="https://www.codementor.io/blog/guest-post-mobile-app-development-process-9-steps-detailed-guide-cjeogixsiq"/>
    <id>tag:www.codementor.io,2014:259</id>
    <updated>2024-11-15T08:49:09Z</updated>
    <published>2021-08-03T10:34:57Z</published>
    <pubDate>2021-08-03T10:34:57Z</pubDate>
    <author>
      <name>Codementor Team</name>
      <email>support@codementor.io</email>
    </author>
    <dc:creator>Codementor Team</dc:creator>
    <enclosure url="https://cdn.codementor.io/assets/placeholder/tutorial_default-eae340c0f7cc8f733d316ee5d030ce700858265ac902876e45d46ef44ac7dd88.png"/>
    <content type="html">&lt;p&gt;Mobile app development is the action of developing mobile apps for mobile devices such as mobile phones, tablets and other personal assisting digital technologies.&lt;/p&gt;

&lt;p&gt;A vast majority of these gadgets are working with operating systems Android or iOS, with market share accordingly 73% and 27%.&lt;/p&gt;

&lt;h2&gt;How are mobile apps developed?&lt;/h2&gt;

&lt;p&gt;For Android mobile app development we have its official language Java. Almost all of the applications on PlayStore are made with the help of Java language which then became the most supported programming language for Google. This is also considered to be one of the most complicated programming languages, that’s why mobile app development problems can easily be solved with its help.&lt;/p&gt;

&lt;p&gt;But nowadays another powerful language has come to the platform to replace Java for mobile app development: Kotlin. This is an alternative programming language for app development to replace Java, being used by Android. Kotlin is much simpler than Java, that’s why Android decided to take it as the official Android programming language in 2019.&lt;/p&gt;

&lt;p&gt;Actually, there is not any very specific language for Android development. Languages such as C++, Python, Java Script, HTML and others are used for the creation and development of Android apps varying from different aspects of applications’ uses. Applications such as messengers, photo and video editors, music players and other kinds are easily created in all the languages mentioned, based on how complex it is. &lt;/p&gt;

&lt;p&gt;As for iOS the language used is completely different. For Apple products, the programming language is Swift. It helps create apps that run with the speed of light. We should take into account the safety it offers, it eliminates all the possible unsafe code classes. This is iOS&amp;#39;s main programming language since 2014, and a noteworthy fact is that Swift was created by Apple, so it meets all the requirements of iOS. According to iOS developers, Swift helps to create apps relatively quickly, it is easy to learn and it is regularly updated which helps to make app developments easily.&lt;/p&gt;

&lt;h2&gt;Why develop mobile apps?&lt;/h2&gt;

&lt;p&gt;Building and developing mobile apps has become a different kind of priority for many companies despite the difficulties they face between different lines. Benefits of special app development should be taken from a deep strategic analysis.Some apps require annual development, some monthly, and some follow the needs of users.Use  Instagram management analyses statistics to make sure IG account holders do not miss any trend use, design needs or renovations of the app.&lt;/p&gt;

&lt;p&gt;Development tools are specified for Android and for iOS based on the programming languages we have been speaking about. Having mobile software has become a necessity for a lot of companies, so the possession and development should be taken into action based on the strategies companies have and therefore specified advantages and disadvantages.&lt;/p&gt;

&lt;p&gt;Apps demonstrate some kind of level of performance due to the specified platform it has been optimized for. Apps respond fast: they are made for covering some specific needs for a specified platform. Let’s have a look at some examples. We have never had a chance to save thumbnails from YouTube directly from its web platform or application. But the need always existed. So, some companies understood the need well and invested in creation for an application for &lt;a href="https://www.softr.io/tools/download-youtube-thumbnail"&gt;YouTube thumbnail download&lt;/a&gt;.  &lt;/p&gt;

&lt;p&gt;While some companies are working on development of already existing applications, others analyse client retention well and bring new values in the world of apps. Better examples are the applications that are based on the folder, so said folder- based app investments on PlayStore. All of us have surely seen those kinds of apps that suggest a full package of any educational sphere. For example, business interested people are invited to download an application that contains video learnings and evaluations. And one major element as well: companies analyse well the needs of their clients, future targets and segments. With the investment of online shops due to mobile app developments, people are more likely to start a business for the base platform already given to them as well as by having solved a lot of problems such as tax payment problems, targeted audience, journal solutions, etc. As well as investors and already account holders meet their content production on the app platforms.&lt;/p&gt;

&lt;p&gt;Bringing more interactivity is a goal for a lot of companies such as selecting already specified segments and then specifying a target to meet their needs. Apps are for the use of the clients, so their future developments must have the base of users’ needs. Apps should be an integrative part of a device, so that users find it enjoyable and effective. &lt;/p&gt;

&lt;p&gt;Apps have the ability of accessing the hardware of any device or gadget, for example accessing camera, contacts, calendar and many other sections of your phone after the installation of the application. Paying application based companies use &lt;a href="https://www.referralcandy.com/blog/how-to-create-a-buyer-persona"&gt;buyer personas&lt;/a&gt; for classification of the users who pay for the usage of the app for better classement and having them as strategy process making integrative part. As well as development updates are being informed directly to their users with the help of &lt;a href="https://dexatel.com/integration/"&gt;sms integration&lt;/a&gt; to show the users their importance and invite them to try the renewed one.&lt;/p&gt;

&lt;h2&gt;9 specified mobile app development steps&lt;/h2&gt;

&lt;h3&gt;1. Market research&lt;/h3&gt;

&lt;p&gt;All the developing steps should have the base of the right market research based on activities your company wants to run. Analytic tools take a big part in decision- making instruments as we talk about strategy. Research will give you all the answers about competitors, their strategy, about users, how to make the right segmentation and decide the target. Outlining well the strengths and weaknesses, you will make options to exceed other companies as a new business.&lt;/p&gt;

&lt;p&gt;Customer reviews and feedback are always pro for the right decision making strategy. It also helps you to understand what are the values that you are going to change or add.&lt;/p&gt;

&lt;h3&gt;2. Defining and targeting audience&lt;/h3&gt;

&lt;p&gt;As we have already mentioned above, targeting is critically important for the clients retention. You get the answer about the functionality updates needed as well as the appreciation of the want to use. By targeting, you make your company’s goal clear and invest the right resources for the realisation. It can also help you in your &lt;a href="https://rocketium.com/academy/how-to-build-a-bankable-user-acquisition-strategy/"&gt;user acquisition&lt;/a&gt; as well as successful marketing strategies. &lt;/p&gt;

&lt;p&gt;Your company’s image comes right from the goal achievement; do they take the benefits you have been planning for? &lt;/p&gt;

&lt;p&gt;So, by defining and targeting, you meet the needs of media platform users, make your goal clear and work for beneficial satisfaction.&lt;/p&gt;

&lt;h3&gt;3. Is the app going to be paid by users?&lt;/h3&gt;

&lt;p&gt;Based on the content you are going to suggest, you decide whether your app is going to be a free-using one or be paid by users. Paid apps are revenue sources, and are mostly premium, ad-free apps that suppose a completely different platform and superior value system for the users. If your app is to be used with special software, make sure you implement proper &lt;a href="https://wordable.io/saas-marketing-metrics/"&gt;SaaS metrics&lt;/a&gt; and features from the software itself. This will turn your product into a whole. &lt;/p&gt;

&lt;p&gt;Free using apps have their pro versions for which users pay and the company generates income. Some extra parts are added in the app including content and features. Subscriptions are playing a major role and make segments bigger.&lt;/p&gt;

&lt;h3&gt;4. Application programming language&lt;/h3&gt;

&lt;p&gt;We managed to discuss what the programming language is, what types exist, what are their benefits and which operating systems prefer. By choosing an app- language, specialists take into consideration the abilities of it for working on faster, trustworthy and reliable language. App’s platform support, distribution and access are decided by the power of language used.&lt;/p&gt;

&lt;h3&gt;5. Pre-launch your app&lt;/h3&gt;

&lt;p&gt;Define well your branding: find the right logo, colors, presentations and influencers; do not mess with the image of a brand. Make sure to use paid ads, Facebook sponsored posts, and special &lt;a href="https://www.hopperhq.com/instagram-hashtag-finder"&gt;Instagram hashtags&lt;/a&gt; to let everyone know about your upcoming app. Pay attention to the content you suggest, it shows a part of the value given to a user.&lt;/p&gt;

&lt;p&gt;By creating beta options for an app, specialists take the advantage to add the features they want to launch in the main app. They suggest the betta usage for the account holders, who meet new features earlier than others, give their reviews and feedback which later help to evaluate the program. &lt;/p&gt;

&lt;h3&gt;6. Make your app image clear on the platform&lt;/h3&gt;

&lt;p&gt;Mobile app users download their apps from AppStore and from PlayStore. They pay huge attention to the presented image of the app. 
- What kind of logo does it have?
- Do the colors match the app?
- Do app screenshots show highlighted benefits?
- Does the app have the right description?
- Do app developed changes highlight changes and values?
- Does the inserted video summarize all the app features?&lt;/p&gt;

&lt;h3&gt;7. Pay attention to the security&lt;/h3&gt;

&lt;p&gt;Security has an important role in app usage. It summarizes account holders’ rights, their personal information, tracking, terms and conditions section’s conservation. You may need legal consulting, implementing safety measures in the app. Your app holder’s data is an important asset and it plays a giant role for your company’s trust.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.tailorbrands.com/llc-formation"&gt;Setting up an LLC&lt;/a&gt; adds more credibility by formalizing your business structure and offering liability protection. This step shows users that you prioritize responsibility and transparency. Once other sections, elements and developments are easy to change with user offers, the trust image can be hardly recovered.&lt;/p&gt;

&lt;h3&gt;8. Bases and resources&lt;/h3&gt;

&lt;p&gt;Despite the language bases we discuss, other bases and app generating resources should be taken into account. Besides the assets we pay attention to as important resources like the budget, we must follow what happens in the fields of legal affairs, politics, environment, society, and monetization. Those are world changing bases that we can not rule, change. The only thing left is to make the best strategy that meets all the needs followed by the world changing bases. Concentrate on app developers, who analyse and discover the most important elements for the app’s progress. Track the &lt;a href="https://www.waybook.com/blog/10-step-employee-onboarding-process"&gt;employee onboarding process&lt;/a&gt;, make notes about professionals, pay attention to their further records and make sure you find fellow training for higher levels.&lt;/p&gt;

&lt;h3&gt;9. Keep tracking development stages&lt;/h3&gt;

&lt;p&gt;Each of the points from one to eight is extremely important for having the right strategy development process.  Violating the importance of any element playing an important role both for your company’s and app’s value, image can bring critical consequences. Mobile apps are used by the vast majority of the world and demand a time- to- time developing process. Making the right strategy will help you have specified and categorized decision making guided development processes.&lt;/p&gt;
</content>
    <description>Here's what developing a mobile app looks like. </description>
  </entry>
  <entry>
    <title type="html">Java String Basics and Java String Conversions</title>
    <link rel="alternate" href="https://www.codementor.io/blog/java-string-cj3j4tddhj"/>
    <id>tag:www.codementor.io,2014:258</id>
    <updated>2021-10-29T03:32:10Z</updated>
    <published>2021-08-02T05:00:26Z</published>
    <pubDate>2021-08-02T05:00:26Z</pubDate>
    <author>
      <name>Jennifer Fu</name>
      <email>jennifer@codementor.io</email>
    </author>
    <dc:creator>Jennifer Fu</dc:creator>
    <enclosure url="https://ucarecdn.com/3be48764-a372-4855-b425-a277f034cd21/"/>
    <content type="html">&lt;p&gt;A Java String is made up of a sequence of characters and is used to store text. For example, “Codementor” is a String of 9 characters. A Java String is an immutable object, which means that once it has been created, it cannot be changed. &lt;/p&gt;

&lt;p&gt;In this beginner-friendly tutorial, we’ll walk through some Java String basics and teach you how to convert Java int to String, Java char to String, and Java array to String. &lt;/p&gt;

&lt;p&gt;If you’re interested in digging deeper into Java Strings &amp;amp; more Java related subjects, you can find an &lt;a href="https://www.codementor.io/java-experts?ref=JavaStringBlog"&gt;experienced Java mentor&lt;/a&gt; to teach you or find some tutorials online!&lt;/p&gt;

&lt;p&gt;[[TOC]]&lt;/p&gt;

&lt;h2&gt;Java String Overview&lt;/h2&gt;

&lt;h3&gt;Create a Java String object&lt;/h3&gt;

&lt;p&gt;To create a Java String, you must create the type, &lt;code&gt;String&lt;/code&gt;, before assigning a value to it:
&lt;code&gt;
public class Main {
  public static void main(String[] args) {
    String Company = &amp;quot;Codementor&amp;quot;;
    System.out.println(Company);
  }
}
&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Output:&lt;/strong&gt;
&lt;code&gt;
Codementor
&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;The example above is done by assigning a String literal to a String instance. If you want to have two different objects with the same String, you would need to create Strings using a new keyword.The code would look like this:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;
public class Main {
  public static void main(String[] args) {
    String language = &amp;quot;Java&amp;quot;;
    String languageConversion = new String(&amp;quot;Converting Java int, char, array to Java string&amp;quot;); 
    System.out.println(lagnuage);
    System.out.println(companyDescription);
  }
}
&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Output:&lt;/strong&gt;
&lt;code&gt;
Java
Converting Java int, char, array to Java string
&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Another way to work with Strings is to convert characters into a String. We will go into this in the last section of the tutorial.&lt;/p&gt;

&lt;h3&gt;Find the length of a Java String&lt;/h3&gt;

&lt;p&gt;If you want to find out how many characters are in a String, you can simply use the &lt;code&gt;length()&lt;/code&gt; method. Here’s an example:
&lt;code&gt;
public class JavaStringLength{  
public static void main(String args[]){  
String txt = &amp;quot;Need to learn how to apply Java String to your projects?&amp;quot;;
System.out.println(&amp;quot;The length of the txt String is: &amp;quot; + txt.length());
}}
&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Output:&lt;/strong&gt;
&lt;code&gt;
The length of the txt String is: 56
&lt;/code&gt;
⚠️ &lt;strong&gt;Note:&lt;/strong&gt; The length of the Java String includes the white spaces as well.&lt;/p&gt;

&lt;h3&gt;Concatenate Java Strings&lt;/h3&gt;

&lt;p&gt;There are three ways to mix two Strings and generate a new String in Java. You can use the “+” operator, the concat() method, or the &lt;code&gt;StringBuffer&lt;/code&gt; and &lt;code&gt;StringBuilder&lt;/code&gt; classes.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Using the “+” operator&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The + operator allows you to combine two Java String literals:
&lt;code&gt;
public class Main {
  public static void main(String[] args) {
    String str1 = &amp;quot;Java&amp;quot;;
    String str2 = &amp;quot;String&amp;quot;; 
    String result = str1+str2;
    System.out.println(result);
  }
}
&lt;/code&gt;
&lt;strong&gt;Output&lt;/strong&gt;
&lt;code&gt;
JavaString
&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Using the &lt;code&gt;concat()&lt;/code&gt; method&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The &lt;code&gt;concat()&lt;/code&gt; method accepts a Java String value and creates a new string object that combines str1 and str2.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;
public class Main {
  public static void main(String[] args) {
    String str1 = &amp;quot;Java&amp;quot;;
    String str2 = &amp;quot;String&amp;quot;; 
    String result = str1.concat(str2);
    System.out.println(result);
  }
}
&lt;/code&gt;
&lt;strong&gt;Output:&lt;/strong&gt;
&lt;code&gt;
JavaString
&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Using &lt;code&gt;StringBuilder&lt;/code&gt; (or &lt;code&gt;StringBuffer&lt;/code&gt;) class&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Java String concatenation can be done using the &lt;code&gt;StringBuilder&lt;/code&gt; class and the append method. &lt;code&gt;StringBuilder&lt;/code&gt; classes are similar to Java Strings, but they are mutable. In combination with the &lt;code&gt;append()&lt;/code&gt; method, we can add a String value to existing &lt;code&gt;StringBuilder&lt;/code&gt; objects.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;
public class Main {
  public static void main(String[] args) {
    String str1 = &amp;quot;Java&amp;quot;;
    String str2 = &amp;quot;Mentors&amp;quot;; 
    StringBuilder sb = new StringBuilder (str1);
    sb.append(str2);
    System.out.println(sb);
  }
}
&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Output:&lt;/strong&gt;
&lt;code&gt;
JavaMentors
&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.codementor.io/java-experts?ref=JavaStringBlog"&gt;&lt;img src="https://ucarecdn.com/85893968-44bd-4062-9030-b941e9ec4a27/" alt="Java help Java coding Java string.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Java int to String Conversion&lt;/h2&gt;

&lt;p&gt;When you want to display numbers in textfields, you would have to convert integers into Strings. This is because everything is displayed as a String in Java. There are multiple ways to convert int to String in Java, we’ll cover four types in this section:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Using &lt;code&gt;String.valueOf()&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Using &lt;code&gt;Integer.toString()&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Using &lt;code&gt;StringBuilder()&lt;/code&gt; (or &lt;code&gt;StringBuffer()&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;Using &lt;code&gt;String.format()&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;Int to String Java: &lt;code&gt;String.valueOf()&lt;/code&gt; method&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Syntax:&lt;/strong&gt;
&lt;code&gt;
public static String valueOf(int i
&lt;/code&gt;
Here’s a simple and straightforward &lt;strong&gt;example&lt;/strong&gt; to convert int to String in Java:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;
public class IntToStringJava
{
  public static void main(String args[])
  {
    int a = 8888;
    String str3 = String.valueOf(a);
    System.out.println(&amp;quot;String 1 = &amp;quot; + str3);
  }
}
&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Output:&lt;/strong&gt;
&lt;code&gt;
String 1 = 8888
&lt;/code&gt;`&lt;/p&gt;

&lt;p&gt;The &lt;code&gt;String.ValueOf()&lt;/code&gt; method also allows you to add up integers or concatenate integer Strings:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;
public class IntToStringJava
{
  public static void main(String args[])
  {
    int i = 300;
    String str3 = String.valueOf(i);
    System.out.println(i+100);
    System.out.println(str3+100);
  }
}
&lt;/code&gt;
&lt;strong&gt;Output:&lt;/strong&gt;
&lt;code&gt;
400
300100
&lt;/code&gt;
In the example above, &lt;code&gt;(i+100)&lt;/code&gt; returns 400 because &lt;code&gt;+&lt;/code&gt; is a binary plus operator while &lt;code&gt;(str3+100)&lt;/code&gt; returns 300100 because &lt;code&gt;+&lt;/code&gt; is a String concatenation operator.&lt;/p&gt;

&lt;h3&gt;Int to String Java: &lt;code&gt;Integer.toString()&lt;/code&gt; method&lt;/h3&gt;

&lt;p&gt;Integer values are taken in as arguments and returned as  &lt;code&gt;String.valueOf()&lt;/code&gt; Strings. The integer argument ~i~ can be both positive and negative integers. If the integer is negative, the &lt;code&gt;-&lt;/code&gt; sign will be preserved. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Syntax:&lt;/strong&gt;
&lt;code&gt;
public static String toString(int i)
&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Example:&lt;/strong&gt;
&lt;code&gt;
public class IntToStringJava
{
  public static void main(String args[])
  {
    int a = 3011;
    int b = -2948;
    String str1 = Integer.toString(a);
    String str2 = Integer.toString(b);
    System.out.println(&amp;quot;String 1 = &amp;quot; + str1);
    System.out.println(&amp;quot;String 2 = &amp;quot; + str2);
  }
}
&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Output:&lt;/strong&gt;
&lt;code&gt;
String 1 = 3011
String 2 = -2948
&lt;/code&gt;`&lt;/p&gt;

&lt;h4&gt;Int to String Java: &lt;code&gt;StringBuilder&lt;/code&gt; (&lt;code&gt;StringBuffer&lt;/code&gt;) method&lt;/h4&gt;

&lt;p&gt;&lt;code&gt;StringBuilder&lt;/code&gt; and &lt;code&gt;StringBuffer&lt;/code&gt; are two classes that can be used interchangeably to build Strings with the &lt;code&gt;append()&lt;/code&gt; method. To create an object, we can use either of the classes, and pass the integer by calling the &lt;code&gt;append()&lt;/code&gt; method.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Example 1:&lt;/strong&gt;
&lt;code&gt;
public class IntToStringJava
{
  public static void main(String args[])
  {
    int f = 2021;
    StringBuffer sb = new StringBuffer();
    sb.append(f);
    String str1 = sb.toString();
    System.out.println(&amp;quot;String 1 = &amp;quot; + str1);
  }
}
&lt;/code&gt;
&lt;strong&gt;Output:&lt;/strong&gt;
&lt;code&gt;
String 1 = 2021
&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Example 2:&lt;/strong&gt;
&lt;code&gt;
public class IntToStringJava
{
  public static void main(String args[])
  {
    String str1 = new StringBuffer().append(11).toString();
    System.out.println(&amp;quot;String 1 = &amp;quot; + str1);
  }
}
&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Output:&lt;/strong&gt;
&lt;code&gt;
String 1 = 11
&lt;/code&gt;&lt;/p&gt;

&lt;h3&gt;Int to String Java: &lt;code&gt;String.format()&lt;/code&gt; method&lt;/h3&gt;

&lt;p&gt;The &lt;code&gt;String.format()&lt;/code&gt; is versatile and multipurpose. When converting int to Java String, the &lt;code&gt;String.format()&lt;/code&gt; method formats arguments into Strings. As &lt;code&gt;String.format()&lt;/code&gt; is quite complex, this method is not only used for conversion. But to convert int to Java String this method, you’d use &lt;code&gt;%d&lt;/code&gt; as the first argument and the integer as the second argument. The %d String will be replaced by the integer. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Example:&lt;/strong&gt;
&lt;code&gt;
public class IntToStringJava
{  
   public static void main(String args[])
   {  
    int num = 259;  
    String str1 = String.format(&amp;quot;%d&amp;quot;,num);  
    System.out.println(&amp;quot;String 1 = &amp;quot; + str1);  
   }
}
&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Output:&lt;/strong&gt;
&lt;code&gt;
String 1 = 259
&lt;/code&gt;&lt;/p&gt;

&lt;h2&gt;Java Char to String Conversion&lt;/h2&gt;

&lt;p&gt;A char in Java refers to any single character. The character could be a letter, digit, punctuation mark, tab, or space. To convert char to String in Java, we can use the &lt;code&gt;String.valueOf(char)&lt;/code&gt; method in the String class or the &lt;code&gt;Character.toString(char)&lt;/code&gt; method in the Character class. &lt;/p&gt;

&lt;p&gt;⚠️ &lt;strong&gt;Note:&lt;/strong&gt; Converting Java char to String is different from converting Java char &lt;em&gt;array&lt;/em&gt; to String! This tutorial will only cover char to String in Java.&lt;/p&gt;

&lt;h3&gt;Char to String Java: &lt;code&gt;String.valueOf(char)&lt;/code&gt; method&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Example:&lt;/strong&gt;
&lt;code&gt;
public class CharToStringJava
{
   public static void main(String args[])
   {
      char ch = &amp;#39;C&amp;#39;;
      String str = String.valueOf(ch);
      System.out.println(&amp;quot;String is = &amp;quot;+str);
   }
}
&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Output:&lt;/strong&gt;
&lt;code&gt;
String is = C
&lt;/code&gt;&lt;/p&gt;

&lt;h3&gt;Char to String Java: &lt;code&gt;Character.toString(char)&lt;/code&gt; method&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Example:&lt;/strong&gt;
&lt;code&gt;
public class CharToStringJava
{
   public static void main(String args[])
   {
      char ch = &amp;#39;a&amp;#39;;
      String str = Character.toString(ch);
      System.out.println(&amp;quot;String is = &amp;quot;+str);
   }
}
&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Output:&lt;/strong&gt;
&lt;code&gt;
String is = a
&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;⚠️ &lt;strong&gt;Note:&lt;/strong&gt; If the letter for your character is capitalized, the output will remain capitalized. The letter case will remain the same.&lt;/p&gt;

&lt;h2&gt;Java Array to String Conversion&lt;/h2&gt;

&lt;p&gt;Converting an array to String in Java is often required when you want to perform certain actions. For instance, if you want to log array contents or convert values of the array to String in order to invoke other Java methods. To convert an array to String in Java, you can utilize the &lt;code&gt;Array.toString()&lt;/code&gt; method or the &lt;code&gt;StringBuilder append(char[])&lt;/code&gt; method.&lt;/p&gt;

&lt;h3&gt;Array to String Java: &lt;code&gt;Array.toString()&lt;/code&gt; method&lt;/h3&gt;

&lt;p&gt;By using the &lt;code&gt;Arrays.toString()&lt;/code&gt; method, we can turn the contents in the specified array into a String representation. A list of the array’s elements, enclosed in &lt;code&gt;[]&lt;/code&gt;, is returned as a String representation. The different elements in an array are separated by &lt;code&gt;,&lt;/code&gt;. There are different types of arrays and we’ll look at character, integer, double, object, and boolean arrays.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Example:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;```
import java.io.&lt;em&gt;;
import java.util.&lt;/em&gt;;&lt;/p&gt;

&lt;p&gt;public class CharToStringJava {
    public static void main(String[] args)
    {
        char[] charAr
            = new char[] { &amp;#39;C&amp;#39;, &amp;#39;o&amp;#39;, &amp;#39;d&amp;#39;, &amp;#39;e&amp;#39;, &amp;#39;m&amp;#39;, &amp;#39;e&amp;#39;, &amp;#39;n&amp;#39;, &amp;#39;t&amp;#39;, &amp;#39;o&amp;#39;, &amp;#39;r&amp;#39;};
        int[] intAr
            = new int[] { 2, 4, 6, 8 };
        double[] doubAr
            = new double[] { 2, 4, 6, 8 };
        Object[] objAr
            = new Object[] { 1, 2, 3, 4 };
        boolean[] boolAr
            = new boolean[] { true, false, true, true };&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;    System.out.println(
        &amp;quot;Character Array: &amp;quot;
        + Arrays.toString(charAr));
    System.out.println(
        &amp;quot;Integer Array: &amp;quot;
        + Arrays.toString(intAr));
    System.out.println(
        &amp;quot;Double Array: &amp;quot;
        + Arrays.toString(doubAr));
    System.out.println(
        &amp;quot;Object Array: &amp;quot;
        + Arrays.toString(objAr));
    System.out.println(
        &amp;quot;Boolean Array: &amp;quot;
        + Arrays.toString(boolAr));
}
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;}
&lt;code&gt;
**Output:**
&lt;/code&gt;
Character Array: [C, o, d, e, m, e, n, t, o, r]
Integer Array: [2, 4, 6, 8]
Double Array: [2.0, 4.0, 6.0, 8.0]
Object Array: [1, 2, 3, 4]
Boolean Array: [true, false, true, true]
```&lt;/p&gt;

&lt;h3&gt;Array to String Java: &lt;code&gt;StringBuilder append()&lt;/code&gt; method&lt;/h3&gt;

&lt;p&gt;We’ve already talked about the basics of the &lt;code&gt;StringBuilder&lt;/code&gt; class in &lt;a href="#java-string-overview"&gt;Java String Overview&lt;/a&gt;. Here are the steps to convert an array to String in Java using &lt;code&gt;StringBuilder&lt;/code&gt;:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Create an array&lt;/li&gt;
&lt;li&gt;Create a &lt;code&gt;StringBuilder&lt;/code&gt; object&lt;/li&gt;
&lt;li&gt;Iterate the array&lt;/li&gt;
&lt;li&gt;Use the &lt;code&gt;append()&lt;/code&gt; method to append the elements of the array (from step 3)&lt;/li&gt;
&lt;li&gt;Use the &lt;code&gt;toString()&lt;/code&gt; method to return a String instance from the object (from step 2)&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;Example:&lt;/strong&gt;
&lt;code&gt;
class Codementor {
    public Codementor()
    }
    public static void  main(String[] args) {
        String[] data = {&amp;quot;Convert&amp;quot;,&amp;quot;Array&amp;quot;, &amp;quot;to&amp;quot;, &amp;quot;String&amp;quot;, &amp;quot;Java&amp;quot;};
        StringBuilder stringb = new StringBuilder();
        for (int i = 0; i &amp;lt; data.length; i++) {
            stringb.append(data[i]+&amp;quot; &amp;quot;);
        }
        String joinedstr = stringb.toString();
        System.out.println(joinedstr);
    }
}
&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Output:&lt;/strong&gt;
&lt;code&gt;
Convert Array to String Java
&lt;/code&gt;&lt;/p&gt;

&lt;h2&gt;Additional Resources&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://www.codementor.io/java-experts?ref=JavaStringBlog"&gt;Java Tutors for Hire&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.codementor.io/@ghajba/string-concatenation-revised-du1082cil"&gt;Java String Concatenation Explained&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.codementor.io/@eh3rrera/using-java-8-method-reference-du10866vx"&gt;Java 8 Method Reference: How to User it&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.codementor.io/java/tutorial/serialization-and-deserialization-in-java"&gt;Serialization and Deserialization in Java&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://www.codementor.io/java-experts?ref=JavaStringBlog"&gt;&lt;img src="https://ucarecdn.com/85893968-44bd-4062-9030-b941e9ec4a27/" alt="Java help Java coding Java string.png"&gt;&lt;/a&gt;&lt;/p&gt;
</content>
    <description>This beginner-friendly tutorial will introduce some Java String basics and teach you how to convert Java int to String, char to String, and array to String.</description>
  </entry>
  <entry>
    <title type="html">Python String Basics, Python String Methods, and Python String Conversions</title>
    <link rel="alternate" href="https://www.codementor.io/blog/python-string-cdv22ox765"/>
    <id>tag:www.codementor.io,2014:257</id>
    <updated>2021-11-02T07:54:26Z</updated>
    <published>2021-07-14T09:07:14Z</published>
    <pubDate>2021-07-14T09:07:14Z</pubDate>
    <author>
      <name>Jennifer Fu</name>
      <email>jennifer@codementor.io</email>
    </author>
    <dc:creator>Jennifer Fu</dc:creator>
    <enclosure url="https://ucarecdn.com/86788af6-3268-457d-90d6-4bffe5c16393/"/>
    <content type="html">&lt;p&gt;In Python, a string refers to a sequence of characters. String is particularly useful when you’re dealing with textual data in Python. &lt;/p&gt;

&lt;p&gt;In this tutorial, we’ll walk through some Python string basics, the most commonly used Python string methods, and a multitude of ways to convert Python methods into strings. We will specifically look at converting Python list to string, Python int to string, Python bytes to string, and finally, Python datetime to string.&lt;/p&gt;

&lt;p&gt;[[TOC]]&lt;/p&gt;

&lt;h2&gt;Python String Overview&lt;/h2&gt;

&lt;h4&gt;Creating a Python string&lt;/h4&gt;

&lt;p&gt;To create a Python string, you can enclose characters with single quote, double quotes, or triple quotes. While triple quotes can be used for single line strings, it’s most useful for multiline strings and docstrings. Additionally, depending on the complexity of your code, you can name your strings according to best practices:&lt;/p&gt;

&lt;p&gt;```
my&lt;em&gt;string = &amp;#39;Codementor&amp;#39;
print(my&lt;/em&gt;string)&lt;/p&gt;

&lt;p&gt;my&lt;em&gt;string = &amp;quot;Codementor&amp;quot;
print(my&lt;/em&gt;string)&lt;/p&gt;

&lt;p&gt;my&lt;em&gt;string = &amp;#39;&amp;#39;&amp;#39;Codementor&amp;#39;&amp;#39;&amp;#39;
print(my&lt;/em&gt;string)&lt;/p&gt;

&lt;h1&gt;triple quotes string can extend multiple lines&lt;/h1&gt;

&lt;p&gt;my&lt;em&gt;string = &amp;quot;&amp;quot;&amp;quot;Welcome to Codementor,
           find a Python expert to help you learn Python!&amp;quot;&amp;quot;&amp;quot;
print(my&lt;/em&gt;string)
```&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Output:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;code&gt;
Codementor
Codementor
Codementor
Welcome to Codementor,
    find a Python expert to help you learn Python!
&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;💡&lt;strong&gt;Tip:&lt;/strong&gt; You can name your Python string anything! Instead of &lt;code&gt;my_string&lt;/code&gt;, we’ll simply name our Python string &lt;code&gt;s&lt;/code&gt; in the next section.&lt;/p&gt;

&lt;h4&gt;Accessing characters in a Python string&lt;/h4&gt;

&lt;p&gt;Each character in a Python string is assigned an index, and the index starts with 0 and must be an integer. There are two ways of accessing the characters: (1) using positive integers, and (2) using negative integers. &lt;/p&gt;

&lt;p&gt;For negative indexes, the index of &lt;code&gt;-1&lt;/code&gt; refers to the last item, -2 to the second last item, and so on. If you want to access a range of items in a string, you can use the slicing operator, &lt;code&gt;:&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;Here’s an illustration to help you understand how the positive and negative indexes work in a Python String:&lt;/p&gt;

&lt;p&gt;&lt;img src="https://ucarecdn.com/ce46c7ac-37f6-44a2-a7af-c5f36ef9b87a/" alt="Codementor Python String Python help"&gt;&lt;/p&gt;

&lt;p&gt;Once, again, using “Codementor” as an example:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;
s = &amp;#39;Codementor&amp;#39;
print(s[0])
print(s[1])
print(s[2])
print(s[3])
print(s[4])
print(s[5])
print(s[6])
print(s[7])
print(s[8])
print(s[9])
&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Output:&lt;/strong&gt;
&lt;code&gt;
C
o
d
e
m
e
n
t
o
r
&lt;/code&gt;
To get the same output, you&amp;#39;d use negative integers this way:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;
s = &amp;#39;Codementor&amp;#39;
print(s[-10])
print(s[-9])
print(s[-8])
print(s[-7])
print(s[-6])
print(s[-5])
print(s[-4])
print(s[-3])
print(s[-2])
print(s[-1])
&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;You can also access multiple characters from the Python string. For instance:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;
s = &amp;#39;Codementor&amp;#39;
print(s[:])
print(s[:4])
print(s[-6:])
print(s[2:5])
&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Output:&lt;/strong&gt;
&lt;code&gt;
Codementor
Code
mentor
dem
&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Now you know the basics of how to work with Python strings, let&amp;#39;s talk about some of the most widely used Python string methods.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.codementor.io/python-experts?ref=PythonStringBlog"&gt;Want to speed up your Python learning? &lt;em&gt;Get help from a Python mentor →&lt;/em&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Python String Methods&lt;/h2&gt;

&lt;p&gt;To allow developers to work with Python strings quicker, there are built-in shortcuts to manipulate the output of the string. These shortcuts are called Python string methods. A Python string method does not change the original string. Instead, it is used to return new values. &lt;/p&gt;

&lt;p&gt;The most commonly used Python string methods include &lt;code&gt;capitalize()&lt;/code&gt;, &lt;code&gt;lower()&lt;/code&gt;, &lt;code&gt;upper()&lt;/code&gt;, &lt;code&gt;join()&lt;/code&gt;, &lt;code&gt;split()&lt;/code&gt;, &lt;code&gt;find()&lt;/code&gt;, and &lt;code&gt;replace()&lt;/code&gt;. Python &lt;code&gt;format()&lt;/code&gt; is another powerful and frequently used Python string method. However, due to its complexity, we will not cover it here. Feel free to learn more about &lt;code&gt;format()&lt;/code&gt; from Python’s official documentation!&lt;/p&gt;

&lt;p&gt;We&amp;#39;ll run through the seven Python string methods and include a &lt;a href="#references"&gt;table of all the Python string methods&lt;/a&gt; at the end of the tutorial.&lt;/p&gt;

&lt;h4&gt;&lt;code&gt;capitalize()&lt;/code&gt; Python string method&lt;/h4&gt;

&lt;p&gt;The &lt;code&gt;capitalize()&lt;/code&gt; string method is used when you want to capitalize the first character of a string of text. Here’s an example:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;
s = &amp;quot;codementor speeds up your python learning process&amp;quot;
x = s.capitalize()
print (x)
&lt;/code&gt;
&lt;strong&gt;Output:&lt;/strong&gt;
&lt;code&gt;
Codementor speeds up your python learning process
&lt;/code&gt;&lt;/p&gt;

&lt;h4&gt;&lt;code&gt;lower()&lt;/code&gt; Python string method&lt;/h4&gt;

&lt;p&gt;&lt;code&gt;lower()&lt;/code&gt; Python string method is the opposite of &lt;code&gt;upper()&lt;/code&gt;. It turns all of the characters in a string into lowercase letters.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;
s = &amp;quot;CODEMENTOR HELPS solve your CODING problems!&amp;quot;
x = s.lower()
print(x)
&lt;/code&gt;
&lt;strong&gt;Output:&lt;/strong&gt;
&lt;code&gt;
codementor helps solve your coding problems!
&lt;/code&gt;&lt;/p&gt;

&lt;h4&gt;&lt;code&gt;upper()&lt;/code&gt; Python string method&lt;/h4&gt;

&lt;p&gt;&lt;code&gt;upper()&lt;/code&gt; Python string method is the opposite of &lt;code&gt;lower()&lt;/code&gt;. It turns all of the characters in a string into uppercase letters.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;
s = &amp;quot;codementor has the best python tutors!&amp;quot;
x = s.upper()
print(x)
&lt;/code&gt;
&lt;strong&gt;Output:&lt;/strong&gt; 
&lt;code&gt;
CODEMENTOR HAS THE BEST PYTHON TUTORS!
&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;(We really do have the best &lt;a href="https://www.codementor.io/python-experts?ref=PythonStringBlog"&gt;Python mentors and tutors&lt;/a&gt;!)&lt;/p&gt;

&lt;h4&gt;&lt;code&gt;join()&lt;/code&gt; Python string method&lt;/h4&gt;

&lt;p&gt;The &lt;code&gt;join()&lt;/code&gt;method takes all items in an iterable and joins them into one string. For example, you can join items in a tuple or in a dictionary. Let’s say you want to put all your party guests’ into a string, you can use the following code and &lt;code&gt;join()&lt;/code&gt; method to combine and create the list.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;
PartyGuests = (&amp;quot;Anna&amp;quot;, &amp;quot;Allie&amp;quot;, &amp;quot;Joy&amp;quot;, &amp;quot;Chloe&amp;quot;, &amp;quot;Ellyn&amp;quot;)
x = &amp;quot;, &amp;quot;.join(PartyGuests)
print(x)
&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Output:&lt;/strong&gt;
&lt;code&gt;
Anna, Allie, Joy, Chloe, Ellyn
&lt;/code&gt;&lt;/p&gt;

&lt;h4&gt;&lt;code&gt;split()&lt;/code&gt; Python string method&lt;/h4&gt;

&lt;p&gt;The &lt;code&gt;split()&lt;/code&gt; method splits a Python string into a list. You can specify the separator, but the default separator is any whitespace.&lt;/p&gt;

&lt;p&gt;Here’s an easy example to help you understand how &lt;code&gt;split()&lt;/code&gt; works:
&lt;code&gt;
txt = &amp;quot;Find Python Help on Codementor Today&amp;quot;
x = txt.split()
print(x)
&lt;/code&gt;
&lt;strong&gt;Output:&lt;/strong&gt;
&lt;code&gt;
[&amp;#39;Find&amp;#39;, &amp;#39;Python&amp;#39;, &amp;#39;Help&amp;#39;, &amp;#39;on&amp;#39;, &amp;#39;Codementor&amp;#39;, &amp;#39;Today&amp;#39;]
&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Usually, &lt;code&gt;split()&lt;/code&gt; divides a Python string in a list into single items. However, you may split the string into a list with a maximum of 2 items. Here’s how that could work, using # as the separator:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;
txt = &amp;quot;best#way#to#learn#python#is#to#find#a#mentor&amp;quot;
x = txt.split(&amp;quot;#&amp;quot;, 5)
print(x)
&lt;/code&gt;
The output would look something like this funny list:
&lt;code&gt;
[&amp;#39;best&amp;#39;, &amp;#39;way&amp;#39;, &amp;#39;to&amp;#39;, &amp;#39;learn&amp;#39;, &amp;#39;python&amp;#39;, &amp;#39;is#to#find#a#mentor&amp;#39;]
&lt;/code&gt;&lt;/p&gt;

&lt;h4&gt;&lt;code&gt;find()&lt;/code&gt; Python string method&lt;/h4&gt;

&lt;p&gt;The &lt;code&gt;find()&lt;/code&gt; method is used to find a specified value’s first appearance in a string. It is almost identical to the &lt;code&gt;index()&lt;/code&gt; method, except when a value cannot be found. Instead of displaying &lt;code&gt;-1&lt;/code&gt;, the &lt;code&gt;index()&lt;/code&gt; method displays &lt;code&gt;ValueError: substring not found&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;Let’s use “Codementor” for this one:
&lt;code&gt;
txt = &amp;quot;Codementor&amp;quot;
x = txt.find(&amp;quot;e&amp;quot;, 4, 8)
print(x)
&lt;/code&gt;
When you run the code above, you’ll get the output &lt;code&gt;5&lt;/code&gt;. Normally, &lt;code&gt;find()&lt;/code&gt; would find the first appearance of “e” in the string, which would be 3 in our example. However, in the example above, it asked for “e” between position 4 and 8, which is why our output is &lt;code&gt;5&lt;/code&gt;.&lt;/p&gt;

&lt;h4&gt;&lt;code&gt;replace()&lt;/code&gt; Python string method&lt;/h4&gt;

&lt;p&gt;The &lt;code&gt;replace()&lt;/code&gt; method is used to replace a specified phrase with another specified phrase. Unless otherwise specified, all specified phrases in the Python string will be replaced. &lt;/p&gt;

&lt;p&gt;Let’s see a simple example of &lt;code&gt;replace()&lt;/code&gt;:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;
str = &amp;quot;I love office work because office work is the best.&amp;quot;
x = str.replace(&amp;quot;office&amp;quot;, &amp;quot;remote&amp;quot;)
print(x)
&lt;/code&gt;
See what we did there? Instead of “I love office work”, we now have:
&lt;code&gt;
I love remote work because remote work is the best
&lt;/code&gt;
I mean...who doesn’t love remote work?&lt;/p&gt;

&lt;p&gt;Now, let’s see how we would work with &lt;code&gt;replace()&lt;/code&gt; if we only want to replace one of the words in a Python string:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;
str = &amp;quot;I love office work but going into the office to bond with my colleagues can be fun!&amp;quot;
x = str.replace(&amp;quot;office&amp;quot;, &amp;quot;remote&amp;quot;, 1)
print(x)
&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Output:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;code&gt;
I love remote work but going into the office to bond with my colleagues can be fun!
&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;There are two “office” in the string, but we only want to replace the first “office” with “remote”. By adding the &lt;code&gt;1&lt;/code&gt;, we’ve replaced the first occurrence of the word “office.”&lt;/p&gt;

&lt;p&gt;Now, there are lots of Python string methods you can use to manipulate the outcome of any given Python string but we won’t cover all of them in depth in this article. As &lt;code&gt;format()&lt;/code&gt; is an extremely important and super powerful Python string method, we will dedicate another article to &lt;code&gt;format()&lt;/code&gt;. You can find a list of all the Python string methods in the &lt;a href="##%20References:%20Table%20of%20Python%20String%20Methods%20&amp;%20Table%20of%20Format%20Codes"&gt;reference&lt;/a&gt; section! &lt;/p&gt;

&lt;p&gt;⚠️ &lt;strong&gt;Note:&lt;/strong&gt; Make sure to check if the Python string methods listed below work with the Python version you’re working with!&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.codementor.io/python-experts?ref=PythonStringBlog"&gt;Finding it hard to understand python string methods? &lt;em&gt;Get help from a Python mentor →&lt;/em&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Convert Python List to String&lt;/h2&gt;

&lt;p&gt;Before we jump into the different ways we can convert a Python list to string, let’s briefly run through what a list is and two different types of lists.&lt;/p&gt;

&lt;p&gt;If you’re familiar with other programming languages, a list in Python is equivalent to an array. A Python list is encased by square brackets, while a comma(,) is used to separate objects in the list. The main difference between an array and a Python list is that arrays usually contain homogenous objects while &lt;strong&gt;Python lists can contain heterogeneous objects&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Homogenous list:&lt;/em&gt;
&lt;code&gt;
list=[‘a’,’b’,’c’]
list=[‘America’,’India’,’Taiwan’]
list=[1,2,3,4,5]
&lt;/code&gt;
&lt;em&gt;Heterogeneous list:&lt;/em&gt;
&lt;code&gt;
list=[2,&amp;quot;America&amp;quot;,5.2,&amp;quot;b&amp;quot;] 
&lt;/code&gt;
There are four ways to convert Python list to string:
- Using &lt;code&gt;join()&lt;/code&gt; Python string method
- Using List Comprehension along with &lt;code&gt;join()&lt;/code&gt; Python string method
- Using &lt;code&gt;map()&lt;/code&gt; Python string method
- Using iteration through for loop&lt;/p&gt;

&lt;p&gt;We will go through each of these methods:&lt;/p&gt;

&lt;h4&gt;Python list to string using &lt;code&gt;join()&lt;/code&gt; method&lt;/h4&gt;

&lt;p&gt;The &lt;code&gt;join()&lt;/code&gt; method can create strings with iterable objects. The element of an iterable (i.e. list, string, and tuple) can be joined by a string separator to return a new concatenated string.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Syntax:&lt;/em&gt; &lt;code&gt;string.join(iterable)&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;And here’s an example of turning a Python list to string: &lt;/p&gt;

&lt;p&gt;```
inp&lt;em&gt;list = [&amp;#39;Coding&amp;#39;, &amp;#39;for&amp;#39;, &amp;#39;Everyone&amp;#39;]
out&lt;/em&gt;str = &amp;quot; &amp;quot; &lt;/p&gt;

&lt;p&gt;print(out&lt;em&gt;str.join(inp&lt;/em&gt;list)) 
&lt;code&gt;
**Output:**
&lt;/code&gt;
Coding for Everyone
```&lt;/p&gt;

&lt;h4&gt;Python list to string using list comprehension along with &lt;code&gt;join()&lt;/code&gt;&lt;/h4&gt;

&lt;p&gt;Now, using the &lt;code&gt;join()&lt;/code&gt; method to convert a Python list to string works as long as the passed iterable contains string elements. However, if the list contains both string and integer as its element, we’d need to convert elements to string while adding to string. This is where using list comprehension along with &lt;code&gt;join()&lt;/code&gt; comes in handy.&lt;/p&gt;

&lt;p&gt;```
from builtins import str&lt;/p&gt;

&lt;p&gt;inp&lt;em&gt;list = [&amp;#39;There&amp;#39;, &amp;#39;are&amp;#39;, &amp;#39;more&amp;#39;, &amp;#39;than&amp;#39;, 10000, &amp;#39;mentors&amp;#39;, &amp;#39;who&amp;#39;, &amp;#39;can&amp;#39;, &amp;#39;help&amp;#39;, &amp;#39;you&amp;#39;, &amp;#39;learn&amp;#39;, &amp;#39;Python&amp;#39;, &amp;#39;on&amp;#39;, &amp;#39;Codementor&amp;#39;]
listToStr = &amp;#39; &amp;#39;.join([str(elem) for elem in inp&lt;/em&gt;list])&lt;/p&gt;

&lt;p&gt;print(listToStr) 
&lt;code&gt;
**Output:**
&lt;/code&gt;
There are more than 10000 mentors who can help you with Python on Codementor
```&lt;/p&gt;

&lt;h4&gt;Python list to string using &lt;code&gt;map()&lt;/code&gt; function&lt;/h4&gt;

&lt;p&gt;Similar to the &lt;code&gt;string()&lt;/code&gt; method, the &lt;code&gt;map()&lt;/code&gt; function accepts functions and iterable objects, like lists, types, strings, etc. The &lt;code&gt;map()&lt;/code&gt; function maps the elements of the iterable with the function provided.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Syntax for map():&lt;/em&gt; &lt;code&gt;map(function, iterable)&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;The iterables are seen as arguments in map() functions. With the &lt;code&gt;map()&lt;/code&gt; function, every element of the iterable (list) is mapped onto a given function to generate a list of elements. We’ll then use the &lt;code&gt;join()&lt;/code&gt; method to display the output in string form:&lt;/p&gt;

&lt;p&gt;```
inp&lt;em&gt;list = [&amp;#39;Get&amp;#39;, &amp;#39;Python&amp;#39;, &amp;#39;help&amp;#39;, &amp;#39;in&amp;#39;, &amp;#39;less&amp;#39;, &amp;#39;than&amp;#39;, 6, &amp;#39;minutes&amp;#39;, &amp;#39;on&amp;#39;, &amp;#39;Codementor&amp;#39;]
listToStr = &amp;#39; &amp;#39;.join(map(str, inp&lt;/em&gt;list))&lt;/p&gt;

&lt;p&gt;print(listToStr) 
&lt;code&gt;
**Output:**
&lt;/code&gt;
Get Python help in less than 6 minutes on Codementor
```&lt;/p&gt;

&lt;h4&gt;Python list to string using iteration through for loop&lt;/h4&gt;

&lt;p&gt;To convert a Python list to string using for loop, the elements of the input list are iterated one by one and added to a new empty string. &lt;/p&gt;

&lt;p&gt;Here’s how it’d work:
```&lt;/p&gt;

&lt;h1&gt;Function to convert&lt;/h1&gt;

&lt;p&gt;def listToString(s): &lt;/p&gt;

&lt;pre&gt;&lt;code&gt;out_str = &amp;quot;&amp;quot; 

# traverse in the string  
for ele in inp_str: 
    out_str += ele  

# return string  
return out_str 
&lt;/code&gt;&lt;/pre&gt;

&lt;h1&gt;Driver code&lt;/h1&gt;

&lt;p&gt;inp&lt;em&gt;str = [&amp;#39;Codementor&amp;#39;, &amp;#39;is&amp;#39;, &amp;#39;AWESOME&amp;#39;]
print(listToString(inp&lt;/em&gt;str))
```
&lt;strong&gt;Output:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;code&gt;
CodementorisAWESOME
&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.codementor.io/python-experts?ref=PythonStringBlog"&gt;Not sure how to convert Pyton list to string and hot to apply them? &lt;em&gt;A python tutor may be helpful →&lt;/em&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Convert Python int to String&lt;/h2&gt;

&lt;p&gt;Converting Python int to string is a lot more straightforward than converting Python list to string: you just have to use the built-in &lt;code&gt;str()&lt;/code&gt; function. With that said, there are four ways of converting Python int to string. The examples we provide below apply to Python 3.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Using the &lt;code&gt;str()&lt;/code&gt; function&lt;/li&gt;
&lt;li&gt;Using “%s” keyword&lt;/li&gt;
&lt;li&gt;Using &lt;code&gt;.format()&lt;/code&gt; function&lt;/li&gt;
&lt;li&gt;Using f-string&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;Python int to string using the &lt;code&gt;str()&lt;/code&gt; function&lt;/h4&gt;

&lt;p&gt;&lt;em&gt;Syntax&lt;/em&gt;: &lt;code&gt;str(integer_value)&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;The code is relatively simple and straightforward:
&lt;code&gt;
num = 100
print(type(num))
converted_num = str(num)
print(type(converted_num))
&lt;/code&gt;&lt;/p&gt;

&lt;h4&gt;Python int to string using “%s” keyword&lt;/h4&gt;

&lt;p&gt;&lt;em&gt;Syntax:&lt;/em&gt; &lt;code&gt;“%s” % integer&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;code&gt;
num = 100
print(type(num))
converted_num = &amp;quot;% s&amp;quot; % num
print(type(converted_num))
&lt;/code&gt;&lt;/p&gt;

&lt;h4&gt;Python int to string using &lt;code&gt;.format()&lt;/code&gt; function&lt;/h4&gt;

&lt;p&gt;&lt;em&gt;Syntax:&lt;/em&gt; &lt;code&gt;‘{}’.format(integer)&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;code&gt;
num = 100
print(type(num))
converted_num = &amp;quot;{}&amp;quot;.format(num)
print(type(converted_num))
&lt;/code&gt;&lt;/p&gt;

&lt;h4&gt;Python int to string using f-string&lt;/h4&gt;

&lt;p&gt;⚠️ &lt;strong&gt;Note:&lt;/strong&gt; This method may not work for Python 2.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Syntax:&lt;/em&gt; &lt;code&gt;f&amp;#39;{integer}’&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;code&gt;
num = 100
print(type(num))
converted_num = f&amp;#39;{num}&amp;#39;
print(type(converted_num))
&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Converting Python int to string is simple but it is extremely useful in a greater context. Here’s an example of how the above methods of converting Python int to string may appear in real-world scenarios. Let’s say you want to print an output of how many Python mentors you’ve worked with on Codementor:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;
mentor_count = 30
print(type(mentor_count))
converted_num = str(mentor_count)
print(&amp;quot;The number of mentors I have worked with in the last month: &amp;quot; + str(mentor_count))
&lt;/code&gt;
&lt;strong&gt;Output:&lt;/strong&gt;
&lt;code&gt;
&amp;lt;class ‘int’&amp;gt;
The number of mentors I have worked with in the last month: 30
&lt;/code&gt;&lt;/p&gt;

&lt;h2&gt;Convert Python Bytes to String&lt;/h2&gt;

&lt;p&gt;Converting Python bytes to string is really about decoding and reverting a set of bytes back into a Unicode string. For example, decoding the byte string &amp;quot;\x61\x62\x63&amp;quot; and reverting it back to UTF-8 will give you &amp;quot;abc&amp;quot;.&lt;/p&gt;

&lt;p&gt;There are 3 ways to convert Python bytes to string:
- Using &lt;code&gt;decode()&lt;/code&gt; method
- Using &lt;code&gt;str()&lt;/code&gt; function
- Using &lt;code&gt;codec.decode()&lt;/code&gt; method&lt;/p&gt;

&lt;h4&gt;Python bytes to string using &lt;code&gt;decode()&lt;/code&gt; method&lt;/h4&gt;

&lt;p&gt;The &lt;code&gt;decode()&lt;/code&gt; method allows developers to convert an argument string from one encoding scheme to another. &lt;/p&gt;

&lt;p&gt;```
import string
data = b&amp;#39;Codementor&amp;#39;&lt;/p&gt;

&lt;p&gt;print(&amp;#39;\nInput:&amp;#39;)
print(data)
print(type(data))&lt;/p&gt;

&lt;p&gt;output = data.decode()&lt;/p&gt;

&lt;p&gt;print(&amp;#39;\nOutput:&amp;#39;)
print(output)
print(type(output))
&lt;code&gt;
**Output:**
&lt;/code&gt;
Input:
b&amp;#39;Codementor&amp;#39;
&lt;class 'bytes'&gt;&lt;/p&gt;

&lt;p&gt;Output:&lt;/p&gt;

&lt;p&gt;Codementor
&lt;class 'str'&gt;
```&lt;/p&gt;

&lt;h4&gt;Python bytes to string using &lt;code&gt;str()&lt;/code&gt; function&lt;/h4&gt;

&lt;p&gt;The &lt;code&gt;str()&lt;/code&gt; function of Python returns the string version of the object.&lt;/p&gt;

&lt;p&gt;```
data = b&amp;#39;Codementor&amp;#39;&lt;/p&gt;

&lt;p&gt;print(&amp;#39;\nInput:&amp;#39;)
print(data)
print(type(data))&lt;/p&gt;

&lt;p&gt;output = str(data, &amp;#39;UTF-8&amp;#39;)
print(&amp;#39;\nOutput:&amp;#39;)
print(output)
print(type(output))
&lt;code&gt;
**Output:**
&lt;/code&gt;
Input:
b&amp;#39;Codementor&amp;#39;
&lt;class 'bytes'&gt;&lt;/p&gt;

&lt;p&gt;Output:
Codementor
&lt;class 'str'&gt;
```&lt;/p&gt;

&lt;h4&gt;Python bytes to string using &lt;code&gt;codec.decode()&lt;/code&gt; method&lt;/h4&gt;

&lt;p&gt;```
import codecs&lt;/p&gt;

&lt;p&gt;data = b&amp;#39;Codementor&amp;#39;&lt;/p&gt;

&lt;p&gt;print(&amp;#39;\nInput:&amp;#39;)
print(data)
print(type(data))&lt;/p&gt;

&lt;p&gt;output = codecs.decode(data)&lt;/p&gt;

&lt;p&gt;print(&amp;#39;\nOutput:&amp;#39;)
print(output)
print(type(output))
&lt;code&gt;
**Output:**
&lt;/code&gt;
Input:
b&amp;#39;Codementor&amp;#39;
&lt;class 'bytes'&gt;&lt;/p&gt;

&lt;p&gt;Output:
Codementor
&lt;class 'str'&gt;
```&lt;/p&gt;

&lt;h2&gt;Convert Python Datetime to String&lt;/h2&gt;

&lt;p&gt;Converting datetime class objects to Python string is not difficult with the &lt;code&gt;datetime.strftime()&lt;/code&gt; function. What is tricky is that there are many different ways to showcase datetime, thus presenting developers the challenge of knowing when to use what format code. &lt;/p&gt;

&lt;h4&gt;Python datetime to string for current time&lt;/h4&gt;

&lt;p&gt;Using the &lt;code&gt;datetime.strftime()&lt;/code&gt; function, you can turn the current datetime object into different string formats:&lt;/p&gt;

&lt;p&gt;```
from datetime import datetime&lt;/p&gt;

&lt;p&gt;now = datetime.now() # current date and time&lt;/p&gt;

&lt;p&gt;year = now.strftime(&amp;quot;%Y&amp;quot;)
print(&amp;quot;year:&amp;quot;, year)&lt;/p&gt;

&lt;p&gt;month = now.strftime(&amp;quot;%m&amp;quot;)
print(&amp;quot;month:&amp;quot;, month)&lt;/p&gt;

&lt;p&gt;day = now.strftime(&amp;quot;%d&amp;quot;)
print(&amp;quot;day:&amp;quot;, day)&lt;/p&gt;

&lt;p&gt;time = now.strftime(&amp;quot;%H:%M:%S&amp;quot;)
print(&amp;quot;time:&amp;quot;, time)&lt;/p&gt;

&lt;p&gt;date&lt;em&gt;time = now.strftime(&amp;quot;%m/%d/%Y, %H:%M:%S&amp;quot;)
print(&amp;quot;date and time:&amp;quot;,date&lt;/em&gt;time)&lt;br&gt;
```&lt;/p&gt;

&lt;p&gt;At the time of writing, this is the output:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;
year: 2021
month: 07
day: 09
time: 05:22:21
date and time: 07/09/2021, 05:22:21
&lt;/code&gt;&lt;/p&gt;

&lt;h4&gt;Python datetime to string from timestamp&lt;/h4&gt;

&lt;p&gt;Now, if you need to convert Python datetime to string based on a timestamp you’re given, the code would look different. Here’s an example of how a timestamp could be converted to different string formats.&lt;/p&gt;

&lt;p&gt;```
from datetime import datetime&lt;/p&gt;

&lt;p&gt;timestamp = 1625834088
date_time = datetime.fromtimestamp(timestamp)&lt;/p&gt;

&lt;p&gt;print(&amp;quot;Date time object:&amp;quot;, date_time)&lt;/p&gt;

&lt;p&gt;d = date_time.strftime(&amp;quot;%m/%d/%Y, %H:%M:%S&amp;quot;)
print(&amp;quot;Date and time:&amp;quot;, d)  &lt;/p&gt;

&lt;p&gt;d = date_time.strftime(&amp;quot;%d %b, %Y&amp;quot;)
print(&amp;quot;Shortened date:&amp;quot;, d)&lt;/p&gt;

&lt;p&gt;d = date_time.strftime(&amp;quot;%d %B, %Y&amp;quot;)
print(&amp;quot;Full date:&amp;quot;, d)&lt;/p&gt;

&lt;p&gt;d = date_time.strftime(&amp;quot;%I%p&amp;quot;)
print(&amp;quot;Hour of day:&amp;quot;, d)
```&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Output:&lt;/strong&gt;
&lt;code&gt;
Date time object: 2021-07-09 12:34:48
Date and time: 07/09/2021, 12:34:48
Shortened date: 09 Jul, 2021
Full date: 09 July, 2021
Hour of day: 12PM
&lt;/code&gt;&lt;/p&gt;

&lt;h4&gt;Python datetime to string format codes&lt;/h4&gt;

&lt;p&gt;In the example above, a lot of format codes were used to display datetime in different ways. Some of the format codes—%m, %d, %Y—are more intuitive than others. Don’t worry. Even the best Python developers have to look up format codes when they code! We’ve attached all the format codes in the &lt;a href="#references"&gt;references&lt;/a&gt; section. &lt;/p&gt;

&lt;p&gt;With the format codes, you can manipulate your timestamp into any Python string format you’d like!&lt;/p&gt;

&lt;h2&gt;Wrap Up&lt;/h2&gt;

&lt;p&gt;Python String is a fundamental part of working with Python. While this tutorial covered some of the basics of Python String—including some Python string methods and different ways to convert Python list, int, bytes, and datetime to strings—there is a lot more to Python strings. Python is a relatively friendly language for beginners. However, if you want to lay a more solid foundation while speeding up your learning,  working with a &lt;a href="https://www.codementor.io/python-experts?ref=PythonStringBlog"&gt;Python tutor&lt;/a&gt; would be key. Additionally, working on some &lt;a href="https://www.codementor.io/projects/python?ref=PythonStringBlog"&gt;Python projects&lt;/a&gt; to bridge the gap between theory and real-world application would help solidify the concepts we ran through in this tutorial!&lt;/p&gt;

&lt;p&gt;If you found this tutorial helpful, like and share it with those you think would benefit from reading it! Comment below to let us know what you think about the tutorial 🤓&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.codementor.io/python-experts?ref=PythonStringBlog"&gt;&lt;em&gt;Improve your Python skills by working with expert Python developers →&lt;/em&gt;&lt;/a&gt;&lt;/p&gt;

&lt;hr&gt;

&lt;h2&gt;References&lt;/h2&gt;

&lt;h4&gt;Table of Python String Methods&lt;/h4&gt;

&lt;table&gt;&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Python String Method&lt;/th&gt;
&lt;th style="text-align: left"&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;casefold()&lt;/td&gt;
&lt;td style="text-align: left"&gt;Similar to &lt;code&gt;lower()&lt;/code&gt;, Converts string to lower cases.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;center()&lt;/td&gt;
&lt;td style="text-align: left"&gt;Centers the string output.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;count()&lt;/td&gt;
&lt;td style="text-align: left"&gt;Count how many times a variable appeared in a string.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;encode()&lt;/td&gt;
&lt;td style="text-align: left"&gt;Encodes the string, using the specified encoding. If unspecified, UTF-8 will be used.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;endswith()&lt;/td&gt;
&lt;td style="text-align: left"&gt;Returns true if the string ends with the specified value.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;expandtabs()&lt;/td&gt;
&lt;td style="text-align: left"&gt;Uses \t to create spaces between characters.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;format()&lt;/td&gt;
&lt;td style="text-align: left"&gt;Formats specified values in a string.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;format_map()&lt;/td&gt;
&lt;td style="text-align: left"&gt;Similar to &lt;code&gt;format()&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;index()&lt;/td&gt;
&lt;td style="text-align: left"&gt;Searches the string for a specified value and returns the position of where the value is. If the value is a word in a string of sentence, the index will be the number of the first character of the word.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;isalnum()&lt;/td&gt;
&lt;td style="text-align: left"&gt;Returns True if all characters in the string are alphabets and numeric. If there’s a space in the string, you’d get False.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;isalpha()&lt;/td&gt;
&lt;td style="text-align: left"&gt;Returns True if all the characters in the string are in the alphabet. Characters like ë are considered alphabets. Applies to all languages.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;isdecimal()&lt;/td&gt;
&lt;td style="text-align: left"&gt;Returns True if all characters in the string are decimals&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;isdigit()&lt;/td&gt;
&lt;td style="text-align: left"&gt;Returns True if all characters in the string are digits&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;isidentifier()&lt;/td&gt;
&lt;td style="text-align: left"&gt;Returns True if the string is an identifier. Identifiers can only contain alphanumeric letters or underscores. An identifier can’t start with a number, or contain any spaces.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;islower()&lt;/td&gt;
&lt;td style="text-align: left"&gt;Returns True if all characters are lowercase.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;isnumeric()&lt;/td&gt;
&lt;td style="text-align: left"&gt;Returns True if all characters are numeric.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;isprintable()&lt;/td&gt;
&lt;td style="text-align: left"&gt;Returns True if all characters in the string are printable.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;isspace()&lt;/td&gt;
&lt;td style="text-align: left"&gt;Returns True if all characters are whitespaces.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;istitle()&lt;/td&gt;
&lt;td style="text-align: left"&gt;Returns True if the string follows the rules of a title, which means all words start with an uppercase letter and the rest are lowercase letters.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;isupper()&lt;/td&gt;
&lt;td style="text-align: left"&gt;Returns True if all characters in the string are upper case.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;ljust()&lt;/td&gt;
&lt;td style="text-align: left"&gt;Left aligns the specified string characters and uses numbers to indicate the amount of space to separate specified variables from other characters or sentences.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;maketrans()&lt;/td&gt;
&lt;td style="text-align: left"&gt;Used to replace characters with specified characters.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;partition()&lt;/td&gt;
&lt;td style="text-align: left"&gt;Searches for a specified string, and splits the string into a tuple containing three elements. The specified element will be the second element, and the first and third will be what comes before and after the specified element.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;replace()&lt;/td&gt;
&lt;td style="text-align: left"&gt;Replaces the specified value in the string with another specified value in the new string.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;rfind()&lt;/td&gt;
&lt;td style="text-align: left"&gt;Searches the string for a specified value and returns the last position of where it was found. The index will be the number of the first character of the specified value.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;rindex()&lt;/td&gt;
&lt;td style="text-align: left"&gt;Searches the string for a specified variable and returns the last position of where it was found. The index will be the number of the first character of the specified variable.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;rjust()&lt;/td&gt;
&lt;td style="text-align: left"&gt;Returns a right justified version of the string. Opposite of &lt;code&gt;ljust()&lt;/code&gt;.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;rpartition()&lt;/td&gt;
&lt;td style="text-align: left"&gt;Similar to &lt;code&gt;partition()&lt;/code&gt;.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;rsplit()&lt;/td&gt;
&lt;td style="text-align: left"&gt;Splits a string into a list, starting from the right. If no &amp;quot;max&amp;quot; is specified, this method will return the same as the &lt;code&gt;split()&lt;/code&gt; method.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;rstrip()&lt;/td&gt;
&lt;td style="text-align: left"&gt;Removes any spaces or trailing characters that are specified.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;split()&lt;/td&gt;
&lt;td style="text-align: left"&gt;Splits a string into a list. The default separator is any whitespace, but the separator can be specified (i.e. &lt;code&gt;,&lt;/code&gt;).&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;splitlines()&lt;/td&gt;
&lt;td style="text-align: left"&gt;Uses &lt;code&gt;\n&lt;/code&gt; to split the string into a list.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;startswith()&lt;/td&gt;
&lt;td style="text-align: left"&gt;Returns True if the string starts with the specified value.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;strip()&lt;/td&gt;
&lt;td style="text-align: left"&gt;Removes any leading and trailing characters of the specified variables. Unless otherwise specified, the default trailing characters are whitespaces.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;swapcase()&lt;/td&gt;
&lt;td style="text-align: left"&gt;Swaps all the characters in a string. If the character is an uppercase letter, it’ll turn into a lowercase letter, and vice versa.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;title()&lt;/td&gt;
&lt;td style="text-align: left"&gt;Converts the first character of each word to uppercase.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;translate()&lt;/td&gt;
&lt;td style="text-align: left"&gt;Returns a string where some specified characters are replaced with the character described in a dictionary, or in a mapping table.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;zfill()&lt;/td&gt;
&lt;td style="text-align: left"&gt;Adds zeros (0) at the beginning of the string, until it reaches the specified length.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;

&lt;h4&gt;Table of Format Codes&lt;/h4&gt;

&lt;table&gt;&lt;thead&gt;
&lt;tr&gt;
&lt;th style="text-align: center"&gt;Format Code&lt;/th&gt;
&lt;th style="text-align: left"&gt;Description&lt;/th&gt;
&lt;th style="text-align: left"&gt;Example&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;&lt;tbody&gt;
&lt;tr&gt;
&lt;td style="text-align: center"&gt;%d&lt;/td&gt;
&lt;td style="text-align: left"&gt;Day of the month as zero-padded numbers&lt;/td&gt;
&lt;td style="text-align: left"&gt;01, 02, 03, 04 …, 31&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="text-align: center"&gt;%a&lt;/td&gt;
&lt;td style="text-align: left"&gt;Abbreviated weekday&lt;/td&gt;
&lt;td style="text-align: left"&gt;Sun, Mon, Wed, ..., Sat&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="text-align: center"&gt;%A&lt;/td&gt;
&lt;td style="text-align: left"&gt;Full weekday name&lt;/td&gt;
&lt;td style="text-align: left"&gt;Sunday, Monday, …, Saturday&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="text-align: center"&gt;%m&lt;/td&gt;
&lt;td style="text-align: left"&gt;Month as zero-padded numbers&lt;/td&gt;
&lt;td style="text-align: left"&gt;01, 02, 03, …, 12&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="text-align: center"&gt;%b&lt;/td&gt;
&lt;td style="text-align: left"&gt;Abbreviated month&lt;/td&gt;
&lt;td style="text-align: left"&gt;Jan, Feb, … Dec&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="text-align: center"&gt;%B&lt;/td&gt;
&lt;td style="text-align: left"&gt;Full month name&lt;/td&gt;
&lt;td style="text-align: left"&gt;January, February, …, December&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="text-align: center"&gt;%y&lt;/td&gt;
&lt;td style="text-align: left"&gt;Year without century&lt;/td&gt;
&lt;td style="text-align: left"&gt;00, 01, 02, …, 99&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="text-align: center"&gt;%Y&lt;/td&gt;
&lt;td style="text-align: left"&gt;Year with century&lt;/td&gt;
&lt;td style="text-align: left"&gt;0001, …, 2021, …, 9999&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="text-align: center"&gt;%H&lt;/td&gt;
&lt;td style="text-align: left"&gt;24-hr clock hour&lt;/td&gt;
&lt;td style="text-align: left"&gt;01, 02, 03, …, 23&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="text-align: center"&gt;%M&lt;/td&gt;
&lt;td style="text-align: left"&gt;Minute as zero-padded numbers&lt;/td&gt;
&lt;td style="text-align: left"&gt;01, 02, …, 59&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="text-align: center"&gt;%S&lt;/td&gt;
&lt;td style="text-align: left"&gt;Second as zero-passed numbers&lt;/td&gt;
&lt;td style="text-align: left"&gt;01, 02, …, 59&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="text-align: center"&gt;%f&lt;/td&gt;
&lt;td style="text-align: left"&gt;Microsecond, zero-padded on the left&lt;/td&gt;
&lt;td style="text-align: left"&gt;000000, 000001, …, 999999&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="text-align: center"&gt;%l&lt;/td&gt;
&lt;td style="text-align: left"&gt;12-hr clock hour&lt;/td&gt;
&lt;td style="text-align: left"&gt;01, 02, …, 12&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="text-align: center"&gt;%p&lt;/td&gt;
&lt;td style="text-align: left"&gt;Location’s AM or PM&lt;/td&gt;
&lt;td style="text-align: left"&gt;AM, PM&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style="text-align: center"&gt;%j&lt;/td&gt;
&lt;td style="text-align: left"&gt;Day of the year&lt;/td&gt;
&lt;td style="text-align: left"&gt;01, 02, 03, …, 366&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
</content>
    <description>Get familiar with Python string basics, the most commonly used Python string methods, and a multitude of ways to convert Python methods into Python strings.</description>
  </entry>
  <entry>
    <title type="html">JavaScript Splice: What is JavaScript Splice and What Can It Do? </title>
    <link rel="alternate" href="https://www.codementor.io/blog/javascript-splice-what-is-javascript-splice-and-what-can-it-do-cccytqeogv"/>
    <id>tag:www.codementor.io,2014:254</id>
    <updated>2022-06-21T10:07:18Z</updated>
    <published>2021-07-07T07:38:32Z</published>
    <pubDate>2021-07-07T07:38:32Z</pubDate>
    <author>
      <name>Codementor Team</name>
      <email>support@codementor.io</email>
    </author>
    <dc:creator>Codementor Team</dc:creator>
    <enclosure url="https://ucarecdn.com/c43e67e5-210a-4894-9abd-cc85c7ac7b94/"/>
    <content type="html">&lt;p&gt;Imagine that you have a list of restaurants that you want to try out, and after finally getting dinner at one of them, you don’t just want to cross the restaurant off your list, but you want to remove it completely. &lt;/p&gt;

&lt;p&gt;So you remove the restaurant that you’ve tried, and now your original list only has the restaurants you’ve yet to try. Right here, we’ve described one of the things JavaScript splice can do. &lt;/p&gt;

&lt;h2&gt;What is the JavaScript splice method and what can it do?&lt;/h2&gt;

&lt;p&gt;Okay, let’s back up a little bit. We’ve described what JavaScript splice can do, but what is it exactly? &lt;/p&gt;

&lt;p&gt;The JavaScript splice() method is a built-in method for JavaScript array functions. Splice modifies the original array by removing, replacing, or adding elements. The return value is a new array containing the deleted elements. If no elements are removed, an empty array is returned. The basic syntax for JavaScript splice is:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;
Array.splice(start, removeCount, newItem, newItem, newItem, ...)
&lt;/code&gt;&lt;/p&gt;

&lt;h2&gt;How to remove elements from an array with JavaScript splice&lt;/h2&gt;

&lt;p&gt;To simply remove an element from an array using JavaScript splice, you would need to know the index number of the element you would like to remove. &lt;/p&gt;

&lt;p&gt;Going back to the example we brought up at the beginning of this tutorial. Say our restaurant bucket list consisted of A, B, C, and D, this would be the original array. The restaurant that we tried would be D. To remove D, we would need to know its index number. Since the array index starts at 0, the index would be (X-1). In this case, the index number would be 3. &lt;/p&gt;

&lt;p&gt;Now, we can use the JavaScript slice method to remove the restaurant we’ve already visited from the original array: 
```
const restaurants = [“A”, “B”, “C”, “D”]&lt;/p&gt;

&lt;p&gt;console.log(restaurants.splice(3, 1)) // output: [“D”]
console.log(restaurants) // output: [“A”, “B”, “C”]
``` &lt;/p&gt;

&lt;p&gt;Here, we can see that the original array has been spliced into two: the original array with the remaining elements, and the return value is an array with the removed element(s).&lt;/p&gt;

&lt;p&gt;&lt;em&gt;To learn more about how to use JavaScript splice to remove elements from an array, check out &lt;a href="https://www.codementor.io/blog/javascript-array-alukt4k2bm"&gt;this blog post&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;How to add elements to an array with JavaScript splice&lt;/h2&gt;

&lt;p&gt;You can add new elements to an array using JavaScript splice as well. Keeping the full splice syntax in mind, you can add new elements by defining the number of elements you’d like to remove as “0” and before declaring the new elements. &lt;/p&gt;

&lt;p&gt;For example, let’s add E to our array. &lt;/p&gt;

&lt;p&gt;```
const restaurants = [“A”, “B”, “C”, “D”]&lt;/p&gt;

&lt;p&gt;console.log(restaurants.splice(3, 0,”E”)) // output: []
console.log(restaurants) // output: [“A”, “B”, “C”, “E”, “D”]
``` &lt;/p&gt;

&lt;p&gt;This also works if you’d like to both remove and add elements to your array. For example, let’s remove D from the above array and add F and G in D’s location.&lt;/p&gt;

&lt;p&gt;```
const restaurants = [“A”, “B”, “C”, “D”]&lt;/p&gt;

&lt;p&gt;console.log(restaurants.splice(3, 0,”E”)) // output: [“D”]
console.log(restaurants) // output: [&amp;quot;A&amp;quot;, &amp;quot;B&amp;quot;, &amp;quot;C&amp;quot;, &amp;quot;F&amp;quot;, &amp;quot;G&amp;quot;]
```
&lt;a href="https://www.codementor.io/javascript-experts?ref=blog"&gt;&lt;img src="https://ucarecdn.com/3ee2b453-533f-4f0b-b37e-4be97348757e/" alt="JavaScript Splice JavaScript Help JavaScript Mentor.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Splice vs Slice: What is the difference between the two JavaScript methods?&lt;/h2&gt;

&lt;p&gt;One confusion that many &lt;a href="https://www.scnsoft.com/services/hire-javascript-developers"&gt;JavaScript developers&lt;/a&gt; might have is splice vs slice: are they the same? If not, what is the difference? They sound awfully similar! &lt;/p&gt;

&lt;p&gt;While both splice and slice are built-in JavaScript methods and sound very similar, they actually play different roles. Both JavaScript splice and slice can be used to manipulate items in an array.&lt;/p&gt;

&lt;p&gt;However, as mentioned above, the JavaScript splice method directly modifies the original array, and, if there are any, returns an array of the removed elements. On the other hand, the JavaScript slice method does not modify the original array, but returns a new array that is a “section” of the original array. You can define the “start” and “end” of the selection that you want the slice method to return. &lt;/p&gt;

&lt;p&gt;After reading this article, you should have a basic understanding of how to use JavaScript splice. While it looks simple, don’t underestimate all the magic that the splice method can do. If you want to learn more about what you can do with splice, &lt;a href="https://www.codementor.io/javascript-experts?ref=blog"&gt;find a mentor&lt;/a&gt; to help you master JavaScript step by step!  &lt;/p&gt;

&lt;h3&gt;Related links:&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/splice"&gt;JavaScript Splice&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/slice"&gt;JavaScript Slice&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</content>
    <description>From understanding what the JavaScript splice method is, to learning how it can be used to add and/or remove elements, this article covers JavaScript splice 101</description>
  </entry>
  <entry>
    <title type="html">How to Create An Array in Python and other things you need to know about Python Array</title>
    <link rel="alternate" href="https://www.codementor.io/blog/python-array-cavmg6yr36"/>
    <id>tag:www.codementor.io,2014:253</id>
    <updated>2021-07-01T08:10:52Z</updated>
    <published>2021-07-01T08:10:52Z</published>
    <pubDate>2021-07-01T08:10:52Z</pubDate>
    <author>
      <name>Codementor Team</name>
      <email>support@codementor.io</email>
    </author>
    <dc:creator>Codementor Team</dc:creator>
    <enclosure url="https://ucarecdn.com/e95a71fe-89e2-4a26-8529-ec258ac61a6a/"/>
    <content type="html">&lt;p&gt;Arrays are a powerful and useful module. In Python, there are two ways you can create an array: using the Python Standard Library or the NymPy package.&lt;/p&gt;

&lt;p&gt;If you’re just starting out or would simply like to create an array with simple data types, the array module from the Python standard library would suffice. However, as Python is being widely used for data science, num.py array can often be seen as the de facto standard as it’s more flexible and robust.&lt;/p&gt;

&lt;p&gt;In this tutorial, we’ll focus on using the array module in the Python standard library. &lt;/p&gt;

&lt;h2&gt;What is a Python array and what can they do?&lt;/h2&gt;

&lt;p&gt;Python arrays are data structures that can store multiple items of the same type, for example, you can have an array of strings. When you’re working with multiple items of the same data type, arrays make it easy to store, organize, remove elements, and manipulate the values. &lt;/p&gt;

&lt;p&gt;This can sound confusing if you’re just starting out with Python arrays. So here’s another way to think about it: say that you’re organizing your bookshelf and have a list of book titles. You might want to store this list in a place you can easily access should you ever want to organize the titles, remove, or retrieve certain information. In Python, this list of titles would be stored in an array. &lt;/p&gt;

&lt;p&gt;A common confusion you might encounter is the difference between Python array vs list. The key difference is the types of values that the two can store. While arrays can only store items of the same data type, lists can store a variation of different data types. Taking the bookshelf example from above, if your bookshelf also contains decorative items, such as potted plants, your list of bookshelf items would need to be stored in a Python list.&lt;/p&gt;

&lt;h2&gt;How to create an array in Python&lt;/h2&gt;

&lt;p&gt;Now that you know what an array is, the next step is to create a Python array. Let’s start with a simple example: to create an array in Python, you’ll need two parameters: data type and value list. Data type is the type of value that you want to store. Continuing the previous book list example, the data type here would be books, while the values would be the book titles. &lt;/p&gt;

&lt;p&gt;Your basic syntax would look like this: 
&lt;code&gt;
a=array(data type,value list)`
&lt;/code&gt; &lt;/p&gt;

&lt;p&gt;Using the bookshelf example: 
&lt;code&gt;
a=array(books, [Harry Potter, Game of Thrones, Narnia, The Hobbit, The Little Prince]) 
&lt;/code&gt;&lt;/p&gt;

&lt;h2&gt;How do you access an element in a Python array?&lt;/h2&gt;

&lt;p&gt;Each element in the array has an index number, starting with 0. This allows you to access an element in an array. The basic syntax will look like this:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;
Array_name[index value]
&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Using the previous example, say you want to access the second element in the array. &lt;/p&gt;

&lt;p&gt;&lt;code&gt;
a=array(books, [Harry Potter, Game of Thrones, Narnia, The Hobbit, The Little Prince]) 
a[1]=Game of Thrones
&lt;/code&gt;&lt;/p&gt;

&lt;h2&gt;How can you know a Python array length?&lt;/h2&gt;

&lt;p&gt;By understanding how the index number works, you can also figure out the Python array length. As the index number starts from 0, the Python array length will be 1 more than the last index number. Another way is to use the &lt;code&gt;len()&lt;/code&gt; function to figure out the Python array length: &lt;/p&gt;

&lt;p&gt;&lt;code&gt;
a=array(books, [Harry Potter, Game of Thrones, Narnia, The Hobbit, The Little Prince])
len(a)=5
&lt;/code&gt;&lt;/p&gt;

&lt;h2&gt;How to remove an element from a Python array?&lt;/h2&gt;

&lt;p&gt;There are quite a few ways to remove elements from a Python array. &lt;/p&gt;

&lt;p&gt;If you would like to delete an element based on their index number, you can use Python&amp;#39;s &lt;code&gt;del&lt;/code&gt; statement:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;
a=array(books, [harry potter, game of thrones, narnia, the hobbit, the little prince])
del books[2]
&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;In the above example, you are deleting the third element from the Python array, “Narnia”. To use this method, you need to know the index number of the element you’d like to remove.&lt;/p&gt;

&lt;p&gt;But what if you’re not sure where the element you’d like to remove is? In this case, you can use Python’s &lt;code&gt;remove()&lt;/code&gt; method: &lt;/p&gt;

&lt;p&gt;&lt;code&gt;
a=array(books, [harry potter, game of thrones, narnia, the hobbit, the little prince])
del books[harry potter]
&lt;/code&gt; &lt;/p&gt;

&lt;p&gt;By using the &lt;code&gt;remove()&lt;/code&gt; method, you’ll be able to locate and remove a specific element without needing to know its index number. &lt;/p&gt;

&lt;p&gt;If you want to learn more about what you can do with Python arrays, you can check out &lt;a href="https://www.edureka.co/blog/arrays-in-python/"&gt;this tutorial&lt;/a&gt; or &lt;a href="https://www.codementor.io/python-experts?ref=blog"&gt;find a senior developer&lt;/a&gt; to help you master Python step by step! &lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.codementor.io/python-experts?ref=blog"&gt;&lt;img src="https://ucarecdn.com/607354aa-a030-432a-8537-8223c621224f/" alt="Python Array Python Help Python tutor.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;We covered the basics of Python arrays in this article, but this is just the tip of the iceberg. Once you’re familiar with the array module from the Python standard library, you can expand to learn more about using arrays with the NumPy package, which is often seen as the standard array function in Python and in data science nowadays. &lt;/p&gt;

&lt;p&gt;More resources on Python arrays: 
- &lt;a href="https://www.geeksforgeeks.org/python-convert-array-ordinary-list-items/"&gt;Convert a Python array to list&lt;/a&gt;
- &lt;a href="https://www.programiz.com/python-programming/array#:%7E:text=Removing%20Python%20Array%20Elements,array%20using%20Python&amp;#x27;s%20del%20statement.&amp;text=We%20can%20use%20the%20remove,item%20at%20the%20given%20index."&gt;Remove element from array in Python&lt;/a&gt;
- &lt;a href="https://www.geeksforgeeks.org/python-program-to-find-sum-of-array/"&gt;Find sum of array in Python&lt;/a&gt;
- &lt;a href="https://problemsolvingwithpython.com/05-NumPy-and-Arrays/05.06-Array-Slicing/"&gt;How to slice an array in Python&lt;/a&gt;&lt;/p&gt;
</content>
    <description>What is a Python array, what can it do, and the basics you need to know about Python arrays.</description>
  </entry>
</feed>
