Skip to main content
19 answers
25
Asked 953 views

What advice do you have for students who are passionate about software development but may feel overwhelmed by the vast amount of information and technologies to learn?

Some people might suggest staying focused or trying to divide your workload, but many individuals in the field still struggle with feelings of being overwhelmed by the ever-evolving nature of technology and the multitude of options available for specialization. Could you share any personal strategies or insights on how to manage this overwhelm effectively? Additionally, are there any specific resources, such as online courses, books, or mentorship programs, that you recommend for students looking to navigate this challenge and stay motivated on their software development journey?

Thank you comment icon Difficult answer Compare different specializations But Ask many it career coaching is better Giacomo Paini

+25 Karma if successful
From: You
To: Friend
Subject: Career question for you

25

19 answers


1
Updated
Share a link to this answer
Share a link to this answer

Joshua’s Answer

It can be easy to feel overwhelmed. There are so many different areas you can focus on with software development, not to mention hundreds if not thousands, of coding languages you can choose to become an expert in. So, I can understand how you are feeling overwhelmed. It would help if you thought of some things before getting involved in-depth with a path. Firstly, what do you want to do? Do you want to build applications and websites, study data, or work with gaming? Understanding what you want to do first will help you determine what path you want to follow and will allow you not to feel so overwhelmed. As with most things, there is no magic programming language that works for everything. Some are even designed specifically for a single type of software or application.

Once you know what you want, you can focus on foundational skills, such as languages like Python, JavaScript, or Java, and understanding basic programming concepts, data structures, and algorithms to provide a strong foundation. Set clear goals for what you want to achieve in the short and long term, and break them into smaller, manageable tasks. Embrace a continuous learning mindset, as technology constantly evolves, and prioritize learning based on your current goals and projects. Regular practice is critical, so apply what you learn through building small projects, contributing to open-source projects, or participating in coding challenges to reinforce your knowledge and boost your confidence.

Leverage online resources, such as Coursera, Udemy, edX, and FreeCodeCamp, for courses and books like "Clean Code" by Robert C. Martin, "The Pragmatic Programmer" by Andrew Hunt and David Thomas, and "You Don’t Know JS" by Kyle Simpson. Official documentation and tutorials on sites like MDN Web Docs and Stack Overflow can also be invaluable. Engage with others who share your interests by joining coding communities, attending meetups, and participating in forums like GitHub, Stack Overflow, and Reddit, as networking with peers and mentors can provide support, feedback, and new opportunities. Finding a mentor can also offer guidance, share experiences, and help you navigate your career path, so look for mentorship programs or reach out to professionals in your network.

Stay organized by using tools to keep track of your learning progress and projects, such as Trello, Notion, or simple to-do lists, which can help you stay focused. Remember to take breaks and maintain a healthy work-life balance to avoid burnout, making time for hobbies, exercise, and relaxation. Acknowledge and celebrate your progress, no matter how small, as each step forward is a success and brings you closer to your goals. Understand that every piece of knowledge you gain is a key to success. Software development is a journey, and taking it one step at a time is okay. By staying focused, continuously learning, and leveraging available resources, you'll be well on your way to a successful career in software development.
1
1
Updated
Share a link to this answer
Share a link to this answer

Laurence’s Answer

Start off with HTML and CSS (the front-end) and then when you feel ready (and want to), move on to JavaScript.

You will soon be in a position to start building projects that will grow in complexity over time and then before you know it you will have an impressive portfolio and may even be able to start freelancing on Upwork - if you decide you'd like to!
1
0
Updated
Share a link to this answer
Share a link to this answer

Ray’s Answer

Hi Josue. Yes, this is the hallmark of any career in technology, more so today than ever. I started my career by building expertise in specific technologies that then rapidly became obsolete. So that I wasn't left behind, I slowly moved on to other, newer platforms and now am working on cutting edge data, AI and analytics technologies. It is a constant process of reading, learning and adapting. Starting out, the most important thing you can get from any degree or training, is learning to learn and to think critically. Pick something that interests you to start and build from there, otherwise you will indeed get overwhelmed. I can almost guarantee that wherever you start, is not where you will end up.
0
0
Updated
Share a link to this answer
Share a link to this answer

Akber’s Answer

Python is always recommended if you're looking for an easy and even fun programming language to learn first. Rather than having to jump into strict syntax rules, Python reads like English and is simple to understand for someone who's new to programming ,Or an easy and even fun programming language to learn first. Rather than having to jump into strict syntax rules, Python reads like English and is simple to understand for someone who's new to programming.
0
0
Updated
Share a link to this answer
Share a link to this answer

