Skip to main content
Goodwill

Matthew's Journey

"Matthew loves having a job. He’s become independent and proactive."

Matthew Success StoryYou may not know him by name, but odds are you’ve already seen his face. Matthew’s smile, charm and positive attitude earned him a spot on many of Goodwill’s billboards around central Pennsylvania. For those who know him, his designation as one of the faces of Goodwill is a position well-deserved.Donate to Goodwill

Matthew was born in Pennsylvania and the youngest of five children. When he was seven years old, he moved with his family to Sarasota, Florida. There, his older sister enrolled him in a children’s program at what is now Community Haven, an educational facility that focuses on teaching life skills to people with disabilities. Matthew thrived in a structured environment that provided him with a stable schedule. He learned to read and write. He also became heavily involved with the Boy Scouts and Special Olympics (something he continues to do to this very day). 

As his parents became older and Matthew was in his 40s, his family moved back to Pennsylvania. Matthew’s sister, Ella, and her husband became his legal guardians and took over his care. Before arriving in Pennsylvania, Ella and her husband did some research to find the best place for Matthew to be happy and productive. They contacted Goodwill and Matthew was quickly accepted into a paid training program. Kathy Erney, his vocational counselor, said, “He has always enjoyed custodial work and is dedicated. He never misses a day unless it’s absolutely necessary and his motivation to succeed has helped him overcome challenging behaviors. He is cooperative with staff and, since he is so detail-oriented, the quality of his work is excellent. He has a positive relationship with his family and feels that earning a paycheck is important to being a contributing member of his household.”

 

According to his sister, “Matthew loves having a job. He’s become independent and proactive because of Goodwill. He often gets on the bus by himself and looks forward to work and bringing home a paycheck.” Indeed, Matthew arrives right on time to Goodwill each day with a smile and his key card in hand to gain access to the building. He fits right into a culture of acceptance where his preference for maintaining a patterned schedule is well provided. Never has he issued a complaint or protested against doing anything, so long as he knows what to expect ahead of time. By nature, he is easy-going and, while not very talkative, responds cordially to greetings.

While in a paid training program, Matthew completes a variety of custodial tasks at different sites in Harrisburg. His custodial manager Nancy Mills said, “Matt is an efficient and dedicated trainee who is caring and works well with his peers and likes to joke and have fun. He doesn’t like to be late for work and he doesn’t like to leave early, even if he has a doctor’s appointment.”

When not working, Matthew enjoys going out with his family and going to the mall. He will point out people he recognizes and Ella appreciates the moments when someone who knows Matthew makes a point to say hello and talk to him. Ella noted that a nurse, who was visiting their home, saw a picture of Matthew and said she saw him on a billboard. Ella described, “He is, by rights, his own person and it’s nice to see how much he’s grown. He’s always learning.”

Every week, he goes to church with his family and actively participates in mass by helping to serve communion, take collections and serve at the altar. He also volunteers to help keep the church clean. In his spare time, Matthew enjoys swimming, going for walks, riding his bike and playing basketball. He relaxes by watching television. He has traveled with his family to many places. He goes wherever they go and in November, Matthew and his family enjoyed a cruise to the Bahamas.

 

For more information about Goodwill’s programs and services, contact Sue Soderberg
ssoderberg@yourgoodwill.org
717.394.0647


Your financial contributions make a difference!

Your generous support enables us to develop innovative, nationally recognized programs and it gives us the flexibility to address emerging needs long before government programs can respond.

Click the "Donate" button to make a secure online donation through your PayPal account or with any debit or credit card. Your donation will make a difference in the lives of those we serve.

Goodwill Keystone Area earns over 75% of its operating income through its social enterprise of stores and business services. These entrepreneurial activities also provide paid training for those receiving services. This income covers a large part – but not all – of our operating expenses. One hundred percent of your gift is applied directly to services for people.

Thank you.

