Over 10 years of software development experiences. I have worked on iOS, web and desktop apps (Win, OSX and Linux).
Development Tools, Methodologies & Environments: Object-Oriented Analysis & Design (OOAD), Agile, NetBeans, Microsoft Visual Studio, Eclipse, Spring, Maven, RESTful, Amazon web Service, Neo4j, Github, and Xcode.
Systems: Windows, OS X, and Ubuntu.
Dailyvita, Software Developer May 2017 – Present
Developed the Office Automation System (OA) based on PHP, Apache and MSSQL. In the company there are lots of subsystems such as Inventory subsystem, shipping subsystem, selling subsystem and so on. The OA regularly grabs and stores all related data by APIs provided by subsystems. Then it analyzes all data to develop a good and flexible sales strategy for the company. The OA system provides customer service the ability of search shipping status of every package shipped by our warehouse. It also can obtain the selling prices of every product which we focus on from our competitors to generate more competitive prices based on the minimizing prices which we calculate.
Developed Scanning System. I developed the system to record tracking numbers when and by whom they are scanned. Combining the scanning data and other data from shipping subsystem and inventory subsystem, the system is able to provide the managers the real time information of warehouse and office. It also can monitor the efficiency of every worker.
Contract Developer – Freelance Jul 2016 – Present
Food ordering system: This system provides customers and restaurants with online services. The system is divided into three parts: terminal software, restaurant management system and web server.
Web server is to provide terminal software and restaurant management system with data resource. Considering the requirement of system and the resource what I have, Web server is based on platform which amazon provides. Lambda, API gateway and dynamoDB that is a database which amazon provides are used in the web server. I used swagger file to define all the APIs of server. And I used maven to organize and code the whole project in Java with eclipse on Ubuntu. So far, I am done with skeletal system. The web server can provide users and restaurant management system with data resource. (Repo: https://github.com/rbhfish/aws_serverlessbase.git)
Terminal software is used to provide users with ordering service. Users can look up the specified restaurant by either users’ location or restaurant style. After completing and update the order to server, web server will generate a unique number to identify. Customer can go to the restaurant and show the unique number to waiter. And restaurant can also prepare the food ahead. I am working on the application now. (Repo: https://github.com/rbhfish/iOS_version_order)
Car Navigation System: This system provides customers with navigation services including traffic information display, multiple kinds of navigation services. My responsibility is to develop and maintain the terminal software based on WinCE in C++. Because of the limitation of hardware, the multiple-process mechanism is applied on this application. Because of protocol which the hardware only has some EVENT type messages open to application, I developed the process which is used to manage multiple processes by receiving the EVENT messages from hardware. These processes include the process of dial-up, the network process, and the navigation process. I used the file mapping and mutex to manage the communication among multiple processes. So far, the multiple-process version has passed the test. Due to complication of software and better support from vendor, we are considering to replace multiple-process with multiple-thread.
East Carolina University, Computer Science Department – Teaching Assistant Jan 2015 – Aug 2016
Advised students on homework and labs, and graded exams (CSCI4630 Operating Systems).
Beijng PalmGo Info Tech Co., Ltd – Software Development Jan 2013 – May 2014
Project Lead for developing the App PalmGo in App Store (link: https://itunes.apple.com/cn/app/zhang-xing-tong-xing-ren-dao/id559604905?ls=1&mt=8).
The project provides pedestrians with travel information. There exists well-developed public transport system in Beijing. Many people’s travelling depends on public transport system. People need the transport information on where and how to make transfers based on the users’ location. The App submits the current location to the server in every fixed-duration time. And the server will calculate the plan of the transfers, and then issue the plan to the terminal. In the meanwhile, the app also provides users with all the information related to traffic such as weather, the accident location and so on.
Participated in every project phrase, from concept creation to App Store deployment.
Responsible for general maintenance of application library and debugging.
Supported junior members of the team and provided ongoing advice and guidance.
Communicated with customers and subcontractors, budgeted the project, and managed all team members.
Contract iOS Developer – Freelance Oct 2012– Dec 2012
Developed App Mapets (Link: https://itunes.apple.com/cn/app/mapets/id607009749?!=en&mt=8).
The App can collect various types of information including users’ location, images of pets, demographic profiles, and comments from other users. In the app, users can either create new accounts or use their weibo (like twitter) accounts because of integration of weibo(which is similar to Facebook) APIs.
Designed and developed various creative features for the App.
Used Core Text, Image I/O, Core GraphicsQuartz), Core Animation, Cocoa Touch.
Drafted and updated bug reports.
Beijng Palmcity Science and Technology Co., Ltd – Software Development May 2010 – Jan 2013
Developed App Palmcity (link: https://itunes.apple.com/cn/app/zhang-xing-tong-xing-ren-dao/id559604905?ls=1&mt=8). Involved at every project phrase, from concept creation to app store deployment. Utilized Message UI, Map Kit, Game Kit, Event Kit UI and Address Book UI Framework.
Technical Team Lead for developing Real-Traffic-Data Producing System. In the project, I implement the whole process of network via socket in Java. I also implement the process of parsing the real-time traffic data. And I parse the SVG-format graphic files and change it based on the parsed traffic data. I developed and built the system in Linux.
Designed and developed a process manager which is similar to start task manager on Window System to resolve the communication issue between multiple processes in Java
Skyworth Group Co., Ltd – Software Development Oct 2008 – May 2010
Technical Team Lead for developing Auto-Update System on the CE3100 chip on Linux OS by modifying vivi (bootloader) and developing a nor flash driver. And built a file system on the Linux. Developed USB-bus driver on X86 and ARM.
East Carolina University, Greenville, NC M.S. in Computer Science
Expected: August 2020
Xi’an University of Science and Technology, Xi’an, Shanxi, China M.S. in Electrical Engineering
Harbin Institute of Technology, Harbin, Heilongjiang, China B.S. in Electrical & Information Engineering