Ryan’s Answer

Hi Josue, looks like you already have a bunch of answers, but I would still like to chime in. Feeling overwhelmed by the vast amount of information in software development is common, but there are strategies to manage this effectively. Start by setting clear, achievable goals and focusing on one area at a time, which helps build a strong foundation without feeling scattered. Embrace continuous learning and view the process as a marathon, not a sprint. Utilize online resources like Coursera, Udacity, and freeCodeCamp to structure your learning. Books like "Clean Code" by Robert C. Martin and "You Don't Know JS" by Kyle Simpson are excellent for deep dives into specific topics. Additionally, seek mentorship through platforms like LinkedIn or local coding meetups to gain insights and advice from experienced professionals. Remember, it's okay to take breaks and step back when needed to maintain your passion and prevent burnout.
0
0
Updated
Share a link to this answer
Share a link to this answer

Dylan’s Answer

Hi Josue,

I have been working as a full-stack software developer for 3 years and often feel the same as you. There are so many emerging technologies within the tech field (data science, AI, cybersecurity, cloud computing etc.) and even within my field of focus (new web frameworks, UI/UX practices, etc.) that I often feel overwhelmed trying to keep up with it all. What I do to keep myself as up to date as I can is start on some personal projects and work at my own pace to give myself exposure to different frameworks and fields. Udemy has great courses and can guide you step by step to create personal projects and building products (web apps for specific uses like a blog, social media site, e-commerce website or ingesting public datasets for data visualization) and you can build off those to potentially create your own personal work from scratch. Software Development is a huge field and is continually growing, and it is great to try and keep up to date with things, but also remember to give yourself breaks and make time for other things in your life to prevent burnout. With a field that is constantly changing, it can be easy to hold yourself to really high expectations to know everything.

Learning is a journey, and every small step is a major accomplishment.
0
0
Updated
Share a link to this answer
Share a link to this answer

Edward’s Answer

That is a great question. I think the best way to manage the overwhelming number of things to learn in software development is to follow what you are interested in. Try not to think you need to learn all of these technologies at once and focus on what you would like to build yourself. For example, if you want to build an app for your friends, research how different technologies can be leveraged to create the app that you want to create. This will lead you to develop something that you have motivation to create, as well as force you to learn about these technologies as you go. You are never going to know everything. The important thing is developing the skill to use tools and technologies to your advantage, knowing when to use them, and learning as you go.

Some basic advice for getting overwhelmed is to set aside time for yourself dedicated to learning certain tasks. Online courses can also help to compartmentalize your learning. Remember to not try to learn everything in a week. If you constantly put in time every day, and make sure to give yourself breaks and turn off the computer once in a while, you will learn better and faster!
0
0
Updated
Share a link to this answer
Share a link to this answer

Yamil’s Answer

In today's fast-paced world, it's quite normal to feel swamped by the constant stream of information and the relentless march of technology.

Your query is intriguing, and I perceive it more from a personal or societal perspective rather than a career-oriented one in the tech industry. Nonetheless, I can share some strategies that have worked for me and which I often recommend to others.

- Accept that you can't control everything: It's crucial to understand that you can't be in charge of all things. Attempting to do so only leads to self-imposed pressure and potential disappointment. So, when you're feeling swamped, don't hesitate to say "no". Establishing healthy boundaries helps maintain a balance between your duties and your personal well-being.

- Set and break down your goals: Goals are your desired achievements, so be specific about them. Often, tasks can seem daunting because we view them as one big challenge. By dividing them into smaller, more manageable parts, they can appear less formidable and more approachable.

- Remember to take breaks: It's vital to take time out to rest and rejuvenate. Even a short break can help restore your mental sharpness and decrease feelings of being overwhelmed.

- Prioritize your tasks: Create a list of tasks you need to accomplish and rank them based on their significance and urgency. This strategy helps you channel your energy into the most critical activities and set aside those that can be postponed.
0
0
Updated
Share a link to this answer
Share a link to this answer

Jeff’s Answer

Great question, Josue!

Gone are the days when someone could stay in a job in technology for their entire career. Tech is changing and evolving quickly.

First, learn the basics. Once you learn programming basics and techniques, it's much easier to master a second language. The third is even easier! When I graduated university, I developed code in 20 different languages. I was hired by IBM as a PL/1, PL/S developer even though I had never seen wither language. They knew it would be easy to pick up my 21st and 22nd languages!

