About Me, About SungW

 

About SungW:

It is boring and cringes to say the followings but I had to do here:

Just call me ‘SungW’ which may be easier for you.

I do or have:

  1. Managing the existing team of Developers (#Team Management): my background proves this.
  2. Continuously refine and improve the performance of applications: see section I below.
  3. Stay up to date with all new tech and be able to bring new ideas and innovation: see section II, V.
  4. Solid IOS/Swift experience: see section I-V below.
  5. Accountability for the technical architecture of the application: see section V
  6. Knowing when to “get hards dirty” when supporting your team: my background proves this.
  7. 11 years of experience developing & releasing iOS apps to the App Store: 2 games, 1 utility, 1 business app
  8. Expert knowledge of Swift, Objective-C, C, and a working knowledge of C++, JavaScript, curl, postman, REST API standards:: see section 0-VI.
  9. Expert knowledge of drawing code in Swift, Objective-C: see section 0-VI.
  10. Expert knowledge of debugging and refactoring existing code: see section III.

0. Good understanding of backend Services and web services.

  1. Working Knowledge of Javascript, curl, Postman, and expert knowledge of REST API standards.

I. Highly Performant iOS App (#iOS Development)

  1. The state-of-the-art, stable, highly performant software that includes a game engine, games, iOS/macOS apps connecting web endpoints with the understanding of REST API and its standards, encryptions & JSON Web Token, OpenAPI, SwiftUI (MVVM), Dispatch (GCD) & Combine, URL Loading System.
    • Those mythologies I used in the iOS development:
    • (a) Improve by Big O analysis and then go to Instrument profiling, logging (os_signpost).
    • (b) And then move or delay a task to another thread that blocks the current thread.  
    • (c) And then improve further with my expert knowledge of Instrument: Time Profiler, System Trace, Allocations, CPU, os_log, os_signpost, Points of Interest, System Load
    • For example, on the game Birdie’s dream, the map size in vector point 16,680 x 12,510 or iPhone 12 in pixel 50,040 x 37,530 or equivalent to 576 Acres. All game entities are being loaded and deleted dynamically as the game character moves around, without the necessity of loading the entire scene.

II. Agile, Adaptive, Scalable Software Development

  1. I’m practicing flexible, loosely-coupled, scalable software development through declarative, reactive design + component-based design: this makes the mobile app evolve continually and easier prototyping of the iOS app.
    • Those mythologies I used in the iOS development:
    • (a) Reactive design by employing @propertyWapper and @ViewBuilder and
    • (b) component-based design and
    • (c) the extensive use of generic and
    • (d) protocol-based design and
    • finally (e) the extensive use of Swift extension.

III. Bug-Free, Test Driven Development & How I Achieve Them All

  1. Those mythologies I used in the iOS development:
  • I prefer Clear and Standardized Naming of Variables and Functions as in Swift API design guideline from Apple
  • Simple, Concise design and coding.
  • I usually document and comment on every new function or variable.
  • I used to refactor variables and functions whenever it is necessary.
  • I prefer Component-based design, (as in GKComponentSystem)
  • I fully utilize Thread Sanitizer, Address Sanitizer on Xcode
  • I well understand Symbols of Crash Logs to prevent any possible crashes of the iOS app and how to symbolicate the crash log.
  • I prefer value type over reference type
  • I used to simplify the design by creating a state by enumeration type
  • I have expert knowledge of Debugging and Profiling Tools on Xcode and Instrument
  • I generate state diagram on Xcode through GKStateMachine
  • I use Xcode Visual debugger for UI hierarchy, breakpoint in both visual interface on Xcode and LLDB command line.
  • (LLDB command line) Debugger inspection by commands: po <expre>, p <expre>,  frame variable, parray <count> <expression>, register read, memory read $arg1
  • (LLDB command line): Breakpoint Expression Parsing, Reusable Code (in breakpoint), Defining Reusable Functions (in breakpoint)
  • I used to edit a breakpoint to add a condition and action to it.

IV. Legacy code Objective-C

  1. Improvement of legacy code in Objective-C: GCD, Dispatch, SpriteKit are written in ObjC. And I read the document in ObjC and then applied the knowledge to Swift code.
  2. conversion the legacy code to Swift if necessary.

V. Continually Learning new Technical Architecture and Design Patterns

  1. Expert knowledge of MVVM (SwiftUI over RxSwift), Swift Package Manager over CocoaPods and favor SaaS, BaaS (of AWS) and in favor of continuous integration and continuous delivery (CI/CD) as in AWS Amplify and AWS Serverless.

VI. The Talents given to me

  1. I am a mathematical mind (a winner of the mathematical olympiad) and able to adapt to new tech 4-60 times faster than others: I’m saying this based on my experience. And I have been being called a prodigy or a genius enough for others to covet or hate my ability.
  2. I have produced multiple times the better solution in the short period that a team of people or an engineer with a doctoral degree from the highest-ranked university could not solve for a long time (when their new operation stalled due to the problem):  I’ve done this twice in my career, sending the company skyrocketing in the value of the stock.: See the background at Superstar Software Co. Ltd. and Samsung group’s research & development center.

SungW’s Portfolio

My Belief

And I’m a born-again Christian.

I can feel that God has always been with me: he is my rock.

He is the resurrection and the life.

Therefore, I’m very thankful to God the Father and Lord Jesus Christ who gave me not only salvation but also what I need in the flesh.

Praise the Lord God with all my heart!

1 John 1:1-4 KJV

That which was from the beginning, which we have heard, which we have seen with our eyes, which we have looked upon, and our hands have handled, of the Word of life; (For the life was manifested, and we have seen it, and bear witness, and shew unto you that eternal life, which was with the Father, and was manifested unto us;) That which we have seen and heard declare we unto you, that ye also may have fellowship with us: and truly our fellowship is with the Father, and with his Son Jesus Christ. And these things write we unto you, that your joy may be full.