I miss the day to day of DC; learning new code with a senior developer as safety net for when things go the way you weren’t expecting. Goofing around with the cohort after class, and hitting up secret food gems all around East Downtown.

But all great things must end sometime, and my cohort closed out with an awesome demo day a little over 2 months ago. For most of us, that meant the job hunt. For me, things initially came easy; companies were interviewing me at a decent clip, and I was getting close with quite a few places.

Then a little event called Hurricane Harvey hit and destroyed a month of momentum. …

Aggregating to:

Boom, individual project: https://goatfinder.herokuapp.com/

It’s an app that lets the user select a year range, some stat weights, and any current MLB team (or all of MLB), and it’ll return the greatest players of that era by that given criteria. I’m aware that there are dashboarding solutions that can do this in a matter of hours, but I wanted to further tighten my SQL skills. My classmate told me to just drop my main aggregation script on this blog post and drop the mic. So, this isn’t optimized, but it was fun to write:

SELECT fullnames.namefirst, fullnames.namelast, avghr.avghomer, position.pos
— Get player full names from master table
baseball.batting.playerid as idall,
FROM baseball.batting
JOIN baseball.master
ON baseball.master.playerid = baseball.batting.playerid)
as fullnames
— Get homer averages and constrain by year
avg(baseball.batting.hr) as avghomer,
baseball.batting.playerid as idavg
FROM baseball.batting
WHERE baseball.batting.yearid >= 1800
AND baseball.batting.yearid <= 2016
GROUP BY idavg)
as avghr
ON fullnames.idall = avghr.idavg
— Get primary player positions
JOIN ( SELECT poslist.playerid, poslist.pos
FROM ( SELECT fielding.pos,
sum(fielding.g) AS position_occurence,
FROM baseball.fielding
GROUP BY fielding.pos, fielding.playerid
) AS poslist
LEFT JOIN ( SELECT fielding.pos,
sum(fielding.g) AS position_occurence,
FROM baseball.fielding
GROUP BY fielding.pos, fielding.playerid
) AS primarypos
ON primarypos.playerid=poslist.playerid AND primarypos.position_occurence >
WHERE primarypos.playerid IS NULL)
as position
ON avghr.idavg = position.playerid
— WHERE position.pos = ‘’
GROUP BY fullnames.namefirst, fullnames.namelast, avghr.avghomer, …

Not listening to music; instead, reading documentation on React.

Just when I got the hang of JavaScript, here comes React to humble me yet again. Objects were already a concept I’m trying my hardest to embrace, but layer on it the dynamics of this framework, and it looks like magic. I’m determined, though. This is how one develops platform-agnostic mobile apps, so I feel I have to get this. One thing, though, once you get React working with Material UI, you get some slick looking sites.

So, this may be the third post on my group project (http://www.foodformymood.com), but there was so much to unpack in terms of what I took away from this experience. Firstly, here’s that app’s relational data structure that I’m particularly proud of cooking…


Ryan Leon’s Bootcamp

Software developer student and aspiring data wrangler documenting the learning process of the development bootcamp

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store