초등학생 때 야구를 시작했다. 야구를 시작할 때는 포지션을 투수로 정하지 않았고, 중앙고등학교, 전학 간 서울고등학교 때까지도 포수를 제외한 전 포지션을 소화할 수 있었다. 투수로서는 고등학생임에도 140km/h 중반의 포심을 던졌고, 타자로서는 4할 타율을 기록하며 투타 에이스로 활약했다. 최종적으로 투수로 포지션을 결정했다.
2016년 5월 27일 선발 투수 양훈이 다실점한 뒤 구원 등판하며 데뷔 첫 경기를 치렀고, 경기에서 3.1이닝 무실점을 기록했다. 2016년 6월 14일 롯데전에서 부진했던 양훈의 공백을 메꾸는데 금민철이 실패해 빈 자리를 메꿀 두 번째 선발 투수로 등판했다. 이 경기에서 4.2이닝 5실점을 기록했다. 2016년 7월 1일 KIA전에서 선발 등판해 5.2이닝 2실점으로 데뷔 첫 승리 투수가 됐다.[1] 2017년부터는 선발진에 합류했는데 지난 시즌에 비해 등판하는 경기에서 많은 이닝을 소화하며 불펜의 부담을 덜어줬다. 2017년 4월 9일 두산전에서 데뷔 첫 QS+를 기록하며 승리 투수가 됐다.[2] 2017년 4월 27일 두산전에서 개인 최다 이닝인 8이닝을 소화했고, 승리 투수가 됐다.[3] 시즌 중반에 피안타율이 0.406에 달했던 직구를 버리고 투심을 구사했다. 투심을 처음 사용한 경기는 2이닝 4실점을 한 후 3회부터였다. 그 후에 6회까지 무실점으로 막았고, 2017년 8월 13일 한화전에서 7이닝 1실점으로 승리 투수가 되며 데뷔 첫 두 자릿수 승을 달성했다.[4] 투심을 장착한 후반기에 평균자책점 2점대, 시즌 11승을 달성한 후 2018년에는 13승 7패, 3점대 평균자책점을 기록하며 팀의 토종 에이스로 활동했다. 아시안게임에서 금메달을 따며 병역 문제를 해결했지만 팔꿈치 부상으로 아시안 게임 후 시즌 아웃됐다. 시즌이 끝날 때까지 세 자릿수 이닝 이상 소화한 투수들 중에서 유일하게 피홈런이 10개 이내였다. 2019년에는 당시 감독이었던 장정석의 집중 관리로 6이닝 제한, 100구 제한, 1주일에 2회씩 등판 금지로 시작해 중반부터는 제한을 서서히 풀어가며 부상없이 11승 5패, 3점대 평균자책점을 기록했다. 시즌 중반에 부진했지만 팀의 연패를 끊는 7.2이닝 2실점(1자책) 호투를 시작으로 10월에 평균자책점 0.60을 기록했다. 포스트시즌에서는 3경기에 등판해 5이닝 11실점을 기록하는 등 안 좋은 모습을 보이며 강판됐다.
2018년 아시안 게임을 앞두고 기존에 선발했던 차우찬이 부상으로 낙마하자 차우찬을 대신해 야구 국가대표팀에 발탁됐다. 김하성, 이정후와 함께 아시안 게임 금메달을 획득하며 병역 특례를 받았으나 아시안 게임 중 부상이 발견돼 아시안 게임을 마치고 돌아온 후 남은 경기에 등판하지 못하고 시즌을 마감했다.