truetrue
4MBMemory Usage107msRequest Duration
Joomla! Version4.2.5
PHP Version8.1.32
Identityguest
Response200
Templategoodwill-cassiopeia
Database
Server
mysql
Version
10.5.26-MariaDB
Collation
utf8_general_ci
Conn Collation
utf8mb4_general_ci
$_GET
[]
$_POST
[]
$_SESSION
[]
$_COOKIE
[]
$_SERVER
array:58 [ "USER" => "yourgoodwill" "HOME" => "/var/www/vhosts/yourgoodwill.org" "SCRIPT_NAME"...
session
array:3 [ "counter" => 1 "timer" => array:3 [ "start" => 1747725174 "last" => 1747725174...
registry
array:3 [ "data" => [] "initialized" => false "separator" => "." ]
user
array:18 [ "id" => 0 "name" => null "username" => null "email" => null "password" => "***r...
PHPDEBUGBAR_STACK_DATA
[]
  • afterLoad (539.2KB) (6.63ms)
  • afterInitialise (814.02KB) (29.25ms)
  • afterRoute (613.23KB) (7.3ms)
  • beforeRenderComponent com_content (97.24KB) (5.14ms)
  • Before Access::preloadComponents (all components) (34.48KB) (1.76ms)
  • After Access::preloadComponents (all components) (102.67KB) (1.55ms)
  • Before Access::preloadPermissions (com_content) (3.85KB) (34μs)
  • After Access::preloadPermissions (com_content) (461.23KB) (2.12ms)
  • Before Access::getAssetRules (id:234 name:com_content.article.146) (34.8KB) (59μs)
  • After Access::getAssetRules (id:234 name:com_content.article.146) (8.47KB) (281μs)
  • afterRenderComponent com_content (304.08KB) (16.97ms)
  • afterDispatch (2.28KB) (182μs)
  • beforeRenderRawModule mod_menu (Main Menu) (290KB) (6.41ms)
  • afterRenderRawModule mod_menu (Main Menu) (304.56KB) (11.2ms)
  • beforeRenderModule mod_menu (Main Menu) (8.87KB) (1.19ms)
  • afterRenderModule mod_menu (Main Menu) (11.31KB) (276μs)
  • afterRender (185.54KB) (8.28ms)
  • 1 x afterInitialise (814.02KB) (27.39%)
    29.25ms
    1 x afterRenderComponent com_content (304.08KB) (15.89%)
    16.97ms
    1 x afterRenderRawModule mod_menu (Main Menu) (304.56KB) (10.48%)
    11.20ms
    1 x afterRender (185.54KB) (7.75%)
    8.28ms
    1 x afterRoute (613.23KB) (6.83%)
    7.30ms
    1 x afterLoad (539.2KB) (6.21%)
    6.63ms
    1 x beforeRenderRawModule mod_menu (Main Menu) (290KB) (6%)
    6.41ms
    1 x beforeRenderComponent com_content (97.24KB) (4.82%)
    5.14ms
    1 x After Access::preloadPermissions (com_content) (461.23KB) (1.99%)
    2.12ms
    1 x Before Access::preloadComponents (all components) (34.48KB) (1.65%)
    1.76ms
    1 x After Access::preloadComponents (all components) (102.67KB) (1.45%)
    1.55ms
    1 x beforeRenderModule mod_menu (Main Menu) (8.87KB) (1.11%)
    1.19ms
    1 x After Access::getAssetRules (id:234 name:com_content.article.146) (8.47KB) (0.26%)
    281μs
    1 x afterRenderModule mod_menu (Main Menu) (11.31KB) (0.26%)
    276μs
    1 x afterDispatch (2.28KB) (0.17%)
    182μs
    1 x Before Access::getAssetRules (id:234 name:com_content.article.146) (34.8KB) (0.06%)
    59μs
    1 x Before Access::preloadPermissions (com_content) (3.85KB) (0.03%)
    34μs
20 statements were executed, 3 of which were duplicates, 17 unique11.22ms184.41KB
  • SELECT @@SESSION.sql_mode;231μs1.57KB/libraries/vendor/joomla/database/src/Mysqli/MysqliDriver.php:293Copy
  • SELECT `data` FROM `jmla_session` WHERE `session_id` = ?188μs1.61KBParams/libraries/vendor/joomla/session/src/Handler/DatabaseHandler.php:261Copy
  • SELECT `session_id` FROM `jmla_session` WHERE `session_id` = :session_id LIMIT 1132μs1.61KBParams/libraries/src/Session/MetadataManager.php:187Copy
  • INSERT INTO `jmla_session` (`session_id`,`guest`,`time`,`userid`,`username`,`client_id`) VALUES (:session_id, :guest, :time, :user_id, :username, :client_id)1.41ms944BParams/libraries/src/Session/MetadataManager.php:260Copy
  • SELECT `id`,`rules` FROM `jmla_viewlevels`220μs1.58KB/libraries/src/Access/Access.php:955Copy
  • SELECT `b`.`id` FROM `jmla_usergroups` AS `a` LEFT JOIN `jmla_usergroups` AS `b` ON `b`.`lft` <= `a`.`lft` AND `b`.`rgt` >= `a`.`rgt` WHERE `a`.`id` = :guest292μs1.64KBParams/libraries/src/Access/Access.php:868Copy
  • SELECT `c`.`id`,`c`.`asset_id`,`c`.`access`,`c`.`alias`,`c`.`checked_out`,`c`.`checked_out_time`,`c`.`created_time`,`c`.`created_user_id`,`c`.`description`,`c`.`extension`,`c`.`hits`,`c`.`language`,`c`.`level`,`c`.`lft`,`c`.`metadata`,`c`.`metadesc`,`c`.`metakey`,`c`.`modified_time`,`c`.`note`,`c`.`params`,`c`.`parent_id`,`c`.`path`,`c`.`published`,`c`.`rgt`,`c`.`title`,`c`.`modified_user_id`,`c`.`version`, CASE WHEN CHAR_LENGTH(`c`.`alias`) != 0 THEN CONCAT_WS(':', `c`.`id`, `c`.`alias`) ELSE `c`.`id` END as `slug` FROM `jmla_categories` AS `s` INNER JOIN `jmla_categories` AS `c` ON (`s`.`lft` <= `c`.`lft` AND `c`.`lft` < `s`.`rgt`) OR (`c`.`lft` < `s`.`lft` AND `s`.`rgt` < `c`.`rgt`) WHERE (`c`.`extension` = :extension OR `c`.`extension` = 'system') AND `c`.`published` = 1 AND `s`.`id` = :id ORDER BY `c`.`lft`667μs5.11KBParams/libraries/src/Categories/Categories.php:360Copy
  • SELECT `id`,`name`,`rules`,`parent_id` FROM `jmla_assets` WHERE `name` IN (:preparedArray1,:preparedArray2,:preparedArray3,:preparedArray4,:preparedArray5,:preparedArray6,:preparedArray7,:preparedArray8,:preparedArray9,:preparedArray10,:preparedArray11,:preparedArray12,:preparedArray13,:preparedArray14,:preparedArray15,:preparedArray16,:preparedArray17,:preparedArray18,:preparedArray19,:preparedArray20,:preparedArray21,:preparedArray22,:preparedArray23,:preparedArray24,:preparedArray25,:preparedArray26,:preparedArray27,:preparedArray28,:preparedArray29,:preparedArray30,:preparedArray31,:preparedArray32,:preparedArray33,:preparedArray34,:preparedArray35,:preparedArray36,:preparedArray37,:preparedArray38,:preparedArray39,:preparedArray40)672μs7.75KBParams/libraries/src/Access/Access.php:357Copy
  • SELECT `id`,`name`,`rules`,`parent_id` FROM `jmla_assets` WHERE `name` LIKE :asset OR `name` = :extension OR `parent_id` = 01.03ms95.05KBParams/libraries/src/Access/Access.php:301Copy
  • SHOW FULL COLUMNS FROM `jmla_content`677μs2.39KB/libraries/vendor/joomla/database/src/Mysqli/MysqliDriver.php:584Copy
  • UPDATE jmla_content SET `hits` = (`hits` + 1) WHERE `id` = '146'803μs48B/libraries/src/Table/Table.php:1319Copy
  • SELECT `a`.`id`,`a`.`asset_id`,`a`.`title`,`a`.`alias`,`a`.`introtext`,`a`.`fulltext`,`a`.`state`,`a`.`catid`,`a`.`created`,`a`.`created_by`,`a`.`created_by_alias`,`a`.`modified`,`a`.`modified_by`,`a`.`checked_out`,`a`.`checked_out_time`,`a`.`publish_up`,`a`.`publish_down`,`a`.`images`,`a`.`urls`,`a`.`attribs`,`a`.`version`,`a`.`ordering`,`a`.`metakey`,`a`.`metadesc`,`a`.`access`,`a`.`hits`,`a`.`metadata`,`a`.`featured`,`a`.`language`,`fp`.`featured_up`,`fp`.`featured_down`,`c`.`title` AS `category_title`,`c`.`alias` AS `category_alias`,`c`.`access` AS `category_access`,`c`.`language` AS `category_language`,`fp`.`ordering`,`u`.`name` AS `author`,`parent`.`title` AS `parent_title`,`parent`.`id` AS `parent_id`,`parent`.`path` AS `parent_route`,`parent`.`alias` AS `parent_alias`,`parent`.`language` AS `parent_language`,ROUND(`v`.`rating_sum` / `v`.`rating_count`, 1) AS `rating`,`v`.`rating_count` AS `rating_count` FROM `jmla_content` AS `a` INNER JOIN `jmla_categories` AS `c` ON `c`.`id` = `a`.`catid` LEFT JOIN `jmla_content_frontpage` AS `fp` ON `fp`.`content_id` = `a`.`id` LEFT JOIN `jmla_users` AS `u` ON `u`.`id` = `a`.`created_by` LEFT JOIN `jmla_categories` AS `parent` ON `parent`.`id` = `c`.`parent_id` LEFT JOIN `jmla_content_rating` AS `v` ON `a`.`id` = `v`.`content_id` WHERE ( (`a`.`id` = :pk AND `c`.`published` > 0) AND (`a`.`publish_up` IS NULL OR `a`.`publish_up` <= :publishUp)) AND (`a`.`publish_down` IS NULL OR `a`.`publish_down` >= :publishDown) AND `a`.`state` IN (:preparedArray1,:preparedArray2)555μs24.63KBParams/components/com_content/src/Model/ArticleModel.php:215Copy
  • SELECT `c`.`id`,`c`.`asset_id`,`c`.`access`,`c`.`alias`,`c`.`checked_out`,`c`.`checked_out_time`,`c`.`created_time`,`c`.`created_user_id`,`c`.`description`,`c`.`extension`,`c`.`hits`,`c`.`language`,`c`.`level`,`c`.`lft`,`c`.`metadata`,`c`.`metadesc`,`c`.`metakey`,`c`.`modified_time`,`c`.`note`,`c`.`params`,`c`.`parent_id`,`c`.`path`,`c`.`published`,`c`.`rgt`,`c`.`title`,`c`.`modified_user_id`,`c`.`version`, CASE WHEN CHAR_LENGTH(`c`.`alias`) != 0 THEN CONCAT_WS(':', `c`.`id`, `c`.`alias`) ELSE `c`.`id` END as `slug` FROM `jmla_categories` AS `s` INNER JOIN `jmla_categories` AS `c` ON (`s`.`lft` <= `c`.`lft` AND `c`.`lft` < `s`.`rgt`) OR (`c`.`lft` < `s`.`lft` AND `s`.`rgt` < `c`.`rgt`) WHERE (`c`.`extension` = :extension OR `c`.`extension` = 'system') AND `c`.`access` IN (:preparedArray1,:preparedArray2) AND `c`.`published` = 1 AND `s`.`id` = :id ORDER BY `c`.`lft`412μs5.16KBParams/libraries/src/Categories/Categories.php:360Copy
  • SELECT `m`.`tag_id`,`t`.* FROM `jmla_contentitem_tag_map` AS `m` INNER JOIN `jmla_tags` AS `t` ON `m`.`tag_id` = `t`.`id` WHERE `m`.`type_alias` = :contentType AND `m`.`content_item_id` = :id AND `t`.`published` = 1 AND `t`.`access` IN (:preparedArray1,:preparedArray2)256μs5.22KBParams/libraries/src/Helper/TagsHelper.php:364Copy
  • SELECT `c`.`id`,`c`.`asset_id`,`c`.`access`,`c`.`alias`,`c`.`checked_out`,`c`.`checked_out_time`,`c`.`created_time`,`c`.`created_user_id`,`c`.`description`,`c`.`extension`,`c`.`hits`,`c`.`language`,`c`.`level`,`c`.`lft`,`c`.`metadata`,`c`.`metadesc`,`c`.`metakey`,`c`.`modified_time`,`c`.`note`,`c`.`params`,`c`.`parent_id`,`c`.`path`,`c`.`published`,`c`.`rgt`,`c`.`title`,`c`.`modified_user_id`,`c`.`version`, CASE WHEN CHAR_LENGTH(`c`.`alias`) != 0 THEN CONCAT_WS(':', `c`.`id`, `c`.`alias`) ELSE `c`.`id` END as `slug` FROM `jmla_categories` AS `s` INNER JOIN `jmla_categories` AS `c` ON (`s`.`lft` <= `c`.`lft` AND `c`.`lft` < `s`.`rgt`) OR (`c`.`lft` < `s`.`lft` AND `s`.`rgt` < `c`.`rgt`) WHERE (`c`.`extension` = :extension OR `c`.`extension` = 'system') AND `c`.`access` IN (:preparedArray1,:preparedArray2) AND `c`.`published` = 1 AND `s`.`id` = :id ORDER BY `c`.`lft`502μs5.16KBParams/libraries/src/Categories/Categories.php:360Copy
  • SELECT DISTINCT a.id, a.title, a.name, a.checked_out, a.checked_out_time, a.note, a.state, a.access, a.created_time, a.created_user_id, a.ordering, a.language, a.fieldparams, a.params, a.type, a.default_value, a.context, a.group_id, a.label, a.description, a.required, a.only_use_in_subform,l.title AS language_title, l.image AS language_image,uc.name AS editor,ag.title AS access_level,ua.name AS author_name,g.title AS group_title, g.access as group_access, g.state AS group_state, g.note as group_note FROM jmla_fields AS a LEFT JOIN `jmla_languages` AS l ON l.lang_code = a.language LEFT JOIN jmla_users AS uc ON uc.id=a.checked_out LEFT JOIN jmla_viewlevels AS ag ON ag.id = a.access LEFT JOIN jmla_users AS ua ON ua.id = a.created_user_id LEFT JOIN jmla_fields_groups AS g ON g.id = a.group_id LEFT JOIN `jmla_fields_categories` AS fc ON fc.field_id = a.id WHERE ( (`a`.`context` = :context AND (`fc`.`category_id` IS NULL OR `fc`.`category_id` IN (:preparedArray1,:preparedArray2)) AND `a`.`access` IN (:preparedArray3,:preparedArray4)) AND (`a`.`group_id` = 0 OR `g`.`access` IN (:preparedArray5,:preparedArray6)) AND `a`.`state` = :state) AND (`a`.`group_id` = 0 OR `g`.`state` = :gstate) AND `a`.`only_use_in_subform` = :only_use_in_subform ORDER BY a.ordering ASC1.17ms6KBParams/libraries/src/MVC/Model/BaseDatabaseModel.php:165Copy
  • SELECT `c`.`id`,`c`.`asset_id`,`c`.`access`,`c`.`alias`,`c`.`checked_out`,`c`.`checked_out_time`,`c`.`created_time`,`c`.`created_user_id`,`c`.`description`,`c`.`extension`,`c`.`hits`,`c`.`language`,`c`.`level`,`c`.`lft`,`c`.`metadata`,`c`.`metadesc`,`c`.`metakey`,`c`.`modified_time`,`c`.`note`,`c`.`params`,`c`.`parent_id`,`c`.`path`,`c`.`published`,`c`.`rgt`,`c`.`title`,`c`.`modified_user_id`,`c`.`version`, CASE WHEN CHAR_LENGTH(`c`.`alias`) != 0 THEN CONCAT_WS(':', `c`.`id`, `c`.`alias`) ELSE `c`.`id` END as `slug` FROM `jmla_categories` AS `s` INNER JOIN `jmla_categories` AS `c` ON (`s`.`lft` <= `c`.`lft` AND `c`.`lft` < `s`.`rgt`) OR (`c`.`lft` < `s`.`lft` AND `s`.`rgt` < `c`.`rgt`) WHERE (`c`.`extension` = :extension OR `c`.`extension` = 'system') AND `c`.`access` IN (:preparedArray1,:preparedArray2) AND `c`.`published` = 1 AND `s`.`id` = :id ORDER BY `c`.`lft`642μs7.66KBParams/libraries/src/Categories/Categories.php:360Copy
  • SELECT `m`.`id`,`m`.`title`,`m`.`module`,`m`.`position`,`m`.`content`,`m`.`showtitle`,`m`.`params`,`mm`.`menuid` FROM `jmla_modules` AS `m` LEFT JOIN `jmla_modules_menu` AS `mm` ON `mm`.`moduleid` = `m`.`id` LEFT JOIN `jmla_extensions` AS `e` ON `e`.`element` = `m`.`module` AND `e`.`client_id` = `m`.`client_id` WHERE ( ( (`m`.`published` = 1 AND `e`.`enabled` = 1 AND `m`.`client_id` = :clientId AND `m`.`access` IN (:preparedArray1,:preparedArray2)) AND (`m`.`publish_up` IS NULL OR `m`.`publish_up` <= :publishUp)) AND (`m`.`publish_down` IS NULL OR `m`.`publish_down` >= :publishDown)) AND (`mm`.`menuid` = :itemId OR `mm`.`menuid` <= 0) ORDER BY `m`.`position`,`m`.`ordering`879μs2.44KBParams/libraries/src/Cache/Controller/CallbackController.php:132Copy
  • SELECT `a`.`id`,`a`.`asset_id`,`a`.`title`,`a`.`type`,`a`.`execution_rules`,`a`.`state`,`a`.`last_exit_code`,`a`.`locked`,`a`.`last_execution`,`a`.`next_execution`,`a`.`times_executed`,`a`.`times_failed`,`a`.`priority`,`a`.`ordering`,`a`.`note`,`a`.`checked_out`,`a`.`checked_out_time`,`uc`.`name` AS `editor` FROM `jmla_scheduler_tasks` AS `a` LEFT JOIN `jmla_users` AS `uc` ON `uc`.`id` = `a`.`checked_out` WHERE `a`.`state` = :state AND `a`.`next_execution` <= :now ORDER BY `a`.`title` asc267μs4.45KBParams/administrator/components/com_scheduler/src/Model/TasksModel.php:391Copy
  • SELECT `a`.`id`,`a`.`asset_id`,`a`.`title`,`a`.`type`,`a`.`execution_rules`,`a`.`state`,`a`.`last_exit_code`,`a`.`locked`,`a`.`last_execution`,`a`.`next_execution`,`a`.`times_executed`,`a`.`times_failed`,`a`.`priority`,`a`.`ordering`,`a`.`note`,`a`.`checked_out`,`a`.`checked_out_time`,`uc`.`name` AS `editor` FROM `jmla_scheduler_tasks` AS `a` LEFT JOIN `jmla_users` AS `uc` ON `uc`.`id` = `a`.`checked_out` WHERE `a`.`state` = :state AND `a`.`locked` IS NOT NULL ORDER BY `a`.`title` asc220μs4.43KBParams/administrator/components/com_scheduler/src/Model/TasksModel.php:391Copy