I'm currently working as a Data Analyst (10 years xp) where I do a lot of Data Visualization and PowerBI development but considering pursuing Software Development. I enjoy the technical aspects of the job: SQL, and in recent years Python, as Machine Learning becomes more prominent.

I write SQL queries for data retrieval, but also do a lot of query optimization on our existing code base, which could be considered more advanced SQL. With Python, I use it for Machine Learning, ETL tasks, and "gluing" different things together.

While I try as much as possible to follow professional development practices, e.g., clean code, source control, maintainability, etc., I lack real commercial experience in Software Development. What kinds of things can I highlight that would make me more attractive to a hiring manager? How do I overcome the lack of professional experience? Lastly, what would be a reasonable expectation of where to apply? Junior, Intermediate, Senior? Would love to hear from anyone who's made a transition from technical-but-not-so-technical role into Software Development. Thank you.

  • 3
    It sounds like you already are some kind of developer, and would be considered to have "professional experience" of any SQL-related development. A "data analyst" does not necessarily write their own code, but you already are. Also, there is all kinds of "software development", in companies of different sizes, in teams of different sizes, done to different standards, and meeting different standards of complexity. If you want to move roles for some je ne sais quoi, it'll probably be just a case of trying it out.
    – Steve
    Apr 23 at 6:50

1 Answer 1


If you have 10+ years of Data Analysis and can write, debug, and ship useful Python code for ETL and ML purposes, I would consider you a senior developer already.

Create a GitHub profile with some small example projects pulling open source data, doing light analysis, and gluing them together with Flask (or any Python framework of choice). Two or three of these will satisfy any competent hiring manager.

I'm a "Senior Software Developer" and have been a "Software Engineering Manager". I have similar experience as yours and work with developers every day who have your exact background. We are all considered "senior" so don't sell yourself short.

Apply, apply, apply and let the hiring teams decide what title to offer you.

Highlight your years of experience delivering real actual business value with whatever tools you used. This is all good experience and would put you in the "senior" camp in my book.

  • I guess its knowing how the skills transfer into a different technical arena. Thanks for the insight.
    – Oaty
    Apr 28 at 23:34
  • 1
    @Oaty Yes, a mapping of existing experience to new job application is always a good idea. Consider hiring a professional resume writer to draft a few possible options. Depending on the specifics of a job post, you will find that you can frequently "bend" your previous experience into what's listed. i.e. "Database administration" == "I used Python, SQL, and cron to manage several databases". Apr 29 at 20:28

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .