英語学習は、とにかく分量をこなすこと

必要な勉強時間は数千時間

中学・高校と6年間も勉強してきたのに英語が話せない、という人がよくいますが、それは授業に出て、試験で落第しない程度の点数を取るだけでは、まったく勉強不足だからです。
日本語ネイティブにとって、英語は文法・語彙などまったく違う言語なので難度が高く、かなりの勉強時間が必要になります。フランス語やドイツ語のネイティブが英語を勉強するのとは大違いです。調べてみると、確立した学説などにはなっていないものの*1、2,000〜5,000時間ぐらいの数字が出てきます。これに対して中高6年間での勉強はざっと1,000時間程度にすぎません。学習時間数について、オンラインで見られる情報をいくつか挙げておきます。
http://www.nullarbor.co.jp/guidance/toeic_g02.html
http://www.etn.co.jp/approach/period.html
http://eng.alc.co.jp/newsbiz/hinata/2006/03/--30004000.html
それなりに英語を勉強してきた自分の実感としても、数千時間という学習時間は妥当と感じます。
まず、「英語の習得には数千時間かかる」ということを覚悟してください。
なお、このことを書くのは、多少勉強しても上達が感じられないのは当たり前のことで、落胆するようなことではないと分かって欲しいからです。大切なのは、数千時間になるまで勉強を続けることです。

勉強量を稼ぐための工夫

この数千時間という時間は、特に仕事している社会人にとっては途方もない時間です。とりあえず1,000時間としても、1日1時間を毎日続けて約3年かかります。
勉強量を稼ぐ方法の1つとして、日常生活に英語学習を融合させる方法があります。具体的には以下のようなやり方です。

  • 仕事で読む文書を英語にする(ソフトウェア開発者向けには、別記事にまとめました)
  • 通勤電車の中などで、英会話の脳内創作をする。たとえば、海外の空港でレンタカーオフィスに行って、「予約していた○○です」から始まる一連の会話を作文します(自分は「妄想英会話」と呼んでます)
  • 趣味で見るウェブサイトを英語にする(自分が学生時代には、NetNews(知らない人は、昔のオンライン掲示板と思ってください)を色々読みました)

何にしても、自分が興味を持てる題材・やり方を選ぶのがいいと思います。そうでないと長期間続きません。また、途中でイヤになってきたら他に興味が持てる題材を探した方がいいと思います。

ちょっとの真剣さも必要

ここまで時間数の話ばかりしてきましたが、ある程度の真剣さも必要です。分からない単語をすべて英英辞典と類語辞典で調べてまとめるところまでやる必要はないと思いますが、一方で、寝ながら流し聞きしても大して上達しません。
まず、内容を理解したいと思うことは必須です(仕事や趣味に関連するものだと、この点有利)。あとは、気になる単語は辞書を引く、文法的に不明な点は文法書を調べる、などもおすすめです(イヤにならない程度でいいと思いますが)。
なお、文法書としては、自分は「マスター英文法」(中原道喜著)をずっと使っています。

新マスター英文法

新マスター英文法

この本は、かなり細かいことまで載っていていまだに重宝してます。たとえば先日「ゲストスピーカーとして呼ばれて、発表しました」という文を書こうとして"as an invited speaker"と不定冠詞を入れるか、"as invited speaker"と冠詞なしにするか迷ったのですが、「冠詞の省略」という項に「asのあとの名詞」という見出しがあり、「asが特に『資格』を表す場合に冠詞が省略されることが多い」(p.215)と書かれています。
この本に限らず、英語関連の書籍は大学受験用を中心に色々と安価に入手可能なので、好きなものを選べばいいと思います。

*1:外国語習得の仕組みの研究はSLA(Second Language Acquisition)と呼ばれる。この分野の入門書である外国語学習の科学―第二言語習得論とは何か (岩波新書)、その他日本人に相応しい英語教育 —文科行政に振り回されず生徒に責任を持とうなどを参照。断片的に分かってきたことは色々あるが、「科学的学習法」が確立するところまでは至っていないという印象。