
初めて仕事をするのであれば、
どういった形態で働くか迷うところだと思います。
私の実際の経験に基づいて、その疑問に答えたいと思います。

個人的に一番好きな言語はJavaです。
JavaができるとWeb系の仕事もできるし、Androidアプリも作成できます。
Web系の受託開発
私がWeb系の受託開発で使った言語はJava、JavaScript、PHPでした。
その他、データベースとしてPostgreSQL、MySQL、Oracleなどを使っていました。
メリット
1.Webシステムの構造を知ることが出来る

普段何気なく見ているWebページでも、裏では複雑な処理をしていたりします。
そういった構造を知ることが出来るのはプログラマーとして重要だと思います。
2.データベースに詳しくなれる
受託開発で作るWebシステムでデータベースを使わない仕事は無いと言ってもいいと思います。
最初は苦手かもしれませんがやっていくうちに自然にデータベースに慣れることが出来るのもメリットの1つだと思います。
デメリット

1.チームで上手く連携を取る必要がある
Webシステムは基本的に大規模になりやすいため、チーム内で連携を取らないと見た目がバラバラになったりしてしまいます。
コミュニケーションが苦手な場合嫌になってしまうかも・・・
2.個人で何か作りたいと思った時難しい
会社でWebシステムを作る分にはテンプレート化されたソースコード等を使うことが出来ますが、個人で何か作りたいと思った時一から全て自分で作るのは難しいかもしれません。
Android・iOSアプリの自社開発

私がAndroid・iOSアプリの自社開発で使った言語はJava、Swiftでした。
AndroidでJavaを使った理由はWeb系の開発で慣れていたためです。
iOSアプリでObjective-Cを使わなかった理由は、Swiftが出て
あまりObjective-Cを使う意義がなかった(個人的には)ためです。
メリット

1.個人でも動きやすい
仕事でAndroidやiOSアプリを作れるようになれば、Webシステムほど構造が複雑ではないので個人でアプリを作ってストアで公開、などが出来るようになります。
また、一人で開発を任されるということもあるので個人で仕事がしたいという人に向いているかもしれません。
2.身近なスマートフォンで動くアプリが作れるようになる
普段使っているスマートフォンで動くアプリを作れるというのは、開発者にとって嬉しいものだと思います。
私もGPSで歩いた経路を保存するアプリを作って、
外で散歩をしながらテストしたりしていました。
デメリット

1.進化のスピードが早い
AndroidならJavaからKotlin、iOSならObjective-CからSwiftへの移行があったりして、新しい技術をどんどん身に付けて行かないとついていけなくなってしまうかもしれません。
画面サイズがどんどん大きくなることへの対応、OSバージョンアップへの対応も必要になります。
2.動かす端末によって動作が変わる
Androidであれば多種多様な端末があり、センサーが付いていないから動かない、などといった不具合が起こる可能性もあります。
iOS製品はAppleでしか出していないためそういった問題は少ないかもしれません。
両者の比較
あくまで私の感覚なのですが、
Web系とAndroid・iOSアプリ開発どちらか悩んでいるなら後者の方がおすすめです。
理由はやはり個人でもアプリを作れるようになることです。
私も個人でWebシステムを作ろうと思ったことがありましたが、
構造が複雑でいつも途中で挫折してしまいます・・・
その点Android・iOSアプリは、基本的にAndroid Studio、Xcodeといった開発ソフトを使えばアプリが動くような環境を自動で構築してくれます。
GoogleアカウントやAppleアカウントを作成すれば、作ったアプリをストアで公開することも可能です。
まとめ
個人の価値観によりますが、チームで動くことが苦手でなければWeb系の受託開発、チームは苦手!出来るだけ個人で動きたいということならAndroid・iOSアプリの自社開発が良いと思います。
私の場合チームで動くのが苦手で、プログラミングのコードは前に書いた人の書き方に合わせるというのが一般的なのに独自の書き方をしてしまったり、指示されたことを勘違いして上司の意図と違うものを作ってしまったりしていました。
ですので、私にはAndroid・iOSアプリ開発の方が合っていると感じています。
私の記事を読んでいただきありがとうございました。