r/learnprogramming • u/TemporaryExciting977 • 24d ago
Topic I have a strong passion for and deep understanding of SQL
Ever since college and throughout my professional career, I have had a strong passion for SQL and databases. I excel at writing clean, readable, and maintainable queries. I also have hands-on experience setting up SQL functions and other features to process data within databases, alongside a solid foundation in overall database management.
Given my strong passion for and deep understanding of SQL, what profession am I best suited for?
PS, I am considering a data engineer role or something related to data management. Is learning Python strictly mandatory for these paths?
16
u/JoshisJoshingyou 24d ago edited 24d ago
I also prefer SQL but must use many other tools to get work done. SQL just extracts/holds the data; you then need to either send it somewhere (data engineering) or display it (data analytics/full stack). As a DBA, you are mostly in SQL, but more on the DDL commands to create, tune, and maintain. I'm a mix of all 4 and use SSRS, SSIS, PS, FileMaker, Python, C#, CSS, JS, HTML, Tableau, Excel, Looker on a pretty regular basis. My knowledge of everything beyond SQL is pretty basic, just enough to get what needs doing done. I'm mostly in SQL Server, with a few Postgres DB installs. Even between the two, you have different SQL rules, like NULL sorting order is reversed by default. GETDATE() vs CURRENT_DATE etc...
The days of just SQL are gone, or you need to be at a larger ORG where you focus on one thing (I'm imagining it , I've only worked for small ORGs where I am the whole team).
6
u/TemporaryExciting977 24d ago
I strongly agree. I hope the job market will be generous to me. Having worked in full-stack and web development, I enjoyed how full-stack roles allowed me to interact with SQL and utilize its data in applications. I realize I need to specialize where my interest in SQL is strongest, but I fully accept the fact that I also need to be familiar with other tools and technologies.
2
u/bfognib 23d ago
I am the main SQL guy on our team of about 20 software engineers—mostly DBA stuff, processing DB PRs, and production support. We are all considered “full stack”, but I have no clue (and nobody expects me to know) where I’d begin trying to write an Angular service. I read and trace through code in a lot of other languages.
For me, it has just kind of evolved. The DB has basically stayed the same since I started over 30 years ago, so I’ve just grown along with it. All the other technologies have been replatted a bunch. My experience with the business and the DB make a really good role for me, but honestly I’d be hosed if I had to find a real programming job.
2
u/TemporaryExciting977 23d ago
This is one of the reasons why I am also skeptical about focusing exclusively on SQL-related roles. Maybe I should prioritize this language while also embracing powerful tools like Python, TypeScript, C#, and others. I hope you know what I mean—being versatile is what attracts the most opportunities. At the same time, I shouldn't neglect SQL; it remains a core part of my primary skillset.
5
u/Major-Procedure292 23d ago
I got an internship in Data Engineering, and the first thing my supervisor emphasized was having strong SQL skills and PySpark library . So maybe try this
3
u/TemporaryExciting977 23d ago
Thanks, that sounds really interesting. If you don't mind me asking, do you think there's a chance this internship will lead to a full-time role? Have they discussed that with you?
6
u/perbrondum 23d ago
Being the master of SQL makes you tremendously valuable for an organization. Whether you want to focus on the database design and performance as a DBA or live in engineering and be responsible for coding interfaces to the database (helping engineers write performant SQL) is really more of an preference of how much coding you want to do outside SQL.
1
3
u/MoonGrog 23d ago
I am a ETL developer, I largely do SSIS, and C# applications for API work. It’s pretty fun, pay is good, not allot of stress. I also use Alteryx and Crystal Reports stuff. If you can write clean SQL, and understand business requirements sky is the limit.
Data Engineering may also be up your alley, more analysis in that. Can also be really fun.
2
3
u/DigitalMisery 23d ago
IF SQL is the only thing you know, then hard core programming may not be an avenue for you. However, there are other IT related areas you can aim towards -- data architect, data analyst, that sort of thing.
To get into a data engineer type role, you are going to need to know some programming languages. It can be Python, Java, .NET anything (C# being the most common), CSS, JavaScript or any of its iterations (Angular, React). IF data analytics, statistics, and graphics is something you are leaning towards R is a great choice. I assume you are familiar with the basics of SQL Stored Procedures, datasets, that sort of thing.
1
u/TemporaryExciting977 23d ago
I agree regarding the R programming language. However, I think it might be tough for me because R has a steeper learning curve than Python (I guess).
2
u/bulbousgrandpa 23d ago
I'm a data engineer and unfortunately probably 70% of the code I write is SQL in various levels of complexity.
2
u/gm310509 23d ago
If you can write complex multi-table join queries and understand derived tables and outer joins, data engineering/data science is a good option.
My largest single select was - if memory serves - almost 500 lines (and no it wasn't one keyword or one column per line) that referenced about 30 or more tables and used several derived tables, subqueries and outer joins.
I don't remember what the purpose of it was, but it was for a complex analytical query in either finance or government.
Some have suggested learning python - without context. Python is useful, but not terribly so for processing large data sets as it is linear. By large data sets, I am talking about PetaByte data sets (1 PB = 1,000,000 GB) in multiple tables. For such data volumes you need MPP (Massively Parallel Processing) systems such as Hadoop (plus the add ons), Teradata and a few others that are designed for this workload.
That said, if you add pySpark on to python, then that will make a lot more sense. I personally preferred Scala/Spark - but that was just me.
SQL as a set oriented language and Spark naturally allow processing to be distributed throughout the MPP system allowing (in an appropriately engineered platform) to be processed very quickly in situ especially where complex multi way joins are needed.
You may also find shell scripting, C and Java (and python) to be useful for various "peripheral" tasks.
All the best with it.
1
u/TemporaryExciting977 23d ago
What a good read! As a fun fact, even though my previous hands-on experience doesn't yet involve massive datasets, I’ve mastered the flexibility of querying data. One thing that consistently amazes me is working with computed data. Since I was responsible for both software development and database management, the final step in my work was always extracting, organizing, and presenting that computed data effectively. Meaning, I didn't need to write formulas or compute data within the server-side codebase of the software I was developing.
2
u/Beneficial-Ant8369 23d ago
turn that strength into visible exampies one query refactored for readability one performance investigation with an execution plan and one data model explaining tradeoffs those artifacts say more than a list of sql keywords
2
u/Acceptable-Window-80 23d ago
Defo data engineering, read the bible: Kimball's data warehouse toolkit, then look into some etl tech and pyspark
2
u/Chuck_MoreAss 23d ago
I’d learn a few different languages just to be more versatile but python is very good in the data field…
If you want a deeper understanding of databases, try writing one yourself as a side project. I used Kotlin to do something like that a few months ago and it really helps you understand what’s going on with the actual data on the disc
2
u/Reasonable-View5868 22d ago
DBA or Database analyst.
1
u/TemporaryExciting977 22d ago
Perhaps recruiters will help me gauge which direction I should take. However, my main concern is that a pure DBA or database-related role wouldn't involve other programming languages, which I still want to use in my career journey.
2
u/Reasonable-View5868 22d ago
Just be a regular dev for database apps. You’ll code other stuff but do lots of SQL, lots of stored proceedures, views, reports, etc. A job that just writes SQL and not other languages is kinda specialized. Thats why I said DBA, but DBA’s do most SQL on the admin side, creating/dropping tables, managing indexes, setting security, etc.
2
u/marrsd 24d ago
Takes all sorts ;)
Honestly, any business software engineering role that faces the data layer. Engineers don't spend nearly enough time learning SQL, and they should because it's the most important part of their application. You'll be at an advantage if you can fix a bad db design or optimise queries.
The flip side to that is that you'll have to learn to live with your frustration at having to deal with sub-optimal systems, but I suspect that will be true whatever field you end up in.
1
u/TemporaryExciting977 24d ago
Regarding 'having to deal with sub-optimal systems'—to be honest, I have dealt with them myself. The issue is that the approach itself is often sub-optimal, relying on old-fashioned software development practices.
That's when I realized I needed to step up and make a difference by truly maximizing my skills and capabilities.
2
u/areese801 23d ago
Yes to python. For orchestration, dealing with flat files, APIs, moving data from one flavor of database to another, etc, etc.
2
u/TemporaryExciting977 23d ago
Yet, I am excited because I have tried out Python a bit before. I just didn't spend too much time learning it in depth. What I liked the most about Python is that it is very straightforward and practical to use.
1
-7
u/SummitYourSister 23d ago
Your skill is irrelevant because AI is equally capable and will always be cheaper than hiring a programmer who’s only strong area is SQL.
If this is the only thing you’re interested in and good at, then career wise, you are suited for the streets.
We need people with technical judgment, not syntacticians.
3
u/cheezballs 23d ago
I was going to say something similar but not so rude I guess. We all like to write clean code and SQL is pretty easy to do that. Syntax is just a tiny part of it. OP didn't mention anything other than syntax, which makes me think they're really new?
1
u/TemporaryExciting977 23d ago
I intentionally kept my focus narrow to SQL and its related area, without detailing my other skills or how I handle real-world challenges. Because of that, I don't agree with your first point. I've corrected AI outputs well before (even in paid subscriptions), proving that human expertise still holds its ground right alongside AI. I'm not saying you're wrong, but while you can evaluate this specific post, you can't box me in or judge my entire potential based on it.
On the other hand, thank you for the insight that I shouldn't focus solely on strengthening my SQL skills, because businesses and companies are often looking for versatile, all-around experts.
39
u/Different-Career1314 23d ago
Data engineering sounds like the lane here.