After the basics, the most important thing is to keep learning, keep evolving and stay current in technology. Take online or in-person classes. Read journal articles. Learn new languages. For instance, learn Q#, quantum computing language! IBM has a virtual quantum computer. Just keep in mind that you cannot master all aspects of tech but if you focus on one or two new exciting aspects, for example AI, you can learn new skills and stay relevant.

The absolute most important thing is to enjoy the challenges and the journey!

Best of luck!
0
0
Updated
Share a link to this answer
Share a link to this answer

David’s Answer

Feeling overwhelmed by the sheer volume of information and technologies in software development is a common experience, especially for students just starting out. One effective strategy is to embrace a growth mindset and accept that you won't master everything overnight. Instead of trying to learn everything at once, focus on mastering one technology or concept at a time. Break down your learning into manageable chunks, setting small, achievable goals along the way. Remember that it's okay to not know everything and to ask for help when needed. Additionally, prioritizing foundational concepts and understanding the underlying principles can help you adapt more easily to new technologies as they emerge.

As for resources, there's an abundance of online courses, books, and mentorship programs available to help you navigate the software development landscape. Platforms like Coursera, Udemy, and Pluralsight offer comprehensive courses on various programming languages, frameworks, and technologies. Additionally, joining developer communities, attending tech meetups, and seeking mentorship from experienced professionals can provide valuable guidance and support on your journey. Remember to stay curious, be persistent, and celebrate your progress along the way. With dedication and the right resources, you can effectively manage overwhelm and thrive in the dynamic field of software development.
0
0
Updated
Share a link to this answer
Share a link to this answer

Rushita’s Answer

Hi! I can totally relate to how you're feeling, as I've been in your shoes before and sometimes, I still find myself there. I've come to understand that the deeper I delve into a subject, the more knowledge I acquire, which can sometimes be overwhelming. However, I constantly remind myself of the vastness of the field and the opportunities it provides for growth in various areas. There's no quick fix to completely eliminate this overwhelming feeling, but what has worked for me is continuous learning. Even when I'm comfortable in my role, I never stop expanding my knowledge about the field. I make it a point to learn something new every day, be it through articles, social media, books, podcasts, and so on. This daily learning routine has given me a sense of control over my knowledge. Hope this helps!
0
0
Updated
Share a link to this answer
Share a link to this answer

Sahil Siddharth’s Answer

Managing overwhelm in the tech field involves clear goal-setting, prioritizing tasks, limiting distractions, and continuous learning. Break tasks into short-term and long-term goals to stay focused. Prioritize important tasks, plan your day, and create a distraction-free workspace. Establish a regular study schedule and focus on learning what you need for current projects.

Take breaks and practice self-care to avoid burnout. Techniques like the Pomodoro Technique and engaging in hobbies can help. Seek support through mentors and professional networks, and join study groups or online communities for shared experiences.

Recommended resources include online courses from Coursera, Udacity, and Pluralsight; books like "The Pragmatic Programmer" and "Clean Code"; and mentorship programs from coding bootcamps. Use productivity tools like Todoist and Trello, and mindfulness apps like Headspace or Calm.

Stay motivated by celebrating small wins, seeking feedback, and exploring new interests in technology. This approach will help you manage the constant changes and choices in your software development career.
0
0
Updated
Share a link to this answer
Share a link to this answer

Steward "Tony"’s Answer

I have hired many gaming developers in my career and found that those who popped their head out of the cube and enjoyed time in other activities outside in the sun, come back refreshed and actually emotionally energized. The office/school game room can only do so much and it builds up more stress.

So have fun and relieve the pent-up stress. which is the reward of being on the forefront of technology.
As a former systems guy, I really loved the switch to management and recruiting so I got it. Training and practice is deep so clear your head and let it breathe some air.

FYI: Outside does not mean the party at the local hang out
0
0
Updated
Share a link to this answer
Share a link to this answer

Andy’s Answer

Start by pinpointing a few things that bring you joy. As a student, it's crucial to have a solid foundation of knowledge. From there, you can begin to develop your skills. If these skills align with current trends, that's fantastic! However, also take a moment to think about what's in high demand and what you believe you would enjoy doing. For instance, AI is all the rage these days, but is it something you're passionate enough about to dedicate years to? Do you currently possess the necessary skills, or could you acquire them? If not, it might be best to shift your focus towards other interests. Remember, technology is ever-evolving, and being adaptable is key. Keep in mind that when you love what you do, it doesn't feel like work! So, concentrate on what makes you happy.

Also, don't rush into mastering a multitude of things. When you're young, it might seem crucial to learn everything at once, but remember, you have more time than you think.
0
0
Updated
Share a link to this answer
Share a link to this answer

Aisha’s Answer

