Verified Expert in Engineering
Nemanja has worked for both startups and large corporations, like Novomatic and Microsoft, in various environments. He’s very familiar with Agile/Scrum methodology and has played the role of a lead, teammate, mentor, and student. He’s mainly motivated by open-ended tasks to stretch his intellect and skills to the fullest to find the best solution. His primary expertise is development with Java, Swift, C#, and C++.
Visual Studio Code (VS Code), IntelliJ IDEA, Android Studio
The most amazing...
...project I've led was JobFair: A two-day long, student-focused career fair organized by a nonprofit student organization featuring 36 companies.
Circles IP Limited
- Developed a multilingual cross-platform Flutter app that targets Android and iOS.
- Implemented a native (Swift) module for connecting to the Apple watch and running the paired watchOS app.
- Implemented Mapbox for map-assisted shot collection on a golf course.
Metric Creative, LLC
- Developed a cross-platform application in Flutter that targets desktop platforms, primarily Windows.
- Set up a continuous deployment pipeline on Codemagic.
- Developed reusable UI elements, like Flutter widgets, to have a ubiquitous UX across the app.
- Built a cross-platform solution for an Android and iOS app.
- Implemented a Redux-based architecture solution using Flutter Redux and Redux Saga plugins.
- Worked in a fully Agile team with all Scrum-defined ceremonies, from backlog grooming, planning, review with a demo, and retrospective.
- Covered all the reducer methods with unit tests as part of the acceptance criteria for merging PRs.
Arkitec Software Ltd.
- Developed a standalone Flutter SDK that Arkitec's clients can use to integrate the solution into their consumer loyalty apps.
- Developed a React-native client for Arkitec's Flutter SDK solution.
- Served as development support to Arkitec's clients for integrating the Flutter SDK into their products.
- Worked on the SOLID-principle-based architecture for the scalable and modular cross-platform solution.
- Worked on a multi-module solution structure that enables different projects to use shared submodules.
- Did extensive unit testing coverage with the isolated setup-execution-verification approach.
- Implemented a GraphQL API client, including all three operation types: queries, mutations, and subscriptions.
- Acted as a sole developer for the multi-tenant Android and iOS app solution for VillageSafety brands.
- Established and maintained the CI solution with Codemagic.
- Did email and password authentication with FirebaseAuth and user records with Firestore.
- Applied clean architecture to native Android and iOS apps using three-tier separation.
- Wrote strongly-templated unit tests. Each test contained an explicit set up, calls under test, and explicit assertions or verifications. Each part was separated by a single empty line break so that developers could easily spot what was being tested.
- Created and integrated RxJava wrappers for a clean architecture approach.
- Code-reviewed every PR from other team members. Every PR had to undergo automated unit testing for functional verification and manual code review for development transparency and continuity.
- Collaborated using the Git feature branch workflow.
Next Generation Lotteries
- Checked the MVP architecture for Android and iOS apps that it conformed to the separation-of-concerns principle.
- Performed unit testing with JUnit and XCTest test cases. Since we've used an MVP design pattern, it allowed us to mock any component while testing only the single implementation.
- Implemented protocol-oriented programming. Using new capabilities and practices in Swift language, protocol-oriented programming allows for greater flexibility and a higher level of abstraction than OOP.
- Configured and integrated Xcode server bots for continuous integration; also successfully configured a CI pipeline using native Xcode Server toolchain.
- Integrated Fastlane for faster and easier code-signing for iOS apps.
- Adopted Scrum methodology. We used a scaled Agile framework (SAFe) and had daily standup meetings and biweekly sprints with retrospectives and reviews.
Mobile and Web Developer
- Developed social apps which focused on user-generated content. All the apps also integrated social networks (like Facebook or Twitter) for sharing app content or inviting friends to use this app.
- Set up GCM (now FCM) on both back-end and Android side; used Java on both back-end (using utility libraries for GCM) and client side (using Android SDK).
- Implemented the pair programming approach for both development continuity purposes and for exchanging knowledge and practices when the team was in the forming stage.
- Implemented audio playback on the Android platform. The media player was running inside a Service that was controlled through broadcasts from a content-rich notification.
- Collaborated remotely since part of the team was in France and part of the team was in Serbia. From time to time, there was a need to do the planning or product development through online meetings and synchronization.
Data Collection and Labeling Associate
Microsoft Development Center Serbia
- Worked with a diverse student team. Everyone on the team had a unique background, including philology, engineering, business, as well as forestry, math, and so on.
- Collaborated remotely as part of a team contributing to Office products, namely the OfficeLens application, which meant we also had to synchronize with teams in Redmond and other Microsoft offices.
- Evaluated the performance of neural network data processing. The team that I was part of was charged with labeling data and reviewing neural network output for previously labeled data.
- Validated the results of Microsoft's OCR technology.
- Reviewed and evaluated Microsoft products. I've submitted verbal and written feedback on upcoming Microsoft products that were in development and not published yet.
CircleIn (Android App)
- Ask your toughest questions and get answers from peers
- Get a push notification when someone answers or comments on your question
- Use group video for homework sessions, or help
- See, search and share class notes
- Earn community service hours for scholarship, college, internship or job applications
- Reach your network of classmates daily with chat
Hypotheek24 (iOS App)
Catalyzer (iOS App)
Simply click a button and wait for the app to do its magic—it will connect you with a nearby user that is also available and lead you to a nearby bar. All with a single click!
Head Organizer of JobFair (2015)
In 2015, I had the privilege of leading a team of over 100 volunteers for over six months. This resulted in 36 companies taking part and over 2,000 students attending the event. This year also brought a completely rewritten and redesigned CV database as well as the search engine that corporate partners could use to find suitable candidates for their current or future openings.
Java, C++, Kotlin, Swift, Dart, HTML, CSS, PHP, C#, SQL, Python
Flutter, Spring, UIKit, JUnit, XCTest, JSF, Jakarta Server Pages (JSP), .NET, Redux
Xcode Server, RxSwift, CocoaPods, RxJava 2, RxJava, Google Maps
Cross-platform, Mobile Development, Scrum, Functional Programming, Agile Software Development, Unit Testing, Test-driven Development (TDD), Concurrent Programming, Compiler Design, Agile
Android, iOS, Visual Studio Code (VS Code), Firebase, Visual Studio 2017, Apple Watch
Front-end Development, Mobile App Development, Cross-platform App Development, Tools, Computer Science, Algorithms, English, Native Mobile Apps, APIs
Android Studio, Git, Xcode, IntelliJ IDEA, Visual Studio, Bamboo, GIS
MySQL, MongoDB, SQLite, Realm
Bachelor's Degree in Computer Science
University of Belgrade - Belgrade, Serbia
IDP IELTS Canada