Transitioning into software dev

Tech Career - - WMattWood - OP

I have a technical background in a domain other than software. Have spent the past two and a half years learning about software development, with 1.5 years spent in active (paid) study through two different dedicated channels. I am currently looking for the "first job" in software - so I had a question about that transitional stage. While 100% code positions have been difficult to crack - I have had some interest from jobs that I would call "code adjacent". They ask for familiarity with languages and frameworks (ie. JavaScript, SQL, Java, React.js, Python) but the day-to-day responsibilities don't involve sitting in front of a screen and banging out code. It's more about being able to talk with clients about technical requirements, make configurations on local machines, and reporting feature requests back to an actual dev team. For those currently working in the Software Development field - either as programmers or hiring managers... Would you say that this kind of "Code Adjacent" role would be a good step towards becoming a full fledged software developer? ( e. work in this role for 6mths to a year in order to gain professional experience in the domain, and then start applying for software developer positions?) Or is it better to hold out, and wait for a Junior Developer role with a team that is willing to mentor me, and where I will be putting in the hours on a weekly basis to refine my skills and build an intimate knowledge of a given tech stack? Appreciate any advice from active professionals in this regard!

6
43


6 comments


Farmazonian
A hiring manager here. When hiring junior developers and interns, I would like to see their practical experience of solving real-world problems with code. I would like to learn about their coding skills, including computer science fundamentals (algorithms and data structures - see LeetCode), as well as some technical design skills. I believe that having experience in a similar area might not be relevant, even if it's somehow related to the technical field. I'd suggest to continue learning CS fundamentals, pick up real-world problems and deliver solutions i.e. your own web site or application that solves a particular problem and that people can use. Best of luck!
WMattWood - OP
Thank you for you reply as well - counting your feedback along with the other posters, it sounds like the response is unanimous! I appreciate the straightforward answer and it feels like the recommended path is quite clear.
nflix
I don't think that it makes sense to purse 'code adjacent' roles. I'm not sure what kind of roles you are talking about but I'm all in for *specialization*. If you want to become a software dev, then start actually DOING software development and not something else. Good luck!
WMattWood - OP
I am definitely seeing a consistent theme in the responses! For what it's worth, the title of this particular role is "Technical Implementation Advisor". It sounds like they have a pretty small technical team, so one possibility I've considered is that it might give me a chance to learn about server implementation (HTTPS, load-balancing, Tomcat/Nginx) as I think I would be working closely with that part of the technical team. In the long term I would like to point my career towards DevOps eventually, so I feel like these could be basic skills to get first hand experience with. However I hear what you are saying. Maybe it's just better to keep my head down and keep learning!
lonely-dev
I would recommend to avoid "code-adjacent" roles as it might be difficult to then get an actual code role. To clarify, I'm thinking about "code-adjacent" roles like systems analyst, technical product manager, scrum master, technical marketing manager etc. Instead, I would like to propose a different path. If you do not have sufficient coding skills and experience right now, I think it's better to gain those skills and experience by working on your own "pet" projects, or working for free. That way you will get real practical experience that you will be able to put on your CV, and most importantly, be able to confidently answer questions about what you worked on. For example, you decided to write a web scrapping tool that crawls webpages and collects pricing data from online stores for further analysis. You could start by looking at existing solutions like that in your preferred language and platform, and then experiment with improving those solutions. That way you could look at existing code written by established developers. You could also learn a lot about real-world problem like getting your IP blacklisted by those online stores :))) So you may want to add a delay, or use proxies or use external API tools to scrape the web for you etc. It is important that you are really curious about your domain area of choice and be ready to work on various unexpected problems. After that you could add a line to your CV and share your experience. How's that sound?
WMattWood - OP
For what it's worth, the title of this particular role is "Technical Implementation Advisor". It sounds like they want me to be familiar with the technology, but I don't think I'd be getting much time to build things. That being said I feel like it might give me a chance to learn more deeply about server architecture and backend systems, as it sounds like a lot of the work would be related to figuring out different ways to interface large databases together. I've been eyeing a long term goal of aiming towards a DevOps type role so I feel like this kind of experience *might* be relevant. But you along with the two other posters makes four individuals I have spoken to that have given me similar advice - "Just focus on code, and build things!"