For those in their first year of being a developer - either a new grad with CS degree or self-taught developer - what is your biggest challenge after learning to code?
Knowing how to code is just one of the things you do while working as a professional (i.e. paid) software developer. Some of the other things are:
- reading and understanding existing code
- understanding the architecture of your codebase
- understanding the data model
- debugging
- designing and planning features
- version control, code reviews and release process
- configuring and installing stuff
Which of these would you like to read more about?
Top comments (2)
I'm not in my first year down the professional software development line, but I can surely recall & share the challenges I personally faced. Also, I've been mentoring a good number of Junior Developers too at my current & previous workplaces hence I'll add up other challenges (& how to tackle them), frequently observed while in the process of mentoring them.
Don't ask too many questionsAsk questions, a lot:Ask a lot of questions until you can translate exactly what you're assigned to do. Don't shy away & start coding based on mere assumptions. Ask your seniors or pairs, this will save a ton of work hours for the company too! Maybe a similar problem/feature has already been addressed/developed by the person sitting right next to you in the same/different project(s). Who knows?
Just code what you're told to codeUnderstand the why behind the code:As you mentioned @bhumi , "Code is just one of the things you do while working as a professional (i.e. paid) software developer". As the career takes off gradually, sometimes comprehending what a user/business expects to happen is way more effective than isolating yourself into coding implementations only. It saves a lot of time, ensures less negative feedback from code reviews & shortens feature change requests as well if you can picture the purpose & end user/feature that your code block intends to serve.
Don't talk while in workBe social & open to career discussions:Participate in fruitful conversations with colleagues. Share your struggles, journey, and create a network. Participate local & global dev talks. Knowledge sharing sessions are one of the best way to keep yourself aligned with the best practices, latest tech trends and of course, to open yourself to professional benefits in near future.
Don't spend too much time in what's done & dustedBe good at debugging & comfortable with legacy code base:Say, you're given a short time to familiarize with the product that you'll be working on. Spend some time playing around the project/product, find an interesting feature & explore how it was implemented. Knowing the architecture, data structure/pipeline & implementation steps by debugging is a must-to-do when you're given a task.
Developing of your soft skills. At some moment of the career it becomes really important.