Feeling overwhelmed in the world of software development is common given the vast array of information and technologies available. Here are some strategies to manage overwhelm effectively:

1. **Focus on Fundamentals:** Start with core programming languages, algorithms, and data structures. Building a strong foundation will make it easier to grasp advanced concepts later on.

2. **Break it Down:** Divide your learning into manageable chunks. Focus on one technology or concept at a time, and gradually expand your knowledge as you gain confidence.

3. **Prioritize Learning:** Identify the technologies or skills most relevant to your goals or interests and prioritize learning those. Don't try to master everything at once.

4. **Hands-On Practice:** Apply what you learn by working on projects or solving real-world problems. Practical experience reinforces learning and builds confidence.

5. **Stay Updated Selectively:** Technology evolves rapidly, but you don't need to learn every new tool or framework. Stay updated selectively, focusing on technologies that align with your goals or are in high demand.

6. **Seek Mentorship:** Connect with experienced developers who can provide guidance, advice, and support. Mentorship programs or online communities are valuable resources for finding mentors.

7. **Embrace Failure:** Understand that failure is part of the learning process. Don't be discouraged by challenges or setbacks; instead, learn from them and keep moving forward.

8. **Manage Time Effectively:** Set aside dedicated time for learning and stick to a schedule. Avoid multitasking and distractions to maximize productivity.

9. **Take Breaks:** Don't forget to take breaks to recharge and prevent burnout. Balance focused study with relaxation and leisure activities.

10. **Stay Motivated:** Remember why you're passionate about software development and stay focused on your long-term goals. Celebrate your progress and achievements along the way.

As for resources, here are some recommendations:

- Online Courses: Platforms like Coursera, Udemy, and Pluralsight offer comprehensive courses on various programming languages, frameworks, and technologies.
- Books: Look for highly recommended books on software development, algorithms, and specific technologies. "Clean Code" by Robert C. Martin and "The Pragmatic Programmer" by Andrew Hunt and David Thomas are excellent choices.
- Mentorship Programs: Join mentorship programs offered by professional organizations, coding bootcamps, or online communities like Stack Overflow or GitHub.
- Developer Communities: Engage with developer communities on platforms like Reddit, Stack Overflow, or Discord. Participating in discussions, asking questions, and sharing knowledge can provide valuable insights and support.

By applying these strategies and leveraging recommended resources, you can navigate the challenges of software development effectively and stay motivated on your journey.
0
0
Updated
Share a link to this answer
Share a link to this answer

Avirup’s Answer

What do you want to accomplish with software engineering? Why did you become passionate about it? Your answer to this question should give you some hints on how to move forward. For instance, if you used an app your really liked and were motivated by it try to recreate that app. If you really liked a website you visited try to remake it with your own twist. It doesn't matter how your product turns out, the process you go through in making it gives you so much knowledge and morivation to move forward and keep making new things.
0
0
Updated
Share a link to this answer
Share a link to this answer

Alex’s Answer

In simple terms, technology is a fast-paced and ever-evolving field, so don't let it overwhelm you. Begin by researching which technology areas align best with your skills, interests, and values. Start off small, making the most of the free educational resources available. Once you've grasped some basic concepts, apply your newfound knowledge by creating small projects.
0
0
Updated
Share a link to this answer
Share a link to this answer

Ticiana’s Answer

Josue, your question clearly shows your passion/ focus on being up to date, which is great. But don't let it overwhelm you. Other people have already given many tips, readings etc, I just want to point out this is not a concern to software developers or tech careers only, but to all of us. Our current world is changing fast, and we all need to keep up. For instance, I am a marketing person who is actively studying AI. So, don't feel like you're alone in it.
My advice would be, understand the techniques that better fit your objective at the moment and be informed about what is coming on the market but don't deep dive into everything, accept it's just not possible.
0
0
Updated
Share a link to this answer
Share a link to this answer

David (dj)’s Answer

Technology is changing rapidly. Do not be afraid to change with the times to stay relevant in the market. But also, it helps to become hyper focused in a domain and get to an expertise level.

If you have a company you are interested in, try visiting their job postings or view profiles on LinkedIn from professional that work there. Also ask yourself questions like:

Do you like crafting the user experience? If so, you may want to focus on UI technologies, HTML, CSS, Flutter.
Do you like working with data? You may want to focus on database technology or backend development, think SQL and Java.
Do you like big data? You might want to focus on python, machine learning or data analytics.

And in all of these areas, focus on how cloud services and tools help with the area. It helps to get some broad knowledge, but focus on one area that truly intrigues and motivates you.
0