Here are three different ways to achieve the follwing output:

Which one to chose depens on the actual contents of your table. The first version makes use of xltablar and used 3 columns instead of just 2. This solution is sepecially useful, since it does not require manual calculateion of column widths. This solution is somewhat limited to "some text" below "Company 1" occupying only a single line instead of multiple lines.
The other two suggestions use longtable and manually calsulated column widths and can also be used if you need automatic linebreaks in "some text" below "company 2". The first one used 3 columns, as well and is especially useful if your table contains more entries that follow the "Company 1" style than entries that follow the "Company 2" style. The second of the longtable-based suggestions makes use af just two columns in combination with a nested tabular and might be more useful, if your table contains more entries that follow the "Company 2" style.
\documentclass{article}
\usepackage{xltabular}
\usepackage{longtable}
\usepackage{array}
\usepackage{calc}
\begin{document}
\begin{xltabular}{\textwidth}{@{}r|rX@{}}
2017 -- 2019 & \multicolumn{2}{l}{\textbf{Company 1}} \
& About: & some text some text some text some text some text \
& Role: & some text some text some text some text some text some text some text some text some text some text some text some text some text some text some text \
& Contact: & some text \
& Email: & some text \
\multicolumn{2}{l}{}\
2015 & \multicolumn{2}{l}{\textbf{Company 2}} \
& \multicolumn{2}{l}{some text} \
& \multicolumn{2}{l}{some text some text some text some text} \
\end{xltabular}
\newlength{\firstcolwidth}
\newlength{\secondcolwidth}
\newlength{\thirdcolwidth}
\newlength{\combinedcolwidth}
\setlength{\firstcolwidth}{\widthof{2017 -- 2019}}
\setlength{\secondcolwidth}{\widthof{Contact:}}
\setlength{\thirdcolwidth}{\linewidth-\firstcolwidth-\secondcolwidth-4\tabcolsep-\arrayrulewidth}
\setlength{\combinedcolwidth}{\secondcolwidth+\thirdcolwidth+2\tabcolsep}
\begin{longtable}{@{}wr{\firstcolwidth}|wr{\secondcolwidth}p{\thirdcolwidth}@{}}
2017 -- 2019 & \multicolumn{2}{l}{\textbf{Company 1}} \
& About: & some text some text some text some text some text \
& Role: & some text some text some text some text some text some text some text some text some text some text some text some text some text some text some text \
& Contact: & some text \
& Email: & some text \
\multicolumn{2}{l}{}\
2015 & \multicolumn{2}{l}{\textbf{Company 2}} \
& \multicolumn{2}{p{\combinedcolwidth}@{}}{some text some text some text some text some text some text some text some text some text some text some text some text} \
& \multicolumn{2}{p{\combinedcolwidth}@{}}{some text some text some text some text} \
\end{longtable}
\begin{longtable}{@{}wr{\firstcolwidth}|p{\combinedcolwidth}@{}}
2017 -- 2019 &\textbf{Company 1} \
& \begin{tabular}{@{}wr{\secondcolwidth}p{\thirdcolwidth}@{}}
About: & some text some text some text some text some text \
Role: & some text some text some text some text some text some text some text some text some text some text some text some text some text some text some text \
Contact: & some text \
Email: & some text \
\end{tabular}\
\multicolumn{2}{l}{}\
2015 & \textbf{Company 2} \
& some text some text some text some text some text some text some text some text some text some text some text some text \
& some text some text some text some text \
\end{longtable}
\end{document}