宋立文

Senior Software Engineer

Taoyuan(Nankan),Taiwan

[email protected]

Skills


basic

  1. Java
  2. C/C++
  3. Multi-thread


OMA Device Management

  1. Verizon, AT&T operators
  2. FOTA in Recovery or Virtual A/B update
  3. Motive test, Nokia test experience


Android display driver

  1. Display, Platform, I2C drivers
  2. LCM LK, Kernel settings
  3. Backlight settings
  4. Device tree


Android framework

  1. CTS, GTS issues
  2. SELinux
  3. AudioTrack, AudioRecrod


Android application

  1. JobScheduler, Alarm
  2. stateMachine
  3. Notification
  4. Theme, Style
  5. TelephonyManager


Experience


FIH, Engineer, 2019/12 ~ Now

IDE - Android Studio, Environment - Android, Java, C/C++
2022 - Got promoted to Senior Engineer
OMADM - 5 Projects, 1 year and 8 months, Java, C/C++
  • I owned the time management, and used protobuf for storing the data from server. There are many requirements to implement. Ex: Smart update/Critical update, battery check, calling check, network check, foreground check, APN management, and error handling.
  • We developed the OMADM and OTA for the operators based on the requirements. It has lots of the situations in OMADM and OTA. For example, it needs the SYNCML protocol for client communicating with server and has WifiOnly scenario in OTA. We use the state machine to control each stage and notify the user with job scheduler in near future.
  • Develop the API for 3rd party to check the update engine status. The API which provide timer, status management, and data in linux.
  • Test in Motive server to pass the OMADM licence. There are many problems in test, for example, tester uses 5G sim to verify 4G device, it cannot receive the wap push because of the modem code bug, and the timer is not on time.
  • Solving the multi-thread writing and memory leak issues for our daemon service.
Android display - 3 Projects, 4 months, C
  • Study the chips SPECs for bring up the display in the device. To accomplish the power sequence, I would fix the code error of the vendor and modify the code. It has lots of problem when we porting the LCM to the device. For instance, the power on sequence error and the backlight setting error would make the LCM be abnormal displayed.
  • I implemented the I2C driver for backlight, and set up the device for requirements of the panel.
  • I used the UART log for debugging the bring up errors.
Android framework upgrade system - 3 project, 8 months, Java
  • Porting the new android system into the older one.
  • Fix the functionality if it is not working.
  • Customize the UI/UX by add and modify theme/style of Android framework and I owned the special requirements for elders.

PenPower, Software engineer, 2016/08 ~ 2019/09

IDE - Visual Studio, Environment - Windows, C
Paint table
  • Binarize、Edge crispening、Eliminate noise
  • Basic Contour Detection (Sobel, Rober's, Prewitt's, LOG, Canny)
  • Advance Contour Detection gpb-owt-ucm (Including k-means)
  • Fixed point mapping
Optical Character Recognition(OCR)
  • I create my algorithm to recognize the words in images. The accuracy is up to 95% and above average 90% in many scenarios.
    • Hindi
      • Binarize
      • Analyze the boundary
      • Design the algorithm for segmentation
      • Eliminate noise
    • Hebrew
      • Binarize
      • Analyze the boundary
      • Design the algorithm for segmentation
      • Eliminate noise

Education

  • Master 2013~2016 — Computer Science, National Chung Cheng University
    • THESIS: An Enhanced Map Generalization Method Using R-trees
      • java, R-tree
  • Bachelor 2008~2013 — Computer Science, National Chung Cheng University

Autobiography

        After graduated in 2016, I joined PenPower(Hsinchu) responsible for development the OCR technique. In order to learn the image processing knowledge, I tried to trace the codes and suvery the experience in the internet. I developed the segmentation algorithm for the two languages(Hindi, Hebrew) and the recognition rate was more than 90% in situations.

        In 2019, I worked in FIH(Taipei), responsible for android framework development and maintenance. I was owned the Sharp senior cell phone for four months. I changed the theme/style in framework for senior requirements. After finished the senior project, I supported BSP team for display bring up job for 4 months. I studied the schematics and data sheets to implement the correct codes. For example, it needs to achieve the power sequence for power consumption. Next, teams and I developed the OMADM project. The project was the top priority in FIH business, and we should be done in 6 months. I owned thw CheckIn, APN management, Smart update, Critical update, Storage check, Battery check, Foreground app check, UI/UX, translation. It was special experience for me to implement a project in a tough schedule, and it let me to learn a great job scheduling.
        With the challenges in different filed and different requirements, I expecting to continuously accumulated experience and improvement on capability to maintain my competitiveness
Powered By CakeResume