-
Notifications
You must be signed in to change notification settings - Fork 0
/
data.yaml
537 lines (534 loc) · 35.3 KB
/
data.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
name: Amir Karimi
title: Fractional Head of Engineering for early-stage startups
intro: 20 years of experience in end-to-end project delivery, team building, and consultancy services to diverse clients, ranging from small startups to Disney and Amazon.
intro_html: 20 years of experience in end-to-end project delivery, team building, and consultancy services to diverse clients, ranging from small startups to <img id="disney-logo" src="/assets/img/disney_logo.svg" title="Disney"/> and <img id="amazon-logo" src="/assets/img/amazon_logo.svg" title="Amazon"/>.
phone: +1 778 680 2525
email: me@amirkarimi.dev
calendar: https://calendly.com/amir_karimi
linkedin: https://www.linkedin.com/in/amirkarimi
github: https://github.com/amirkarimi
twitter: https://twitter.com/4m1rk
location: Vancouver, BC
keywords: amir karimi, fractional vp of engineering, fractional head of engineering, director of engineering, software engineer, software developer, consultant, contractor, software architect, big data, devops, SRE, python, go, javascript, typescript, scala
services:
- title: Technical Leadership
description: Provide strategic guidance and leadership to engineering teams, helping them align their efforts with business objectives, optimize processes, and make informed technical decisions.
- title: Software Architecture, Design and Implementation
description: Analyze business requirements and translate them into robust software architectures and designs. Contribute to the implementation of the critical components and modules. Apply best practices and industry standards to create scalable, maintainable, and efficient software systems.
- title: Team Management and Mentoring
description: Oversee and manage engineering teams, ensuring effective collaboration, productivity, and high-quality deliverables. Mentor and coach team members to enhance their skills and professional growth.
- title: Stakeholder Communication
description: Effectively communicate with clients, project stakeholders, and cross-functional teams to manage expectations, provide project updates, and address any technical concerns or challenges.
- title: Technology Evaluation and Selection
description: Assist in evaluating and selecting appropriate technologies, frameworks, and tools for projects, considering factors such as scalability, performance, security, and future extensibility.
- title: Technical Hiring and Talent Acquisition
description: Assist in the recruitment and hiring of engineering talent. Participate in candidate screening, technical interviews, and evaluating skill sets to build high-performing teams.
skills:
Principals: [technical_leadership, system_design, distributed_systems, etl, devops]
Languages: [python, go, ts, scala, java]
Frameworks: [spark, django, fast_api, flask, react]
Tools: [linux, docker, aws, cdk, terraform]
positions:
- title: Fractional Head of Engineering
company: Self Employed
location: Vancouver, Canada
start: Jun 2023
description: |
I specialize in aiding startups during the following scenarios:
- They require rapid product development and seek the expertise of a fractional seasoned engineer.
- They are outsourcing development and need someone to bridge the gap between their team and developers.
- Their in-house team requires extra senior support or a boost in efficiency for writing scalable code.
- title: Software Engineer
company: Amazon
location: Vancouver, Canada
start: Nov 2022
end: Jun 2023
description: |
- My team utilizes AI/ML to overcome advertising attribution challenges while maintaining compliance with strict privacy regulations that prohibit user identity capture and storage.
- Demonstrating exceptional leadership skills by becoming a project lead within two months of joining Amazon.
- One of the main contributors to re-architecting and improving the data processing pipelines which are processing petabytes of data daily, reducing the number of jobs from around 15 to 1.
- title: Tech Lead / Principal Software Architecture
company: Acceptto
location: Vancouver, Canada
start: May 2019
end: Nov 2022
description: |
- Promoted to lead the core engineering team consisting of 5 engineers developing the company's core product.
- Reduced customer onboarding time from days to hours by developing a horizontally scalable, full-duplex communication service for the customer directory agent.
- Led the redesign and implementation of the next generation of Acceptto's SSO microservice to make it horizontally scalable and highly available.
- Designed and implemented a policy orchestration engine module that allows customers to control Acceptto's authentication system behavior with or without writing code.
- Increased the availability and scalability of the company's core services by leading the migration to AWS and adding multi-region disaster recovery support, done using Terraform.
- Helped the sales team to close two deals that increased the company's annual income by almost 30%, by leading the technical sale and architecture design calls.
- Acceptto was acquired by SecureAuth in Nov 2021.
- title: Site Reliability Engineer
company: Disney Streaming Services
location: Manchester, UK
start: Mar 2018
end: Mar 2019
description: |
- One of the main contributors to establishing the SRE practices within Disney Streaming Services as the 4th member of the newly shaped SRE team in the company.
- Increased the availability of the services by implementing a transparent cross-region replication support for AWS Kinesis resources (Kinesis did not offer such a service at the time).
- Helped three different teams within a year to prepare for big launches that required handling thousands of requests per second by reviewing the architecture, building high throughput performance tests, chaos engineering, and building necessary tools and processes to improve reliability.
- title: Software Engineer
company: Disney Streaming Services
location: Manchester, UK
start: Apr 2017
end: Mar 2018
description: |
- Developed scalable microservices capable of handling tens of thousands of requests per second using Scala, Play, DynamoDB, AWS Lambda, Kinesis, SQS, S3, etc.
- Contributed directly to the design and implementation of a new subscription system for BAMTech Media, which was later used in Disney+.
- The original company name was Cake Solutions. It was acquired by BAMTech and then Disney in 2017.
- title: Independent Software Engineer / Consultant
company: Self Employed
location: Tehran, Iran
start: Jan 2006
end: Mar 2017
description: |
- Designed and developed more than 40 custom-built software projects, from high-performance desktop applications written in C++ to highly scalable web applications written in Scala. Technologies: C#, .NET, Scala, Play, Akka, Python, Ruby, Java, Javascript, HTML/CSS, and more. See some of my works done as a solo developer under <a href="#projects">Projects</a> section.
- Worked directly with clients from corporate to individual entrepreneurs as a contractor or partner.
- Built and managed a network of developers by setting up a transparent system to share the project's financial value with the whole team based on the value each member adds. It was a successful alternative to the traditional employment structure of corporations to attract the best talents.
- title: Software Developer
company: Behsad
location: Arak, Iran
start: Feb 2003
end: Dec 2005
description: |
- Software developer in a team of 3, consisting of two academic researchers building a 2D cutting-stock problem-solving desktop GUI application for the first of its kind in Iran. Written in C++ and utilizing the Genetic Algorithm, it was solving general cutting-stock problems with less than 5% waste on average.
- Designed and implemented dozens of applications using C#, .NET, and MSSQL.
- Mentored and led a team of junior developers.
projects:
- title: Re-architecture of the ML big-data data pipelines
date: Dec 2022 - Jun 2023
description: One of the main contributors out of the two, to re-design and implement a new version of the data pipeline that simplifies the architecture and allows faster evolutions. This pipeline is handling petabytes of data daily and used in one of the strategic products of Amazon Advertisement organization. My team leveraged Iceberg and other technologies and refactored the existing Spark jobs to a cleaner and simpler design. This project reduced the number of job applications from 15 to 1 for a module.
problem: My team utilizes AI/ML to overcome advertising attribution challenges while maintaining compliance with strict privacy regulations that prohibit user identity capture and storage. The existing data ingestion pipeline consisted of more than 20 jobs that were hard to maintain and expand. I was assigned to integrate our AI/ML pipeline with a new Amazon advertising product.
action: Expansion to the new product required changes in the pipeline jobs. I used this opportunity to derive the team's focus on re-architecting the pipelines using a data-lake technology and simplifying it. I started building the new product expansion using the new architecture while considering migrating the existing pipeline to it.
result: I became one of the main contributors (out of two) to the pipeline re-architecting. In one case we managed to reduce the number of jobs from 15 to 1 which was making debugging and changing the code significantly easier.
associated_with: Amazon
stack: [python, scala, aws, spark, etl, pytorch]
- title: Re-architecting the SSO and migrate to cloud
date: Nov 2020 - Jun 2021
description: Led the redesign and implementation of the next generation of Acceptto's SSO microservice to make it horizontally scalable and highly available. The old SSO module was a web server that should be run and maintained on the customer site. The new version was designed to run in the cloud and connect to the customer's user directory using an agent. This project reduced the customer onboarding time from days to hours.
associated_with: Acceptto Corporation
stack: [aws, terraform, ruby, vue, js]
comments: Merged this with agent project in Catalant
- title: LDAP Agent and Switchboard
date: Sep 2020 - Feb 2021
description: Created a solution for Acceptto that allowed their backend to communicate with customers' ActiveDirectory. I managed the project (team of two) and contributed to the development directly. It was done in two phases and successfully executed with customer compliments. The final architecture removed the need for firewall configurations and load balancing on the customer side.
associated_with: Acceptto Corporation
stack: [go, ruby, vue, ts, js]
- title: Policy Orchestration Engine for an IAM Solution
date: Apr 2019 - Sep 2019
description: Designed and implemented a policy orchestration engine that allows customers to define their rules and condition to customize a core IAM solution software behavior. For example, customers can dynamically define policies to ask for MFA in addition to passwords when the user is logging in from a specific location or specific time of day, or a specific risk profile associated with the user. In addition to a UI, it allows power users to write their own predicates and policies. This feature provided a competitive advantage for the company in the industry which led to at least two successful accounts.
associated_with: Acceptto Corporation
stack: [python, aws, terraform, ruby, flask, vue]
- title: Launch SRE
date: Apr 2018 - Apr 2019
description: As the 4th member of the newly founded SRE team of Disney Streaming Services, helped three different development teams within a year to prepare for big launches that required handling thousands of requests per second by reviewing the architecture, building high throughput performance tests, chaos engineering, and building necessary tools and processes to improve reliability.
associated_with: Disney Streaming Services
stack: [python, go, scala, kafka, ruby]
- title: Subscription system
date: Apr 2017 - Apr 2018
description: As part of a team of four, contributed directly to the design and implementation of a new subscription system for BAMTech Media, which was later used in Disney+. Capable of handling tens of thousands of requests per second.
problem: Bamtech Media's (now a Disney company) user subscription system was outdated and hard to manage. They needed to rewrite this system from scratch to improve the performance, code readability, and maintainability.
action: I was a software engineer in a team of four responsible for implementing the new subscription service as well as the infrastructure on AWS.
result: The system was handling tens of thousands of requests per second successfully. The same system was later used in Disney+ services.
associated_with: Disney Streaming Services
stack: [scala, aws, docker]
- title: Book Coupon Distribution System
pdf_resume: true
date: Jun 2016 - Dec 2016
description: Built an online registration, allocation, and payment system that handled the sales of book coupons for students used in international Iranian book fairs. This app handled the equivalent of $2M transactions within two weeks of the Tehran International Book Fair. Probably the largest project built entirely using the Scala ecosystem in Iran for the first time.
problem: My client was responsible for the distribution of book coupons to students so that they can use them at book fairs to buy books. Students had to go to banks or other institutions to register and receive the coupons. For the biggest events like Tehran International Book Fair, there was always more demand than available coupons which was leading to some logistic issues both for providers and users.
action: As a solo developer, I built an online registration, allocation, and payment system that handled the registration and sales of coupons. It allowed the admins to allocate a certain number of coupons based on different factors such as city, education, etc. It was implemented using Scala, Play Framework, MongoDB, and Akka.
result: This app handled the equivalent of $2M transactions within two weeks of the Tehran International Book Fair successfully and was received very well by the users and organizers of the book fair. It was probably the largest project built entirely using the Scala ecosystem in Iran for the first time.
associated_with: Self-employed
stack: [scala, mongodb, play, akka]
- title: Exercise and Workout Coaching App
hide: true
date: Aug 2015 - Nov 2016
description: Built the entire backend for a health and fitness application that connects the specialist to clients to coach them for exercise and diet as a fractional lead of engineering. Released the first version to production within 2 months. At the same time, built and coached the backend team to an independent mature team of 5.
problem: My client was a new startup in the health and wellbeing section building an app that was connecting exercise and diet specialists to users. They already had some progress in building the mobile app but they were struggling to find resources for their backend side. My client was looking for a full-time employee but I assured them that I can fill the gap as a fractional lead engineer and even help them build the backend team.
action: I requested my client to give me one day a week and asses the result in 4 weeks, if there were not happy with the result they don't need to pay anything. I designed and built the backend features within the first few weeks to the point that the backend features were ahead of the front end.
result: My client was satisfied with the result. Within the next few months, I also built a backend team that continued building and launched the next versions of the product within the next 2 years.
associated_with: Self-employed
stack: [scala, play, akka]
- title: Custom-Made Content Management Systems
hide: true
date: Feb 2014 - Feb 2016
description: |
Developed several custom-made content management systems on top of a homemade framework using Scala and Playframework offering superior performance by utilizing non-blocking io. In addition to the technical advantages they were designed to be simple so non-technical people can easily create and maintain the content and elements of the websites.
Some of these websites:
- http://icfi.ir/
- http://hrsolutions.ir/
- http://celltech.co/
- http://aradwcg.com/
- http://gmpsmartsolution.com/
- http://irancable.com/'
problem: I had multiple customers who needed a content management system for their business but the available options in the market were too technical for their staff.
action: I built a CMS that not only was performing very well on light hardware but also was designed to be easy to work with by less-technical people. Its admin panel was customizable to their need. The customization of the admin panel was done by me and the result was an admin panel that my client staff could quickly learn to use.
result: This CMS made all my clients self-sufficient to continue maintaining their website content saving them thousands of dollars a year.
associated_with: Self-employed
stack: [scala, mongodb, play]
- title: ISP Integration Software Bot
pdf_resume: true
date: Oct 2015 - Nov 2015
description: Removed human errors, reduced costs and time by up to 10 times by reducing the time to submit the information and monitor the data from other systems by developing a bot to expose an API and other integrations on top of a closed-source UI that was designed to be only used by humans.
problem: My client had to use human resources in order to submit data and monitor the state of the request in some external systems. This was an error-prone, time-consuming, and costly process. The external system was not providing any APIs for integration either.
action: I implemented a bot using Selenium and Django that acts as an agent that submits the information, periodically checks them on the external website, and keeps the data in sync with its local database. It was offering some REST API that my client used to integrate with their systems.
result: My client operation cost related to this external website was reduced by up to 5 times while the human errors were completely eliminated.
associated_with: Self-employed
stack: [python, django, selenium]
- title: Fair Registration and Management System
pdf_resume: true
date: Nov 2013 - Apr 2014
description: A custom-made book fair registration system automates book publishers' registration process, allowing visitors to search for books and publisher locations online. It handled more than 40 provincial book fairs in the country, including the Tehran International Book Fair, with Alexa's rank below 500 among Iranian websites during the fair times. Serving tens of thousands of users per day using a single CPU and 2.5GB of RAM thanks to using non-blocking IO and async programming.
problem: My client was responsible for holding book fairs and managing publishers' registration all over the country including the biggest cultural event in the country, Tehran International Book Fair. The publisher's registration process was done physically which was time-consuming and costly for both publishers and my client.
action: I analyzed the registration processes and designed and implemented a custom-made fair registration system that automates book publishers' registration process fully online. It was also allowing the publishers to import their books to be published on the other website which was dedicated to visitors. Visitors could search for books and publisher locations online and plan for their visit before going to the fair.
result: It handled more than 40 provincial book fairs in the country, including the Tehran International Book Fair, with Alexa's rank below 500 among Iranian websites during the fair times. Thanks to using non-blocking IO and async programming it served tens of thousands of users per day using a single CPU and 2.5GB of RAM.
associated_with: Self-employed
stack: [scala, mongodb, play]
- title: Pluggable Authentication Module (PAM) to add MFA support to Linux services
pdf_resume: true
comment: "Shorter title: Building a Linux Pluggable Authentication Module (PAM) to support MFA"
date: Jan 2014 - Mar 2014
description: Implemented a Pluggable Authentication Module (PMA) that integrates with my client's multi-factor authentication service. It allows adding MFA to all Linux services supporting PAM, such as SSH or local user logins.
associated_with: Self-employed
stack: [c_c++, linux]
- title: Aircraft Accidents Procedure to Gathering Information
hide: true
date: Dec 2013 - Feb 2014
description: Automation of "Procedure to Gathering Information" that accelerates the process for the organization.
associated_with: Self-employed
stack: [c_sharp, asp_net]
- title: Xoqal (Open Source)
date: Aug 2012 - Aug 2013
description: Xoqal is an application library targeting .NET 4+ platforms written in C#. It helps to build web and desktop (win) applications using the same infrastructure. It provides some abstractions, data types, etc that make it easier for developers to follow the best design patterns and principles like SOLID.
associated_with: Self-employed
stack: [c_sharp]
- title: Online Print Order Management System
hide: true
date: Feb 2013 - Mar 2013
description: Allows users to register their print orders, pay the invoices and track the orders online. It also includes the admin panel for staff to update the order status and communicate with the customers.
associated_with: Self-employed
stack: [c_sharp, asp_net]
- title: Vermicompost Production Automation System
hide: true
date: Jan 2013 - Mar 2013
description: A custom-made automation system of contracts and financial processes for a Vermicompost production business. It is implemented on top of a homemade application framework.
associated_with: Self-employed
stack: [c_sharp, asp_net]
- title: Graphical Harbor Yard Management System Architecture
hide: true
date: Dec 2012 - Feb 2013
description: Design and architect an automation system to manage a harbor yard, including the software UX, database design, and communication between other systems.
associated_with: Self-employed
stack: [c_sharp]
- title: Marine Services Management
pdf_resume: true
hide: true
date: Mar 2012 - Aug 2012
description: Automation of marine services management that consists of a desktop application as well as a backend. The desktop app can work in offline mode and syncs with the backend whenever the internet connection is available. It also has a licensing system that allows my client to easily sell this software to several customers.
associated_with: Self-employed
stack: [c_sharp, wpf, asp_net]
- title: Online Car Insurance Sale System
hide: true
date: May 2012 - Aug 2012
description: A user-friendly registration and payment system that allows people to buy insurance for their cars. It also automates the process on the seller side.
associated_with: Self-employed
stack: [c_sharp, asp_net]
- title: Online Utilities Payment System
hide: true
date: Mar 2012 - Jun 2012
description: A web application that allows users to view, track and pay for their utilities online. This app was also integrated with several external systems of the business to automate the full process.
associated_with: Self-employed
stack: [c_sharp, asp_net]
- title: Market Monitoring System
hide: true
date: Feb 2012 - May 2012
description: A SaaS software that gives the users ability to practice learning about the stock market by allowing them to buy/sell virtual products or shares which track the real corresponding market value. The users can see their cost-benefit analysis identical to what would happen had they really bought those assets. It also aggregates the users analyzed information and gives a broader analysis of the users' behavior and their cost-benefit.
associated_with: Self-employed
stack: [c_sharp, asp_net]
- title: Flight Information System
hide: true
date: Nov 2011 - Jan 2012
description: This system consists of a web application and an integration sub-system that collects airline flight information from other systems, normalizes the data, and provides reports for the users.
associated_with: Self-employed
stack: [c_sharp, asp_net]
- title: Online Custom-made CRM (Silverlight)
hide: true
date: Sep 2011 - Nov 2011
description: This is a lightweight custom-made CRM built using Silverlight and RIA services.
associated_with: Self-employed
stack: [c_sharp]
- title: Online Survey System
hide: true
date: Jul 2011 - Oct 2011
description: This is a SaaS that allows users to create survey forms with various data input elements, share with their audience, collect the information, and generate reports.
associated_with: Self-employed
stack: [c_sharp, asp_net]
- title: Persian WPF Toolkit (Open Source)
hide: true
date: Jul 2011 - Aug 2011
description: A WPF Toolkit fork that adds the Persian calendar support to multiple standard WFP components such as date picker, data grid, etc. It recognizes the right calendar based on the current thread culture and has the exact native look and feel as the original control.
associated_with: Self-employed
stack: [c_sharp]
- title: Custom-made Inventory Management System
date: Jan 2011 - May 2011
description: A custom-made desktop application that automates inventory management for small businesses.
associated_with: Self-employed
stack: [c_sharp, wpf]
- title: Steam Boiler Simulation CAD Software
pdf_resume: true
date: Dec 2010 - Mar 2011
description: A GUI desktop app that simulates a virtual power generator steam boiler. Allows designing boiler systems by drag-and-dropping the boiler elements, specifying the connections and parameters then the user can run a simulation and receive the results report visually as well as on each element.
associated_with: Self-employed
stack: [c_sharp, wpf, fortran]
- title: Invoicing Business Integration System
hide: true
date: Apr 2010 - Jul 2010
description: This system allows users to define a workflow to collect accounting information of customers and then generate some invoices based on the received information. It provides a dynamic workflow system that allows for defining custom accounting processes.
associated_with: Self-employed
stack: [c_sharp]
- title: Maritime Container Transportation Order and Management System
hide: true
date: Apr 2010 - Jun 2010
description: A workflow and order tracking system with an online payment gateway for managing maritime transportation businesses.
associated_with: Self-employed
stack: [c_sharp, asp_net]
- title: Custom-made Enterprise Report Builder
pdf_resume: true
date: Aug 2009 - Feb 2010
description: This project has started based on IRISL's need for a highly customizable report-building system. The customer was not able to produce their reports using off-the-shelf reporting software. This software was a set of tools, templating system, and integration with Microsoft Office Suite providing the flexibility customer needed and minimizing manual operations.
associated_with: Self-employed
stack: [c_sharp]
- title: Balanced Scorecard System
hide: true
date: Dec 2008 - Mar 2009
description: A balanced scorecard system built for IRISL shipping company which allows the managers to define and schedule projects, with the support of resource assignment for various data inputs, rescheduling, scoring, etc. It generates reports from different perspectives such as quantitative vs quality evaluations.
associated_with: Self-employed
stack: [c_sharp, silverlight]
- title: Persian Calendar Components for .NET 2.0 (Open Source)
hide: true
date: Nov 2008 - Dec 2008
description: An open source project which helps developers to support Persian calendar in Win applications containing various components such as Calendar, DatePicker, DatePickerColumn, etc.
associated_with: Self-employed
stack: [c_sharp]
- title: Automation of Municipality of Tehran Job Organization
hide: true
date: Apr 2008 - Sep 2008
description: This project automates the process of job organization under the supervision of the Municipality of Tehran. It supports tens of centers located all over the province. It includes a ticketing system that removes all the paperwork for processing requests from centers and corresponding communication between them and the Municipality.
associated_with: Self-employed
stack: [c_sharp, asp_net]
- title: Online Education System of Arak University of Medical Sciences
date: Apr 2007 - Jul 2007
description: An online education system with features like defining the exams, questions, exam registration, issuing certificates based on the exam results, etc. This system has been used to facilitate the process of physicians' continuous education supervised by the University of Medical Sciences in Arak.
associated_with: Self-employed
stack: [php, mysql]
- title: HEPCO After-Sales Services Software
hide: true
date: Feb 2006 - Apr 2006
description: Contributed as a software developer consultant in a team of 5 developers, to building the after-sales services software for HEPCO, the largest heavy equipment manufacturer in the Middle East. This company has 1,500 employees with an annual production capacity of 4,800 units.
associated_with: Behsad
stack: [pl_sql]
- title: 2D Cutting-Stock Problem Solving Software
date: Sep 2003 - May 2004
description: This software was the first of its kind which has been implemented in Iran. Using C++ and genetic algorithm we could reduce the waste in general 2D cutting-stock to less than 5%. I was the main developer in a team of 3, consisting of two academic researchers. This was my first commercial project and basically the start of my career.
associated_with: Behsad
stack: [c_c++]
- title: Boot loader (Personal Project)
pdf_resume: true
date: Nov 2001 - Dec 2001
description: A boot loader program written from scratch to run from a floppy disk, built using my home-grown text rendering library. It was an effort to develop a basic operating system. I learned about working with low-level IO, direct screen memory access handling, memory management, and re-implemented some functions of the C standard library since the original ones depended on MS-DOS.
stack: [c_c++, assembly]
education:
- university: Azad
location: Arak, Iran
degree: BSc in Computer Science
start: 2005
end: 2007
description: |
- Created a full-featured messenger system from scratch, including a custom binary protocol written in C++.
- Gave a few talks about Computer Networks & Socket Programming.
- university: Elmi-Karbordi
location: Arak, Iran
degree: AEng in Computer Software
start: 2003
end: 2005
description: |
- Developed a boot loader in an effort to develop a basic operating system. Learned working with IO, direct screen memory access handling, memory management (used linked-list data structure), re-implementing some functions of the C standard library from scratch.
- Was selected as the top 3 students to participate in ACM Asian regional contest.
- The youngest student attending this university at age 17.
stacks:
python:
title: Python
icon: devicon-python-plain
go:
title: Go
icon: devicon-go-original-wordmark
ts:
title: TypeScript
icon: devicon-typescript-plain
js:
title: JavaScript
icon: devicon-javascript-plain
scala:
title: Scala
icon: devicon-scala-plain
java:
title: Java
icon: devicon-java-plain
ruby:
title: Ruby
icon: devicon-ruby-plain
c_c++:
title: C/C++
icon: devicon-cplusplus-plain
html:
title: HTML
icon: devicon-html5-plain
css:
title: CSS
icon: devicon-css3-plain
technical_leadership:
title: Technical Leadership
# icon: fa-solid fa-people-group
icon: fa-solid fa-route
system_design:
title: System Design
icon: fa-regular fa-object-group
functional_programming:
title: Functional Programming
icon: devicon-haskell-plain
distributed_systems:
title: Distributed Systems
icon: fa-solid fa-network-wired
serverless:
title: Serverless
icon: fa-solid fa-server
tdd:
title: TDD
icon: fa-solid fa-vial-circle-check
oop:
title: OOP
icon: fa-solid fa-sitemap
solid:
title: SOLID
icon: fa-solid fa-cubes
agile:
title: Agile
icon: fa-solid fa-arrows-spin
kanban:
title: Kanban
icon: fa-brands fa-flipboard
spark:
title: Spark/PySpark
icon: fa-regular fa-star
django:
title: Django
icon: devicon-django-plain
fast_api:
title: FastAPI
icon: devicon-fastapi-plain
flask:
title: Flask
icon: devicon-flask-original
rails:
title: Rails
icon: devicon-rails-plain
play:
title: Play
icon: fa-solid fa-play
akka:
title: Akka
icon: fa-solid fa-mountain
vue:
title: VueJS
icon: devicon-vuejs-plain
react:
title: React
icon: devicon-react-original
linux:
title: Linux
icon: devicon-linux-plain
docker:
title: Docker
icon: devicon-docker-plain
aws:
title: AWS
icon: devicon-amazonwebservices-original
cdk:
title: CDK
icon: fa-solid fa-cubes
kubernetes:
title: Kubernetes
icon: devicon-kubernetes-plain
terraform:
title: Terraform
icon: devicon-terraform-plain
selenium:
title: Selenium
icon: devicon-selenium-original
postgres:
title: Postgres
icon: devicon-postgresql-plain
mysql:
title: MySQL
icon: devicon-mysql-plain
mongodb:
title: MongoDB
icon: devicon-mongodb-plain
kafka:
title: Kafka
icon: devicon-apachekafka-original
etl:
title: ETL
icon: fa-solid fa-faucet-drip
pytorch:
title: PyTorch
icon: devicon-pytorch-original
devops:
title: DevOps
icon: fa-solid fa-gears
assembly:
title: Assembly
icon: fa-solid fa-terminal
php:
title: PHP
icon: devicon-php-plain
pl_sql:
title: Oracle PL/SQL
icon: devicon-oracle-original
wpf:
title: WPF
icon: devicon-windows8-original
c_sharp:
title: C#
icon: devicon-csharp-plain
asp_net:
title: ASP.NET
icon: devicon-dot-net-plain
silverlight:
title: Silverlight
icon: devicon-dot-net-plain
fortran:
title: Fortran
icon: fa-solid fa-f
certificates:
- title: Stripe Certified Professional Developer
date: Jul 2023
source: Stripe
url: https://stripecertifications.credential.net/540532dd-2fdb-4b51-8df7-32c9d617b029
description: "Credential ID: 76849733"
- title: Neural Networks and Deep Learning
date: Sep 2017
source: Coursera
url: https://www.coursera.org/account/accomplishments/verify/UQH3GDCTTGTH
description: "License: UQH3GDCTTGTH"
- title: AWS Certified Developer
date: Jun 2017
source: AWS
description: "License: F4YBGRB2KNV11PWB"
- title: Principle of Reactive Programming
date: Dec 2013
source: Coursera
description: "Accomplishment with distinction"